Generate one clip of a character and it looks right. Generate the next shot and the jaw is softer, the hair parts on the other side and the jacket has gained a pocket. That identity drift is one of the quickest ways an AI-made sequence stops feeling like one story.
Researchers still describe identity preservation in video as unsolved. A CVPR 2025 paper on identity-preserving generation says so directly:
“It is an important task in video generation but remains an open problem for generative models.”
— Yuan and colleagues, Identity-Preserving Text-to-Video Generation by Frequency Decomposition (2024, revised 2025).[1]
Video tools now offer reference images, first and last frames, performance capture and seeds. None removes drift on its own. This guide explains why it happens and sets out a workflow that uses those features in order, building on our explainer on how AI video generators work.
Why identity drifts between shots
A video model does not store your character. “Generation is stochastic,” as Runway's developer guidance puts it:[2] each request starts from randomness and is shaped by whatever conditioning you supply, whether text, an image, a reference or a performance. Our AI image generators explainer covers the same sampling idea for still images. Change any input, and the model makes a new set of choices about everything you did not pin down.
Text is a weak pin. “A woman in her thirties with short dark hair” fits thousands of faces; the model picks one, and next time it may pick another.
A single image is a stronger pin, but only for what it shows. Runway's guide to longer films makes the point with a character seen from one angle. The model “doesn't have context of what they look like from a forward-facing angle,” so a single reference can produce “subtle variations of character identity across generations, even when using the same prompt.”[3] Ask for a new angle and the model has to invent the missing views.
Three further sources of drift:
- Accumulation. Clips are short. Runway's Gen-4 guide describes 5 or 10 second generations, and Google's Gemini API documentation describes Veo 3.1 as generating 8-second videos.[4][5] A sequence is many generations, and small changes add up across them.
- Motion and occlusion. A head turn, a hand across the face or a fast move forces the model to fill in features it cannot see in its inputs.
- Competing instructions. When the prompt re-describes a character that is already in the input image, the two can disagree. Runway's prompting guide advises focusing on motion, warning that “reiterating elements that exist within the image in high detail can lead to reduced motion or unexpected results.”[4]
Seeds do not rescue this: a seed helps only when every other input stays the same, and a new shot changes the inputs.
Step 1: Build a character reference sheet
The reference sheet is the source of truth for everything that follows. It is a small set of images of one design, made before any animation.
Runway calls these character plates: “neutral base images of a character in different angles, outfits, and framing.” Its guidance is to use them to control consistency before the character goes into scenes, in “neutral, simple environments and lighting.”[3] Its References guide adds that a reference image with natural, even lighting and a neutral expression gives the model a “blank canvas.”[6]
A practical sheet usually holds:
- Front, three-quarter and profile views of the face, at the same age and hairstyle.
- A full-body view in the main costume, plus each costume change you plan to use.
- Close-ups of anything distinctive that must survive: a scar, a tattoo, glasses, a prop.
- A short written spec: eye colour, hair parting, which side a scar is on, which hand holds the prop.
Runway's Act-Two guide makes the same point about features: if a character should have fangs, include an image where the teeth “are clearly shown.”[7] A detail the model has never seen is a detail it will improvise.
Keep the sheet consistent with itself. Choose one result, then use it as the reference for the other views rather than generating each from text; Runway's References guide describes reusing an output as a new reference.[6] Reject any view that drifts, because one inconsistent image teaches the model the wrong face. If you build the sheet in an image tool, our comparison of Midjourney vs. Stable Diffusion for creator control sets out the reference and fine-tuning options each documents.
Step 2: Plan shots around the character
Runway recommends a storyboard in which each frame is a potential generation, noting camera angle, lighting and character positioning, and using the shot list to decide which plates you need.[3]
The plan should also record risk. Close-ups, profile turns, hands near the face and fast action invite drift. Group shots that share an angle and lighting so one keyframe or reference can serve them, and keep each generation to a single action; Runway warns that packing several scene changes into one clip can give unintended results.[4]
Note each shot's anchor: keyframe, reference image, performance clip or text only. Reserve text-only for shots where the character is small in frame.
Step 3: Animate from fixed keyframes
The most dependable anchor is a still you have already approved. In image-to-video, the character begins the shot looking exactly as it should.
Runway's Gen-4 guide describes the input image as establishing “the visual starting point” of the generation, carrying subject, composition, colour, lighting and style.[4] Runway's API lets you place a supplied image as the first or last frame, or pass two images so the video starts with one and ends with the other.[8] Google's Gemini API documentation describes the same pattern for Veo 3.1: an initial image to animate, plus an optional lastFrame for interpolation between two frames.[5]
Two habits make keyframes work harder:
- Make each keyframe from the reference sheet, using an image tool's reference feature to pose the character in the shot's setting. Approve the still before you spend a video generation on it.
- Prompt the motion, not the character. Runway advises referring to subjects “in general terms, like ‘the subject’” once the image carries their appearance.[4] Re-describing the face invites the model to reinterpret it.
When one shot cuts directly to the next, an approved frame from the first clip can anchor the second, tying the join to a frame you have already checked.
Step 4: Use the tool's reference feature
Reference features condition the generation on images of your character without forcing them to be the first frame. They suit shots where the pose, angle or setting differs from any keyframe you have.
The documented versions differ in scope, so read your own tool's limits:
| Tool and feature | What the official docs describe | Limits stated in the docs |
|---|---|---|
| Runway Gen-4 References (image) | Consistent characters “across different lighting conditions, locations, and treatments” from a single reference image; references can be saved by name and called in a prompt.[6] | Up to three active references per generation.[6] |
| Google Veo 3.1 reference images | Up to three images of “a single person, character, or product”; Veo “preserves the subject's appearance in the output video.”[9] | 8-second duration when using reference images; reference images use the allow_adult people setting only (Gemini API).[5] |
| Runway Act-Two (performance) | Transfers a recorded performance onto a character image or video, including expression and, with an image, gestures.[7] | Single subject; face visible; framed from the waist up at furthest.[7] |
Our Runway review covers these tools alongside Runway's plans and editing features. Feed references from your sheet, not fresh generations. If a reference image already contains another person, Runway suggests covering that face so the model does not confuse the subjects.[6] Treat a performance tool's expressiveness control as a consistency dial: Runway says lower values give less expressiveness “but may improve character consistency in certain cases.”[7]
Step 5: Log seeds and fix the prompt anchor
Seeds help you reproduce a result, not hold a character across different shots. Google's Cloud documentation says a seed “without changing other parameters” guides Veo to produce the same videos. The Gemini API page is more cautious: the seed “doesn't guarantee determinism, but slightly improves it.”[9][5] Runway's API also exposes a seed for image-to-video.[8]
Use seeds to re-run a near-miss with a single change, so you can see what the change did, and log the seed of every approved clip.
The prompt anchor is the text equivalent. Write one short identity line for each character and paste it unchanged wherever text has to carry identity, such as a reference-based shot or a text-only wide shot. Keep it to stable traits: hair, costume, one distinctive feature. Do not use it in image-to-video shots, where the keyframe already carries the face and extra description can compete with it.
Step 6: Run a continuity check before the edit
Check every clip against the sheet before it reaches the timeline. Runway suggests reviewing a long film in 2 to 3 minute segments.[3] Character continuity also needs a shot-by-shot check with the reference sheet open beside the clip.
| Check | What to compare against | Common failure |
|---|---|---|
| Face shape and proportions | Front and three-quarter views | Softer jaw, changed eye spacing |
| Hair | Parting, length, colour | Parting flips side mid-sequence |
| Costume | Full-body view | Pockets, collars or logos appear and vanish |
| Distinctive marks | Close-up sheet | Scar or tattoo moves to the other side |
| Props and handedness | Written spec | Prop switches hands between shots |
| Age and build | Full-body view | Character looks younger in close-up |
| Edges of the clip | Adjacent shots | First or last frames do not match the cut |
When a clip fails, regenerate it from its keyframe or reference with a single change. Log shot, anchor, seed, result and reason for rejection.

