Finish and conform
A generated clip isn’t ready to play: it’s at the workflow size, carries padding frames, and the raw output carries a preview sound. Finishing makes it match how Prime plays your episode.
Download this guide as Markdown (for your AI agent)
Version 1 (2026-10-15): the same steps as this page, with every download’s link and checksum. sha256 702fb304784f2723faf7611b54941fd59e8dd58917b6178b4bc7657dc6198cf6, also in the manifest.
What to match
| Property | Match it to |
|---|---|
| Frames | Keep every generated frame and play them 1:1 at the episode’s frame rate (23.976 for most US TV, 25 for PAL titles, 29.97 where stated; segment.json shows the rate). Trim the padding off the end. Exception: new footage with its own generated sound stays at 23.976, and is converted to 25 by repeating frames |
| Size | The pixel size of your Start still (first-frame.png). Scale and crop to fill it; never add black bars |
| 4:3 shows | Work at a 4:3 size and deliver at the 4:3 Start-still size. Crop, never squeeze |
| Sound (a changed shot) | The original sound of your cut shot. The model’s sound is made up, or a copy |
| Pictures (a changed shot) | The model’s own pictures, trimmed to your shot. Paste-back is only for the crop route, which does it inside its workflow |
| Sound (new footage) | The clip’s own sound, leveled to the episode (our inserts aim for about −23 LUFS), exactly as long as its picture |
| Loudness | A changed shot (a swap or a rebuild) keeps the sound as recorded: no loudness change, and no target. Fix a quiet recording by recording again at 100% / 0 dB. New footage is the exception: its own sound is leveled to the episode (about −23 LUFS) |
| File | H.264 + AAC MP4, at least 5 seconds to submit (1.5 s for a local pack made outside the builder, with extension 0.64.3 or later). A keyframe every second is optional: it makes seeking into the scene faster |
The workflows
- A changed shot (Swap a person, Rebuild a shot, Rebuild with actors): the finish workflow (
seamless-finish.json, download):- load your generated part in Generated part and your cut shot in The cut source;
- set Scale to the Start still size.
- It keeps your shot’s frame count, plays every frame at its rate, and puts its sound back, padded or trimmed to exactly the picture’s length, at 48 kHz.
- New footage (Add new footage): the add-a-scene finish workflow for your episode’s shape (16:9:
seamless-add-scene-finish.json, download; 4:3:seamless-add-scene-finish-4x3.json, download). It covers and center-crops to the Start still size, sets the level, and delivers 48 kHz sound exactly as long as the picture. - 25 fps (PAL), new footage: replace 5.160 with the new frame count ÷ 25 (124 frames become 129).
ffmpeg -i finished.mp4 -vf fps=25 -af "aresample=48000,atrim=end=5.160,apad=whole_dur=5.160" -c:a aac -ar 48000 finished25.mp4 - Optional ffmpeg for a keyframe every second, joining parts, or 29.97 film (replace
Nwith your part’s frame count):ffmpeg -i part1.mp4 -i src.mp4 -filter_complex "[0:v]trim=end_frame=N,setpts=N/(24000/1001)/TB,scale=1280:720:flags=lanczos,setsar=1[v]" -map "[v]" -map 1:a -af apad -r 24000/1001 -c:v libx264 -crf 17 -pix_fmt yuv420p -g 24 -keyint_min 24 -sc_threshold 0 -c:a aac -b:a 192k -shortest swap.mp4ffmpeg -i swap.mp4 -vf fps=30000/1001 -c:v libx264 -crf 17 -pix_fmt yuv420p -g 30 -keyint_min 30 -sc_threshold 0 -c:a copy swap-2997.mp4
Joining pieces
- Every piece the same size: a join resizes everything to the first piece.
- Each piece’s sound exactly as long as its picture: sounds add up end to end, so 24 ms extra per piece put a later scene’s sound 72 ms late in our test.