Home › Guides › Character Consistency in AI Video: a Four-Layer Checklist to Stop Faces Drifting Across Episodes

Character Consistency in AI Video: a Four-Layer Checklist to Stop Faces Drifting Across Episodes

Faces drift because every video call is a fresh sample; the fix is a reference chain that never breaks. Work in four layers, lowest cost first: (1) appearance text an image model can redraw (face shape, brows, eyes, nose, lips, skin, hair, build, apparent age, one static anchor); (2) a white-background, neutral-light character sheet with a face crop; (3) the same reference files sent with every segment, within each model's cap (MiniMax H3 up to 9, Wan 3.0 up to 10, Kling 3.0 Omni up to 7, Vidu up to 7, Veo 3.1 up to 3); (4) storyboards that name the people in frame and carry over the previous end state. Debug in the same order.

The test: what consistent has to mean

Decide the pass/fail test before generating anything. A cast is consistent when every segment of every episode keeps each character's face structure, hair, build and default costume, and nobody appears who was not written into the shot. Check it the same way every time: put the face crop from the character sheet next to a paused frame from each segment and compare brows, eyes, nose, jaw and the static anchor. The four layers below fix drift in cost order, lowest cost first, and the same order is the order to debug in. For why models drift at all, see the consistency explainer; the definitions are in the glossary under character consistency.

Layer 1 — Appearance text: a template to copy

FieldWriteAvoid
Facelong narrow face, square jawhandsome, striking
Brows and eyesstraight thick brows, hooded dark-brown eyespiercing gaze
Nose and lipshigh narrow bridge, thin lipsperfect features
Skinfair skin, freckles across the noseflawless, porcelain
Hairshoulder-length black hair, centre partstylish
Build and age1.70 m, slim, looks about 30young, mature
Static anchor1 cm scar through the left eyebrowa warm smile (an expression)
Default costumegrey wool coat over a white shirtfashionable outfit

Anchors must be static. Write a habitual expression ("her eyes crinkle when she smiles") and the sheet is drawn smiling; every segment then opens on that smile. Leave out stance and gait as well: "leans forward" in a full-body sheet reads as a high camera angle. Costume vocabulary tied to a particular culture or period is understood unevenly across image models, so render one test sheet on your chosen model before committing a look.

Layer 2 — The character-sheet spec

  • Plain white background, stated as its own sentence and repeated in the exclusion list; buried inside another sentence it tends to be ignored.
  • Frontal full body, camera level at half the subject's height, feet and shoes visible.
  • Directional key light with fill and rim; flat, shadowless light makes skin look plastic.
  • Priority order: face, then posture, then costume. Never widen the frame to show clothes.
  • Neutral expression, no cinematic grade, no haze or light beams.
  • 9:16 at 2K-class resolution, so a face crop still has detail.
  • Export three files per look: full body, half body, face crop.
  • Several looks per character: keep one facial description, make one sheet per costume or hairstyle, and record which look each episode uses.

The sheet is a reference, not a poster: any mood lit into it is inherited by every shot and then fights the storyboard's lighting. More on the format: character sheet.

Layer 3 — Plan references per segment, per model

ModelReference images per callConstraints
MiniMax H3 (API)Up to 9First 5 free, then $0.04 each; any reference image, video or audio rules out a first or last frame
Wan 3.0 (Alibaba Cloud)Up to 10, plus up to 5 videos and 5 audio clips (each group 15 s total)Cite them in the prompt as Image 1, Video 1, Audio 1
Kling 3.0 OmniUp to 7 images or elements (4 when a reference video is used)One element combines up to 4 images of the same subject from different angles
Vidu (reference-to-video API)Up to 7 (viduq2-pro: up to 4 when a reference video is also sent)Cite subjects in the prompt as @name
Veo 3.1 and 3.1 Fast (Gemini API)Up to 3 (none on Veo 3.1 Lite)Clips must be 8 s long when references are used

A per-segment allocation plan, counting each character's full-body sheet and face crop plus one scene plate:

People in the segmentImages to sendFits
1Sheet + face crop + plate = 3Every model above, including Veo 3.1's three slots
22 × (sheet + face) + plate = 5H3's free five; Kling, Vidu and Wan caps. On Veo 3.1, send one face-forward image per person plus the plate
33 × (sheet + face) + plate = 7Kling without a reference video, Vidu, Wan; H3 with two paid images ($0.08); not Veo 3.1
Add a key prop+1 prop sheetCheck the cap first; on H3 every image past the fifth costs $0.04