AI Chronicle
A worked example (hypothetical): a six-shot courier spot
This is an illustrative scenario. The character, brand, shots and failures are invented. No tool was tested and no outputs are shown or claimed.
A small delivery start-up wants a 40-second social video starring an original mascot, Noor: a cycle courier with a yellow helmet, a scar through her left eyebrow and a teal satchel on her right hip. Noor is not based on any real person.
Reference sheet. The team chooses one front portrait, uses it as a reference for three-quarter, profile and full-body views in flat light, adds close-ups of the scar and satchel, and writes the spec: scar left eyebrow, satchel right hip, helmet strap fastened.
| Shot | Content | Risk | Anchor |
|---|---|---|---|
| 1 | Wide: Noor cycles through a market | Low (small in frame) | Text with identity line |
| 2 | Medium: she brakes and dismounts | Medium | Keyframe from sheet |
| 3 | Close-up: she checks a parcel label | High (face, hands) | Keyframe; motion-only prompt |
| 4 | Profile: she looks up at a building | High (profile) | Reference images: profile and front views |
| 5 | Medium: she hands over the parcel | Medium | Keyframe; end frame of shot 4 reused |
| 6 | Close-up: she smiles at camera | High (face) | Performance capture from a consenting team member |
Continuity check. Suppose shot 4 comes back mirrored: scar on the right, satchel on the left. The team rejects it, regenerates from the same references and seed with only the identity line added, and logs both attempts. Suppose shot 6's smile changes the eye shape; the team lowers the expressiveness setting and retries.
Release. The team member who performed shot 6 signs a release. Noor is an invented mascot, not a realistic depiction of anyone, but the team still applies AI labels wherever the publishing platform asks. The acceptance test: every shot passes the seven checks against the sheet. That is an editorial standard, not a measured success rate.
Real people: consent, likeness and disclosure
Platform policies require permission. Runway's usage policy prohibits “use of an image, video, or audio of another person without their permission” and impersonating an individual.[10] Its developer guidance is blunter:
“A face, a voice or a recognizable likeness requires permission. Generating it from a reference does not create one.”
— Runway Dev, Can I use AI image and video generation commercially in my product? (2026).[2]
Google's Generative AI Prohibited Use Policy bars using “personal data or biometrics without legally-required consent” and impersonating an individual, living or dead, “without explicit disclosure, in order to deceive.”[11] Get written consent naming the uses, platforms and duration. A performer whose recording drives a character also needs a release.
In the EU, the AI Act adds a disclosure duty. Article 50(4) requires deployers of a system that generates or manipulates image, audio or video content “constituting a deep fake” to disclose that it has been artificially generated or manipulated.[12] The Commission's guidance says three criteria must all be met for content to count as a deepfake: resemblance, an existing (or plausibly existing) subject, and a false appearance of being authentic or truthful.[13] For an “evidently artistic, creative, satirical, fictional” work, the duty is limited to disclosure that does not hamper enjoyment of the work.[12]
Article 50 has applied since 2 August 2026. Purely personal use is outside the Act, but regular use for economic benefit makes a creator a deployer. Disclosure is due at first exposure, and deployers “cannot simply rely on the machine-readable marking” added by the provider.[13] This is a summary, not legal advice; national image and publicity rights can also apply.
Platforms set their own rules too. YouTube requires creators to disclose realistic AI content, including content that “makes a real person appear to say or do something they didn't do.”[14] Machine-readable provenance helps here; our guide to content credentials explains what it can and cannot show, and our piece on how to spot AI-generated content covers the limits of detection.
Questions readers commonly ask
Can I get a consistent character from text prompts alone?
Sometimes for wide shots, rarely for close-ups. Text leaves too many facial details open. Anchor anything close with keyframes or references.
Does using the same seed keep my character the same?
Only if nothing else changes, and even then Google's Gemini API page says a seed does not guarantee determinism.[5] Treat seeds as a way to reproduce and compare results, not as a character lock.
Can I use a photo of myself or a friend as the character?
Your own likeness is yours to use within the platform's rules. Anyone else's needs their permission. If the result could pass as real footage of that person, plan for a visible AI disclosure where the EU AI Act or a platform policy requires it.[10][12][14]
What about the character's voice?
Voice drifts too, and it carries the same consent questions. Our AI voiceover workflow covers how to keep a voice consistent and reviewed across a project.
The next step
A consistent face is half of a consistent character. The other half is how it sounds. Continue with Build an AI voiceover workflow with review, which applies the same reference-and-check discipline to narration and dialogue.
Sources and evidence note
This explainer uses vendors' official documentation for every product feature it mentions, one peer-reviewed research paper for the state of the problem, platform policies, the EU AI Act text and the European Commission's guidance. All pages were accessed on 16 October 2026. Feature descriptions establish what the vendors document, not how well the features perform. Product limits are as documented on that date and change often. The worked example is fictional. No hands-on test is claimed.
Sources
- Yuan and colleagues (submitted November 2024, revised March 2025), Identity-Preserving Text-to-Video Generation by Frequency Decomposition
arXiv:2411.17440, CVPR 2025. Used for the statement that identity preservation remains an open problem; quotation from the abstract.
- Runway Dev, Can I use AI image and video generation commercially in my product?
(23 September 2026). Vendor guidance, stated as not legal advice. Used for “Generation is stochastic” and the quoted likeness statement (19 words).
- Runway Help Center, How to create longer videos and films
Used for character plates, the single-angle variation example, neutral plates, storyboarding and shot-list planning, and review in 2 to 3 minute segments. Quotations verified.
- Runway Help Center, Gen-4 Video Prompting Guide
Used for 5 or 10 second clips, the input image as visual starting point, focusing prompts on motion, referring to subjects in general terms and avoiding multi-scene prompts. Quotations verified.
- Google AI for Developers, Generate videos with Veo 3.1 in Gemini API
(page last updated 8 October 2026). Used for 8-second generation, image-to-video, first and last frames, up to three reference images, the 8-second duration and allow_adult setting with reference images, and the seed note. Quotation verified.
- Runway Help Center, Creating with Gen-4 Image References
Used for consistent characters from a single reference, up to three references, neutral expression and even lighting, saving and reusing outputs as references, and covering an existing face. Quotations verified.
- Runway Help Center, Performance Capture with Act-Two
Used for performance transfer, input best practices, making unique features visible and the facial expressiveness setting. Quotations verified.
- Runway Dev, API Version 2024-11-06
Used for promptImage positions (first, last, or both) and the seed parameter on image-to-video.
- Google Cloud Documentation, Generate videos from references
(page last updated 15 October 2026). Used for up to three subject images of a single person, character or product, the “preserves the subject's appearance” statement and the seed description. Quotations verified.
- Runway, Runway's Usage Policy
(last updated 6 March 2026). Used for the prohibition on using another person's image, video or audio without permission, and on impersonation. Quotation verified.
- Google, Generative AI Prohibited Use Policy
(last modified 17 December 2024). Used for the consent and impersonation provisions. Quotations verified.
- European Commission AI Act Service Desk, Article 50: Transparency obligations for providers and deployers of certain AI systems
based on the EUR-Lex consolidated version of Regulation (EU) 2024/1689 as at 27 July 2026. Used for Article 50(4) and its artistic and fictional limitation. Quotations verified.
- European Commission, Transparency obligations under Article 50 of the AI Act
FAQ (last updated 24 July 2026). Used for the deepfake criteria, the definition of deployer and the personal-use exclusion, disclosure at first exposure, the point on machine-readable marking and the 2 August 2026 application date. Quotation verified.
- YouTube Help, Disclosing use of GenAI content
Used for the disclosure requirement for realistic AI content. Quotation verified.
This article was researched and drafted with the help of AI tools, then edited and fact-checked by the AI Chronicle editorial team. Illustrations are original artwork created for AI Chronicle with AI image generation.
