Upgrade offerSave 20% on Pro · View plans
VidVid.tv

Practical AI video guidance

Check an AI Video File Before Editing or Delivery

Inspect an AI video file with ffprobe: a real sample audit, resolution, frame rate, duration, audio and a reusable delivery manifest.

Updated

Create with VidVid

A generation setting describes what you requested. A downloaded file tells you what you actually have to edit and deliver. Before comparing models or sending a clip to an editor, inspect the exact file for dimensions, frame rate, duration and audio streams, then keep that record with its version.

This guide includes a reproducible metadata inspection of one archived VidVid public sample. It is a file audit, not a new generation test or a model quality ranking. Metadata cannot establish visual fidelity, natural motion or usable sound; those still require playback review.

Inspect the file you will actually deliver

Keep the downloaded file separate from trimmed, resized and captioned exports. Give each a distinct filename. Otherwise a later export can silently replace the evidence you meant to inspect.

Use FFmpeg’s ffprobe, an external command-line tool installed on your computer. It is not a VidVid generator control. The official ffprobe source documentation describes stream and container inspection and JSON output. This command reads the media and prints selected fields without transcoding it:

ffprobe -v error -show_entries stream=index,codec_type,codec_name,width,height,avg_frame_rate,r_frame_rate,duration,nb_frames,sample_rate,channels:format=duration,size,format_name -of json -i "clip-original.mp4"

Replace the filename with your local file. To keep the output, append > clip-original.metadata.json, choosing a new output name so you do not overwrite an earlier record. If the command fails, retain the error and check the path and file before interpreting missing fields. Some formats do not report every field; an absent frame count is not a count of zero.

A real archived sample: command, output and limits

On October 22, 2026, we inspected the existing public sample file with ffprobe 8.0.1. The filename is an archive label; this inspection does not independently verify its original generation request or provider provenance. You can inspect the raw JSON output alongside the file.

Field Observed value What this supports
Video stream H.264, index 0 The inspected video stream uses this codec
Encoded dimensions 1344 × 768 These are the reported encoded width and height
Average / reported base frame rate 24/1 / 24/1 Both fields report 24 frames per second
Video duration / frame count 5.166667 s / 124 The reported duration and frame count of this video stream
Container duration 5.167000 s The duration reported for the containing file
Audio stream AAC, 32000 Hz, 2 channels An audio stream with these properties exists
Audio duration 5.167000 s The reported duration of the audio stream
File size 743091 bytes The size of the inspected file

The sample’s SHA-256 is:

1f9822bb9838f42b57a5055fe4710a17513af4650050cd758cd7b11dc2eb0ec9

Use the hash to associate the record with those exact bytes. If your copy has a different hash, inspect that copy instead of assuming this table applies. A matching hash identifies the file; it does not establish ownership, generation provenance or quality.

Several conclusions would go beyond this evidence. The dimensions do not prove native detail or rule out upscaling. The two frame-rate fields do not prove constant frame timing, unique frames or smooth movement. An AAC track does not prove audible content, synchronization or lip sync. We did not make those measurements. This command also does not audit display rotation or sample aspect ratio, which can affect displayed geometry.

The small difference between video-stream and container duration should stay in the record as two values. It is not, by itself, evidence of a model failing its requested duration. Never read the audio stream’s 0/0 frame-rate entry as the video’s frame rate.

When requested settings and file properties differ

Before spending credits on another generation, identify which version you inspected and where the difference first appears. The following is an editorial troubleshooting workflow, not a promise about every provider’s output.

Situation Check next Decision before regenerating
Export dimensions differ from the request Compare the untouched download and the editor’s export If only the export changed, correct the export settings first
File duration differs from your timeline Compare container duration, video duration and timeline trim points Record which duration the delivery requirement uses; inspect the ending in playback
Audio is listed but nothing is heard Check playback, mute controls and the selected audio track Track existence alone cannot justify an audio-quality claim
Frame rate is reported as expected but motion stutters Play the clip and examine the affected time range Investigate visual duplication or motion defects separately from nominal frame rate
The untouched download appears inconsistent with the saved request Preserve the request, task reference, original bytes and probe output Use the evidence to investigate; do not guess the cause from the filename

For visual warping, flicker and identity drift, use the separate AI video artifacts guide. For camera and prompt comparisons, use the prompt iteration guide. A technically valid file can still fail either creative review.

Keep a file manifest with each handoff

Copy this template into your project notes. Fill it with observed values; leave unknown request details explicitly unknown. The fields are a suggested workflow, not an automatic VidVid export feature.

Project / shot:
File role: untouched download / edited export / delivery export
Filename and SHA-256:
Source task reference, if available:
Requested model and settings, if recorded:
Probe command / ffprobe version / inspection date:
Video stream index / codec / encoded dimensions:
Average frame rate / reported base frame rate:
Video duration / container duration:
Audio stream index / codec / sample rate / channels:
Visual and sound review: reviewer, time ranges, unresolved issues
Parent filename/hash and edit changes, for derived exports:
Delivery requirement and acceptance decision:

A replacement shot needs a fresh file record and a review of its neighboring cuts. See the storyboard and handoff workflow for the creative continuity checks. Keep original and delivery records together so an editor can trace which version was approved.

Does duration prove how many credits were charged?

No. File duration is a media property, not a billing receipt. Compare your saved request and the applicable pricing information with the actual transaction record. A trimmed export cannot establish the original generation settings or charge. This sample audit makes no billing or refund finding.

When choosing your next generation, review models by task, then use the VidVid workspace. Save the request settings before generation, inspect the downloaded file afterward, and approve delivery only after both technical and creative review.