How to Keep the Same Character Across AI Video Shots
Keep the same character across AI video shots using reference images, first frames and last-frame continuation in Seedance 2.5, Wan 3.0 and Kling 4.0.
The fastest way to lose an audience in an AI short drama is a lead whose face changes between shots. Viewers forgive a soft background or an odd prop. They do not forgive a hero who looks like a different actor after every cut.
Keeping the same character across AI video shots is not one trick. It is three techniques used together, each covering a different gap:
- Reference images tell the model who the character is in every shot.
- Image-to-video pins the exact first frame, so a shot starts from a face you approved.
- Last-frame continuation carries the end of one shot into the start of the next, so a continuous action does not jump.
This guide shows all three on Seedance 2.5, Wan 3.0 and Kling 4.0, with the settings each model page lists. If you would rather work in a guided interface, Influencer Studio lets you create one character and then make photos and videos of them.
Start with a character sheet, not a prompt
Every consistency problem gets worse when the character only exists as a paragraph of text. Before you generate any video, build a reference pack per character:
- One hero portrait. Front-facing, eyes visible, even light, plain background, shoulders up. This is the image you pass to every reference slot.
- One full-body image in the episode’s wardrobe, if the character moves through the frame.
- One written character block that you paste into every prompt unchanged.
Keep them together in one folder per character, with the written block in a plain text file next to the images, so every prompt copies from the same source. A character block for our example series looks like this:
MARA: woman in her late 20s, copper chin-length bob, freckles, dark green canvas apron over a cream knit sweater, small silver hoop earrings.
JUN: man in his early 30s, short black hair, light stubble, bright yellow rain jacket, grey delivery bag across the chest.
Two rules matter more than the details. First, never paraphrase: “copper bob” in one prompt and “short auburn hair” in the next describes two different people. Second, keep wardrobe fixed per episode. If Mara changes her sweater mid-episode, make a new reference image for the new outfit rather than describing the change.
Reference images with busy backgrounds, heavy shadows or partly hidden faces give the model less to hold on to. Kling 4.0’s prompting guide says it directly: use clear, well-lit reference images where the subject is easy to recognize.
Technique 1: Reference images in every shot
All three models take multiple reference images and let you say in the prompt which one is which. The syntax differs slightly, so copy it exactly:
| Model page | Reference limits | How to point at a reference |
|---|---|---|
| Seedance 2.5 Text-to-Video | Up to 30 images, 10 videos and 10 audios (videos and audios up to 30 s in total each) | @Image 1, @Video 1, @Audio 1 |
| Wan 3.0 Reference-to-Video | Up to 10 images, 5 videos, 5 audios | Image 1, Video 1, Audio 1 |
| Kling 4.0 Reference-to-Video | Up to 10 images, 5 videos, 3 audios | @Image1, @Video1, @Audio1 |
References are numbered in the order you upload them. Keep the same order across a whole episode (for example: image 1 is always Mara, image 2 is always Jun, image 3 is the location) so you never have to rethink the numbering.
A two-character shot on Seedance 2.5:
Mara from @Image 1 and Jun from @Image 2 stand across the counter of the flower shop from @Image 3, night drama, medium two-shot at eye level.
0-3s: Mara slides a bouquet across the counter without looking up.
3-6s: Jun hesitates, then takes it; she finally meets his eyes.
Keep both faces and outfits exactly as in the references. Warm shop light, rain on the window behind them, soft rain ambience, no music, no subtitles.
Settings: aspect_ratio 9:16, resolution 480p for drafts, duration 6, generate_audio true.
The same shot on Kling 4.0 Reference-to-Video, which uses the compact @Image1 form:
The woman from @Image1 slides a bouquet across the counter of the flower shop from @Image3 to the man from @Image2. He hesitates, then takes it, and she finally meets his eyes. Medium two-shot, slow push-in, warm shop light, rain on the window, soft rain and a distant car passing.
Settings: aspect_ratio 9:16 (or auto to follow the references), resolution 720p, duration 6.
On Wan 3.0 Reference-to-Video the prompt reads the same way with “Image 1” and “Image 2”. Wan’s model page also suggests explaining how each reference should influence the result, for example “use Image 1 for the face and outfit only, ignore its background”.
For a model-specific deep dive, see how to improve Seedance 2.5 character consistency, is Wan 3.0 good for character consistency and Kling 4.0 reference-to-video.
Technique 2: Pin the first frame with image-to-video
References describe a character; a first frame shows the exact face, pose, light and framing the shot starts from. When a shot must match a still you already approved (a poster, a thumbnail or the end of a previous shot), use image-to-video:
- Seedance 2.5 Image-to-Video:
image(start frame) and optionallast_image. There is no aspect ratio setting; the output follows the start image, so give it a vertical image for 9:16. - Wan 3.0 Image-to-Video:
imageand optionallast_image, with an optionalaspect_ratiothat otherwise adapts to the input image. - Kling 4.0 Image-to-Video:
image, optionallast_imageand up to 8 in-betweenkeyframes. The prompt can even be empty.
The most reliable pattern is to make the first frame with an image model from your character reference, approve it, and only then animate it. Keep the image-to-video prompt about motion, not appearance. The face is already in the frame; describing it again invites the model to “correct” it.
She looks up from the flowers toward the door, her expression shifting from tired to wary. Slow push-in. The door bell rings off screen. Rain ambience.
When you know both where a shot starts and where it ends, set a last frame as well. Wan 3.0 has a full write-up in Wan 3.0 first and last frame with native audio, and Kling 4.0’s keyframes are covered in how to use Kling 4.0 keyframes.
Technique 3: Last-frame continuation
Long continuous actions (Jun walking from the street into the shop and up to the counter) are where faces drift most. Split the action into shots and chain them through their frames:
- Generate shot A.
- Open shot A in your video editor or player, move to the last frame and export it as a PNG (most editors call this “export frame” or “save still”; on the command line,
ffmpeg -sseof -1 -i shotA.mp4 -update 1 last.pngwrites the final frame). If the very last frame is blurred by motion, step back a few frames to a sharp one and trim shot A to match in the edit. - Use that frame as the
imageof shot B in image-to-video. - Repeat for shot C.
Because each shot starts on the exact pixels the previous one ended on, the cut is invisible and the face carries over. Add the character reference to your prompt wording as usual, but let the frame do the identity work.
There is also a one-step version. Video-extend models continue a clip from its last frame:
- Seedance 2.5 Video Extend appends a 4 to 30 second continuation and uses the last 30 seconds of the input as context.
- Wan 3.0 Video Extend continues a video while preserving the source clip and its audio, with optional last-frame guidance.
- Kling 4.0 Video Extend appends a 3 to 30 second segment from the last frame, optionally steering toward a
last_image, and returns the original and the new segment joined.
Use extend when the camera keeps rolling. Use an exported last frame plus image-to-video when you want a cut, a new angle or a different model for the next shot.
A consistency checklist per shot
Before you accept a take, check it against the reference pack, not against the previous take:
- Same face shape, hair color and length, and distinguishing marks (Mara’s freckles, Jun’s stubble).
- Same wardrobe, including small items like earrings and the bag strap.
- Same relative height when two characters share the frame.
- Hands and props that match the previous shot’s end state.
If a take drifts, change one thing at a time: shorten the shot, simplify the action, move the camera less, or switch the shot to image-to-video with an approved first frame. Fast motion and big turns of the head away from camera are the most common causes of drift.
How this fits the rest of the episode
Consistency is step 2 of the five-step workflow in our complete AI short drama guide. Dialogue close-ups have their own extra challenge, the mouth, which we cover in AI lip sync dialogue scenes with Seedance 2.5.
FAQ
How many reference images should I use per character? One clear portrait is often enough; add a full-body image when the character’s outfit is visible. More images only help if they show the same look. Mixing different hairstyles or outfits confuses the model.
Should I describe the character in the prompt if I give a reference? Point to the reference and keep a short, fixed description for wardrobe and key features. Seedance 2.5’s prompt guide notes that when a reference is already accurate, you can just point to it without describing it in detail.
Why does my character change when they turn around? The model has less information about angles the reference does not show. Add a three-quarter or profile reference image, or keep the camera on the side of the face your reference covers.
Can I keep a character consistent across different models? Yes, if the identity lives in your images rather than in one model’s memory. Use the same reference pack and the same approved first frames on Seedance 2.5, Wan 3.0 and Kling 4.0.
What resolution should I use for reference images? Use a clear, sharp image where the face fills a good part of the frame. A tiny face in a wide shot gives the model too little to work with.
Ready to cast your series? Build the reference pack, then generate your first shot in the video generator with Seedance 2.5, Wan 3.0 or Kling 4.0.
/filters:quality(82)/media/images/1773962750383987480_n3hqzHRZ.webp)