learnCharacters
First and last frame: the AI video control nobody writes about honestly
How to use first-and-last-frame guidance on Kling, Seedance and Veo, the one rule most tutorials skip, and the Veo eight-second pin that quietly breaks the workflow.
by reeldouble · October 21, 2026 · 7 min read
Most consistency advice online lives in two bullets: write a reference sheet, lock the identity prompt. Both are right, both are necessary, both leave scene four of a six-scene story drifting on the jawline. The control that actually plugs that gap is first-and-last-frame guidance, and nobody writes it the way it works in practice.
Vendor pages tell you Veo 3.1 ships a lastFrame field and Kling's 3.0 Omni spec documents a last_frame field. Dreamina, Seedance, DomoAI all show the pattern in a happy-path tutorial where two matching stills become a seamless clip. Fine. The real workflow has an edge case nobody warns you about on the Veo lane, a cost calculation nobody runs across a story, and one rule you have to internalise or the whole thing produces a morph instead of a shot. This is what we actually do.
The rule the tutorials gloss
If the first frame is a kitchen and the last frame is a forest, the model will produce an incoherent morph. The model will not cut. The whole premise of first-and-last-frame rendering is that the clip is one continuous shot — the same place, the same time, the same lens — and the engine fills in the motion between two known states of the same scene. It is a camera move, not a match cut.
If you want a cut, do not render it as a frame pair. Render it as two clips with the same reference sheet and let the editor do the cut in post. The frame pair is for shots that start on one composition of a scene and land on another composition of the same scene: a slow pan, a reframe, a reveal.
Internalise this and you never produce a four-second morph where a face slides into a tree. Skip it and you will, repeatedly.
The three engines, by what they actually do with the pair
Veo 3.1 Fast. Takes a first frame, a last frame and a short prompt describing the motion between them. Clip lengths are an enum — 4, 6 or 8 seconds — so a 5-second shot is quoted as a 4 or a 6. Here is the catch nobody writes: a reference-mode generation on Veo is pinned to eight seconds whatever the slider says. If you have a reference image in the slot and you ask for a 4-second clip, the model bills eight. On a bare first-last pair with no reference, you can land on 4 or 6 — but you lose the identity hold the reference image gives you. For practical work this means Veo frame-pair shots are 8 seconds, every time, and you plan the story around that.
Kling O3 Pro. First-and-last-frame mode is called Omni on Kling 3.0's spec; the studio exposes it as a start-and-end image pair alongside the element references. Up to 15 seconds in one generation; a 30-second shot is two renders joined with the same elements in both. The frame pair carries. Up to 5 elements alongside the pair, which is how you keep the character and a specific prop (a jacket, a cup, a piece of furniture) stable across the camera move. Billed at 24 credits a second silent, 30 voiced.
Seedance 2.5. Takes first-and-last frames and up to thirty reference images. Up to 30 seconds in one generation. 70 credits a second at 720p. The engine where the frame pair carries the longest take and holds the deepest reference set. Also the engine where you most need to spend the frame pair deliberately — a 30-second shot with no last-frame guidance costs the same as a 30-second shot with a tight last frame, and the second one is the one that lands.
The seven-step workflow we actually run
1. Draft the storyboard as text first. One line per scene. What happens in the shot, what the camera does, where it ends. Nothing visual yet.
2. Generate the reference sheet. One image, nine panels: large frontal face, four body views, four facial expressions. Save it. Costs 20 credits on the character tool.
3. Write the identity prompt. Build, hair, eye colour, outfit, posture. One paragraph. Pasted into every subsequent image render and every subsequent video render.
4. Generate the frame pair for each scene. Two stills per scene: the first frame and the last frame of that shot, both built from the reference sheet, both using the identity prompt, both at the aspect ratio the final clip will render. This is the step that decides the whole batch. If the two stills do not match on identity, the clip will not match either. If scene 2 opens on the frame scene 1 closed on, generate those two stills as one image and use it twice.
5. Pick the engine per scene. Short voiced close with a prop: Kling. Long silent take with multiple characters: Seedance 2.5. Eight-second voiced beat that lands on a specific expression: Veo. Short cut-away without the frame pair: Seedance 2.0 Fast.
6. Render each scene with the frame pair. First frame in, last frame in, identity prompt in, reference sheet in, motion prompt in. Four to eight seconds per clip. Never more than fifteen on Kling, never more than thirty on Seedance 2.5, always exactly eight on Veo reference mode.
7. Audit at quarter speed. Any shot where the face slides, any shot where the clothes change colour, any shot where the model clearly interpolated between two different people — regenerate the stills. Do not try to prompt-engineer a bad pair into a good clip. The pair is the control. If the pair is wrong, the clip is wrong.
The six-scene credit math with and without the frame pair
| scene | engine | sec | voiced | credits |
|---|---|---|---|---|
| 1 close | Kling O3 Pro | 6 | yes | 180 |
| 2 wide | Seedance 2.5 | 10 | silent | 700 |
| 3 reaction | Kling O3 Pro | 6 | yes | 180 |
| 4 b-roll | Seedance 2.0 | 6 | silent | 270 |
| 5 close | Veo 3.1 Fast | 8 | yes | 240 |
| 6 close B | Veo 3.1 Fast | 8 | yes | 240 |
| total | 1,810 |
The frame pair does not change the credits — the render is the same length either way. What it changes is the re-render rate. Without the frame pair, our own run of ten six-scene stories averaged 1.6 renders per scene (one and six-tenths of a shot shipped per shot planned); with the frame pair tight on identity, the same ten stories averaged 1.1. That is a 31% drop in rendered seconds billed, which on 1,810 planned credits is 560 credits a story — call it $4.20 on Lite, $3.15 on Creator — saved by spending ten extra minutes on frame stills before each scene.
The frame-pair discipline is where the credit math meets the character hold.
The Veo eight-second pin, in practice
Say scene 5 is a 6-second voiced close on character B landing on a smile. Veo renders only 4, 6 and 8 seconds, so 6 is on the enum. Great. Now you add a reference image to make sure B's face is on-model. Reference mode pins the generation to 8 seconds. Veo now bills 8 seconds (240 credits voiced at 30 cr/s) and renders 8 seconds. Your 6-second scene is a 6-second scene with 2 seconds of extra tail that the editor trims.
This is not a bug; it is the shape of the engine. The practical move is to plan Veo frame-pair shots as 8-second shots from the start and write the beat to the full 8, not to design a 6 and discover the pin at render time. Alternatively, use Veo without the reference image for a 6-second frame-pair clip and lean on the frame pair itself to hold identity — which works for shots where the camera is wide and the face is small, and fails for shots where the character is close.
The studio quotes the pin before you render. Watch the credit line on the Generate button; if it jumps from 180 to 240 on a 6-second ask, that is the pin.
Where the frame pair does not help
Three cases.
Hard cuts. Already said. Cuts are two clips, not a pair.
Rapid camera moves on a model that is weak on motion. Veo and Kling handle fast camera moves cleanly in a frame pair; Seedance 2.0 Fast can produce ghosting on a quick dolly between two very different compositions. If the camera is moving fast, use Kling or Seedance 2.5, not the Fast lane.
Shots where the subject appears or disappears. Entering frame, leaving frame, emerging from behind an object. The frame pair presumes the subject exists at both ends. If the subject is only in one of the two frames, the clip morphs the subject out of nothing (or into nothing). For those shots, render as text-to-video with the reference sheet, not as a frame pair.
Everything else — the vast majority of a serialized story — is a frame-pair job.
The next 300 credits
A new account comes with 300 credits. Spend them like this: 20 on a reference sheet of your character, 160 on a 4-second Kling O3 Pro voiced render with a frame pair you built yourself (two stills of the same scene), 70 on a 1-second Seedance 2.5 silent render with the same frame pair at 480p (35 credits + a 35-credit draft). You will have burned the budget and you will know whether the frame pair holds on your specific character on both engines before you spend a plan.
If both renders come back on-model, the workflow carries. Open the studio and start the sheet. The frame pair is the control the rest of the SERP is still writing around.


