fun(frame_results: table[], max_tags?: number):tableCombine per-frame AI results into one metadata map.
fun(input_path: string, output_stem?: string, frame_count?: number, image_extension?: string):table[]|nil, string?Evenly-spaced sample frames.
fun(video_path: string):table|nil, string?Probe a video for format/duration/codecs/dimensions.
fun(input_path: string, output_path: string):table|nil, string?Transcode to an mp4 or webm proxy.
fun(input_path: string, output_path: string, time_offset?: string|number):table|nil, string?Single-frame video thumbnail.
fun(image_path: string):table|nil, string?Probe an image for format/dimensions/dpi/size.
fun(pdf_path: string):table|nil, string?PDF document metadata (title, pages, dimensions, ...).
fun(pdf_path: string, output_path: string, density_dpi?: number):table|nil, string?First-page PDF thumbnail.
fun(image_path: string, output_path: string):table|nil, string?320x320 image thumbnail.
fun(path: string, extension?: string, output_path: string):stringBuild a <dir><stem>-Proxy.<ext> path.
fun(path: string, extension?: string, output_path: string):stringBuild a <dir><stem>-Thumbnail.<ext> path.
fun(total_seconds: number):stringSeconds -> HH:MM:SS.mmm.
fun(total_seconds: number):stringSeconds -> filename-safe HH-MM-SS_mmm.
fun(path: string):string|nilLowercase extension without the dot.
fun(parts: (string|nil)[]):stringJoin command parts with spaces, dropping nils.
fun(dst: table, src: table, prefix?: string)Copy src into dst, stringifying values (for save_techical_metadata).
fun(s: string|nil):number|nilParse a byte count with B/K/M/G suffix into bytes.
fun(s: string|nil):number|nilParse the leading number from a string.
fun(value: string|nil):number|nilParse "num/den" or a plain number.
fun(cmd: string):string|nilRun a command, return stdout (nil + logs stderr on failure).
fun(cmd: string):booleanRun a command for its side effects; true on success.
fun(path: any):stringSingle-quote a value as one safe shell argument.
fun(path: string):string, string|nilSplit a path into filename stem and extension.
fun(value: any):stringTrim surrounding whitespace.