WhatBroke

Video agent use cases

Can an AI agent keep the same character across every shot?

Partly Automatable, with a human reviewing the result. Last checked 2026-10-14

Partly, and only if you stop asking the model to remember. Consistency comes from pinning an external reference — a locked character sheet, reference images passed on every call, or a trained likeness — not from describing the character well. Prompt-only consistency fails within about three shots, every time.

What you are actually trying to do

You are making a multi-shot piece with a recurring character and you need the same face, hair, wardrobe and build in shot 12 as in shot 1.

This is the number-one unsolved problem in AI video production and the reason most multi-shot AI series look amateur. It is also the problem an agent pipeline makes *worse*, because an agent will happily paraphrase your character description between calls.

What works today

Reference images work. Veo 3.1 accepts up to three reference images to guide content, and Google's newer Gemini Omni Flash video model is positioned explicitly around character consistency and multi-turn conversational editing. Passing the same references on every single generation is the highest-leverage move available.

First-and-last-frame control works. Ending shot N on a frame and starting shot N+1 from it carries appearance across the join far better than any text description.

A frozen character block works. One immutable string, byte-identical in every prompt, with the agent forbidden from rewriting it.

Trained likeness (LoRA-style, where the platform supports it) is the strongest option and the least portable between tools.

Describing the character in prose does not work past a handful of shots, no matter how detailed the prose.

Where it breaks

The agent rewrites the character description. This is the single most common cause in agent pipelines. A model asked to 'write shot prompts' will paraphrase, compress, or 'improve' your character block, and the face moves. Treat the block as a constant to concatenate, never as text to generate.

Reference images drift as a set. Using a frame from shot 3 as the reference for shot 4, and shot 4's for shot 5, compounds error. Always reference back to the original canonical sheet.

Lighting gets read as identity. A change from warm to cool light reads as a different person. Lock lighting language in the same frozen block.

Wardrobe is quietly dropped when the prompt is long. Put wardrobe in the frozen block, not in the per-shot action line.

Full symptom and recovery path: the character's face changes between shots.

How to wire it up

  1. Build a canonical character sheet once: three to five reference images (front, three-quarter, profile, full body) plus a frozen text block of 60-100 words covering face, hair, build, wardrobe and lighting. Store it as data, not as prose in a prompt file.

  2. Make the agent's job structural, not descriptive. It writes the action and camera for each shot; the character block is concatenated in verbatim by code it cannot touch.

    prompt = CHARACTER_BLOCK + "\n\n" + shot["action"] + "\n" + shot["camera"]
    # CHARACTER_BLOCK is a constant. Never model-generated, never rewritten.
  3. Pass the same reference images on every generation call. Same files, same order, every time — never a frame from the previous shot.

  4. Where the tool supports first-and-last-frame control, chain shots through it for any sequence meant to read as continuous.

  5. Add an automated identity check: extract a face embedding from the first frame of every shot and compare against the reference. Flag anything past your threshold before assembly rather than after.

  6. Regenerate failures rather than fixing them downstream. Colour and grade are repairable in post; a different face is not.

What to use

Related questions

Is a longer, more detailed description better?

Up to a point, then it actively hurts — long prompts cause the model to drop trailing details, and wardrobe is usually what goes. Short frozen block plus reference images beats a 300-word description.

Can I fix drift in post?

Minor drift, with face-swap or restoration tools, at real quality cost. Major drift, no. Regenerating the shot is almost always cheaper than rescuing it.

Why does shot one always look right?

Because there is nothing to be inconsistent with yet. Judge consistency by comparing shot 10 to shot 1, never by looking at shots in isolation.

Other video agent jobs

What Broke This Week

One email, most Thursdays. New symptoms, tool updates that quietly break things, and one fix worth stealing. Unsubscribe in one click.