Sora 2 is not in the table: OpenAI's deprecations page schedules the Sora 2 models and the Videos API for removal on 2026-09-24, and its API rejected input images with human faces. Send the same files for the same look every time; a different crop is a different reference. On the first-frame trade-off: chaining the last frame of one segment into the next buys positional continuity but, on H3, costs you every cast reference in that call.

Layer 4 — Continuity rules for the storyboard

  • Name the people who are in frame. Never write who is absent or that "others leave"; a named character tends to be drawn.
  • Carry state across the join: whatever the previous segment ended on (standing, holding the mug, a cut on the left cheek) becomes the next segment's opening line.
  • Restate temporary visible states every segment until the story ends them: injuries, wet clothes, a changed prop.
  • Place people by scene anchors ("at the end of the counter by the window"), not by frame direction ("screen left"); a camera change breaks the latter.
  • One look per character per segment; change looks at a segment boundary.
  • Large groups in one frame raise the chance of swapped faces; cover them with shots of two or three people.

The full segment format is in the storyboard template.

Symptom, layer, fix

SymptomUsual layerFix
Face drifts gradually over episodes1–2Replace vague features with measurable ones; remake the sheet in neutral light; add the face crop
Face changes at a cut inside one segment3Send the face crop, not just the full body; fewer people per shot
Right face, wrong costume2 and 4One sheet per look; name the look in the storyboard
Someone appears who was not written4Delete every mention of absent people
Two characters swap faces3 and 4One reference set per person, cited by index or name; split the shot
Everyone lit in the same moody way2Remake sheet and plate with neutral light
Faces reset after first-frame chaining3Use references instead and state the end position in text
Face fine in the draft, different in the final3A re-render is a new sample; review finals as carefully as drafts

Debug in this order: the sheet, the references actually sent (check the request or render log, not your plan), the storyboard wording, and the model last. Twelve common failure types and their causes: why AI dramas fail.

Who keeps track of the references

The reference cap belongs to the model; who remembers which file goes into which call depends on the tool. End-to-end tools do the bookkeeping for layers 2 and 3: LTX Studio handles casting inside one production, and SceneMixer keeps a cast library and injects full-body and face references into every segment. Model platforms give you the mechanism and leave the bookkeeping to you: Kling's element library, Vidu's subjects, Hailuo's multi-reference calls and Veo's ingredients.

The trade-offs mirror each other. A pipeline removes the risk of sending the wrong file, but it decides what is sent, and the cap of the model underneath still applies; LTX Studio's cast lives inside one production, and SceneMixer's references are bounded by whichever model tier a segment is rendered on. A model platform lets you choose every file per call, and every mix-up is yours to catch. Either way, layers 1 and 4 are writing, and they stay with whoever writes the sheets and the storyboard.

Key figures and sources

FigureValueSourceDate
MiniMax H3 reference inputsUp to 9 images; audio up to 3 clips, 15 s total; any reference role rules out first/last frameplatform.minimax.io2026-09-12
MiniMax H3 reference-image billingFirst 5 images free, then $0.04 per imageplatform.minimax.io2026-09-12
Wan 3.0 reference inputsUp to 10 images, 5 videos and 5 audio clips (videos and audio 15 s total each); cited as Image 1 / Video 1www.alibabacloud.com2026-09-12
Kling VIDEO 3.0 Omni referencesUp to 7 images or elements per generation, 4 with a reference videokling.ai2026-09-12
Vidu reference-to-video1–7 images per call (viduq2-pro: 1–4 with a reference video); subjects cited as @nameplatform.vidu.com2026-09-12
Veo 3.1 reference imagesUp to 3 on Veo 3.1 and 3.1 Fast (not Lite); clip duration must be 8 s when usedai.google.dev2026-09-12

FAQ

The same reference gives different fidelity on different models — why?

Models weight reference images differently, and some understand costume and hairstyle vocabulary better than others. Test one sheet and one two-person segment on the model you will render with before committing the cast, and keep the model fixed for a whole episode.

Can face-swap tools fix drift afterwards?

Partly. They struggle with profiles, occlusion and group shots, add a production step to every segment, and raise consent questions when a real face is involved. Fixing the sheet and the references is usually cheaper than repairing hundreds of clips.

How many reference images should I send per character?

Two where the cap allows: the full-body sheet and a face crop from the same image. On MiniMax H3 keep the total at five to stay inside the free slots; on Veo 3.1 send one face-forward image per character because there are three slots in total.

Can I use a photo of a real actor as the reference?

Not without the person's written consent and a clear license for AI use. YouTube requires disclosure when realistic content makes a real person appear to say or do something they did not.

When is fine-tuning (LoRA) worth it?

When the same cast recurs across many titles or hundreds of episodes and reference images alone still drift. It adds training cost and a model you must maintain, so exhaust layers 1–4 first.

Sources