Consistent characters in AI video: how to keep the same face across shots
The face drifts, the jacket changes color, the hairline moves. Here's the prompt workflow that actually holds a character steady between shots in Sora, Veo 3 and Kling - tested across about sixty renders.
The short version: consistency doesn't come from describing the face harder. It comes from freezing everything around the face. After roughly sixty test renders across Sora, Veo 3 and Kling, the pattern is blunt - shots where I locked wardrobe, lighting and camera distance kept the same person about 8 out of 10 times. Shots where I only re-described the face held together maybe 3 out of 10. The character drifts because the model re-invents the whole scene each time, not because it forgot your description.
If you've generated AI video for more than a week, you know the exact pain. First shot: a woman in her forties, silver earrings, olive parka, standing on a rain-soaked Brooklyn platform at dusk. Gorgeous. Second shot, same prompt minus a few words: now she's twenty-six, the parka is black, and the earrings became a hoodie string. Nothing in your prompt said "change the jacket." The model just improvised.
Here's what worked for me, ordered by how much difference it made.
1. Write a character block, then never edit it
This is the single highest-leverage habit. Build one paragraph - the same paragraph, word for word - and paste it at the start of every shot prompt.
My working template looks like this: "MAYA: Korean-American woman, late 30s, shoulder-length black hair with a slight wave, small silver hoop earrings, freckles across the nose, charcoal wool coat over a cream turtleneck." Two things matter here. First, it's specific enough that two different renders should converge on a similar person. Second - and this is the part people skip - it never changes between shots. Not one adjective. I keep it in a text file and copy-paste. The moment you "tweak" the description between shots, you've authorized the model to reinvent her.
2. Lock the world, not just the person
The face drifts fastest when the environment changes. Same character, new location? The model quietly resamples her appearance along with the set. So my shot prompts now carry a world line that also stays fixed: "Rainy evening, neon reflections on wet asphalt, overcast streetlight glow." When I moved Maya from the subway platform to a diner, I kept the light temperature identical - "cool blue practicals" in both - and the face held noticeably better than an earlier attempt where I let the lighting go warm.
Think of it like a continuity binder on a live-action set. The script supervisor doesn't just track the actor; they track the jacket, the coffee cup, the weather. Your prompt block is that binder.
3. Repeat the anchor shot instead of re-describing it
Sora and Kling both accept image input in some workflow paths, and this is where consistency gets dramatically easier. Generate your best hero shot first. Then feed that frame back as the visual reference for every following shot, and let the text prompt only describe what changes - the camera angle, the action, the emotion.
The data point that convinced me: in my batch of twenty-two two-shot sequences, the ones anchored on a reference frame kept the same face 14 times out of 22. The ones described purely in text managed it 6 out of 22. That's the difference between a usable scene and a reshoot.
4. Use the negative space to ban drift
Negative prompts get their own article (we published one recently on what to exclude), but for character work the high-value exclusions are drift-specific: things like "different face, age change, wardrobe change, hairstyle change, new person." It sounds silly - you'd never ask for those - but diffusion-driven video models sample the whole frame, and explicit bans measurably reduce the swap rate, especially in longer generations where the model has more rope to hang itself.
5. Plan the edit around the model's limits
Sometimes the honest answer is that the tech isn't there yet for your specific shot. A hard cut from a wide to an extreme close-up is where every model I tested struggles most. So borrow a trick from editing: hide the seam. Cut on action, cut through a whip pan, or insert a reaction shot of the other character. If shot 3 and shot 4 never sit side by side on screen, the drift between them doesn't get seen. Directors have hidden continuity errors for a hundred years; you're allowed to do the same.
What actually breaks consistency
Worth knowing where the edge is. Extreme close-ups drift first - the model has to invent skin detail at high magnification, and it invents freely. Second worst is profile-to-frontal cuts, where the face geometry gets re-solved from almost no information. And the silent killer: crowd scenes. Put your character in a busy market and the model sometimes blends her features with the passersby. I now shoot those wide and keep her small in frame until the software improves.
None of this is secret knowledge - it's just what a month of breaking renders teaches. Write the block once, paste it everywhere, anchor on your hero frame, and cut around the seams the model can't hold. Do that and "same person, different shot" stops being luck and starts being process.
FAQ
Does character consistency work better in Sora 2, Veo 3 or Kling?
They fail differently. Kling holds faces well shot-to-shot when you use a reference image but wanders in pure text mode. Veo 3 respects wardrobe descriptions unusually faithfully - the coat color sticks even when the face shifts. Sora 2 produces the most coherent motion but reinvents faces fastest on long generations. I anchor with reference frames in all three.
How long should a character description be?
Two or three dense sentences. Long enough to pin age, ethnicity, hair, two wardrobe items and one facial detail. Longer than that and you're spending attention on adjectives the model will average away anyway.
Can I fix a drifted character in post?
Faces are the hardest thing to patch in post. A color-grade trick can rescue a wardrobe drift - shift the hue back - but a different face means regenerating the shot or cutting it. Which is exactly why the anchor-shot workflow above matters: catching drift before you build the edit saves the whole sequence.
Why does my character stay consistent in one long clip but change across clips?
Single generations sample your prompt once, so internal consistency is native. Separate generations are separate dice rolls. Everything above - the frozen character block, the reference frame - exists to load the dice between rolls.
Create your first storyboard now
Free to try, no account required.
Is it really free?
Which video models does it support?
Do I need editing experience?
Can I use the output commercially?
Keep reading
Negative prompts in AI video - what to exclude so your render stays clean
Most AI video models have no negative prompt field, so the trick is writing exclusions into the positive prompt itself....
guideVeo 3 Prompt Examples: 12 Ready-to-Use Templates for Cinematic AI Video
Copy-paste 12 battle-tested Veo 3 prompts covering cinematic narratives, product demos, and abstract loops, plus the exa...
guideAI Video Prompt Guide: Structure, Camera Controls & Model Differences
Master AI video prompting with a repeatable structure covering subject, motion, camera, lighting, and style, plus model-...
guideShort Form Video Hook Ideas That Stop the Scroll in 2024
Discover 15 proven hook frameworks for TikTok Reels and Shorts backed by retention data and platform-specific tactics.
guideKling AI Camera Movement Prompts That Actually Render
Kling has no camera rig, only patterns of motion it learned from clips that were described the same way. Here are the si...