The first generated shot in a real timeline is a small ambush. It cut together fine on the laptop, then the client screening copy comes back washed out, or the sync drifts eleven frames by the end of the scene, or the “4K” deliverable spec meets a file that was 720p wearing an upscale. None of these are model problems. They’re container problems, and they’re all fixable in about the time it takes to read this guide. This is the technical half of moving from playing with generators to delivering with them; the business half (who owns what, which service to even use) lives in the Sora piece and the tool guides it links.
Last updated: August 2026. Some links below are affiliate links; buying through them supports the site at no cost to you. Export specs below were verified against vendor documentation in early August; these change with model releases, so treat the inspection workflow as the durable part.
TLDR
If you just want the answer: every consumer generator hands you an 8-bit H.264 MP4 unless you pay for better, the color tags inside those files are unreliable, and the frame rates don’t match each other (Hailuo runs 25fps, Veo and Luma 24, Kling 30). So the workflow is: inspect every file before import, transcode to an intermediate codec once, fix the gamma tag at that step, and conform the cadence deliberately instead of letting your NLE guess. Ten minutes of hygiene per batch, and the ambushes stop.
Step one: know what the file really is
Here’s the uncomfortable fact this whole guide rests on: no major generator documents the bit depth, chroma subsampling, or color tagging of its exports. Not one. The practical reality is consumer H.264, 8-bit, 4:2:0, in an MP4, but “practical reality” isn’t something to build a delivery on, so the durable skill is a ten-second inspection. Open the file in MediaInfo (free, every platform), or run ffprobe -show_streams on it, and read three lines: the frame rate (and whether it’s constant), the bit depth and chroma, and the color metadata (primaries, transfer, matrix). Everything else in this guide branches off what you find there.
The one meaningful exception to the MP4 monoculture: Runway exports ProRes 4444 on its Pro plan and up, which skips half this article’s problems at the source. If gen-AI is becoming a regular part of your paid work, that export option alone is an argument for the tier.
The gamma shift: why your shot looks washed out
Inside every H.264 file are three little numbers (the NCLC tags: color primaries, transfer function, matrix) telling the player how to interpret the pixels. When they’re set to the standard Rec.709 triplet, life is fine. When they’re missing or “unspecified,” every app along your chain guesses, the guesses disagree (QuickTime’s history with gamma makes macOS the worst offender), and your shot picks up that famous lifted, washed-out look somewhere between the generator, the NLE viewer, and the export. Generated files ship with inconsistent tags, sometimes varying between two files from the same service on the same day. Check, don’t trust.
The Resolve fix: right-click the clip, set Input Color Space to Rec.709 (or Rec.709-A for QuickTime-tagged oddballs); in a color-managed project that one attribute ends the argument. On a Mac, also visit Preferences and enable “Use Mac display color profiles,” which aligns the viewer with what QuickTime Player shows you.
The Premiere fix: two doors. Per clip: Modify, Interpret Footage, Color Space Override, set Rec.709. Globally: Settings, Color, and set the Viewer Gamma to match your delivery target (2.4 for broadcast-style QC, 2.2 or the QuickTime 1.96 for web-preview matching). If your exports look different in QuickTime than in your Program monitor, this setting is almost always the whole story.
The permanent fix: retag the file itself, losslessly, so every downstream app reads it the same way: ffmpeg -i in.mp4 -c copy -bsf:v h264_metadata=colour_primaries=1:transfer_characteristics=1:matrix_coefficients=1 out.mp4. No re-encode, two seconds per file, and the guessing ends everywhere at once. Fold it into the same batch step as the transcode below and it costs you nothing.
The cadence trap: 24 meets 25 meets 30
Generators do not agree on frame rate. Veo and Luma generate at 24. Runway does 24 or 25 depending on settings. Kling ships 30. And Hailuo generates at 25fps, PAL cadence, which lands in your 23.976 timeline and either plays 4% slow-motion-ish after a naive conform or judders through a blend. On a single 8-second insert nobody may notice. On dialogue, on music, on anything cut to rhythm, you’ll notice.
Decide the conform per shot, on purpose. For an atmosphere or B-roll shot, a straight retime (interpret 25 as 23.976) is invisible and clean. For anything with generated motion you care about, use optical-flow retiming (Resolve’s Speed Warp, Premiere’s Optical Flow) and eyeball the result at 100% zoom for warping artifacts. And when a generated clip claims variable frame rate in your MediaInfo check (rare from the big services, common from screen-recorded workarounds), fix it before import with ffmpeg -fps_mode cfr -r 24 or a ProRes transcode; Premiere in particular cannot conform VFR reliably inside the project.
One transcode to rule the batch
Put it together and the working recipe is one batch step the day the shots come in: transcode every generated MP4 to ProRes 422 (or DNxHR SQ on Windows-heavy pipelines), retag Rec.709 in the same pass, conform the cadence, and file the originals away as camera-negative-you-never-touch. Yes, the intermediate files are bigger. They also scrub properly on the timeline, grade without 8-bit banding falling apart quite as fast, and survive the NLE swap when a client’s finishing house asks for a Premiere project and your shots came from a Resolve pipeline. Our proxy workflow guide covers the storage math if drive space makes you hesitate.
Getting to 4K without lying about it
Most generated masters are 720p or 1080p, and most 2026 delivery specs are not. Three legitimate paths up. The generators’ own upscalers (Runway’s one-click 4K) are trained for their own output and are the fast path. Resolve Studio‘s Super Scale (2x with the Enhanced options) is the free-with-Studio path and lives right in Clip Attributes. And Topaz Video is the dedicated tool when the shot deserves a real pass; it went subscription-only and runs $59 a month now, so it makes sense as a project-month subscription rather than a shelf tool, and note its license caps commercial use at organizations under $1M revenue. Whichever path: upscale after the grade-prep transcode, before the grade, and label the deliverable honestly if the client asks what was native.
The spec sheet (as shipped, early August 2026)
| Tool | Native res | fps | Max clip | Format | Watermark |
|---|---|---|---|---|---|
| Runway Gen-4.5 | 720p (+4K upscale) | 24/25 | 10s | MP4; ProRes 4444 on Pro+ | Free tier only |
| Kling 3.0 | 1080p, 4K on 3.0 | 30 | 15s | MP4 | Free tier only |
| Veo 3.1 | 1080p / 4K | 24 | 8s (+extend) | MP4 with audio | SynthID always; badge most plans |
| Hailuo (H3) | 1080p / 2K | 25 | 15s | MP4 | Free tier only |
| Luma Ray3 | 1080p (+4K) | 24 | 10s (ext. ~30s) | MP4; EXR/HDR via API | Free and cheapest paid tier |
Bit depth is deliberately absent from that table because no vendor publishes it; assume 8-bit 4:2:0 until your MediaInfo check says otherwise. Luma’s API-only EXR/HDR path is the one true exception in the field and the reason it keeps a seat at this table despite the watermark policy.
The checklist
- Download masters the day you generate them (services sunset; the Sora piece is the cautionary tale).
- MediaInfo every file: rate, depth, tags.
- Batch: transcode to ProRes/DNxHR + retag Rec.709 + conform cadence.
- Originals archived untouched; intermediates on the timeline.
- Upscale after transcode, before grade; label native res honestly.
- Check the export on a second player (QuickTime AND the browser) before it goes to the client.
And that’s it! The generators will keep changing; the containers, tags, and cadence math change much slower, which is why the inspection habit is the part worth learning. This is the pipeline I’d run for any mixed-source timeline, generated or not… AI shots just concentrate every mixed-source problem into one folder. Corrections and new tool specs welcome in the comments; the table above gets re-verified when the models turn over.

