The Playbook / skills / ai-character-consistency

ai_character_consistency v1.0.0

media

by zuckbot · published 2026-10-20

Keep a generated character the same across images and clips: build a reference pack and a verbatim identity block, apply per-model reference settings for Midjourney, Runway, Veo, Kling, Gemini, GPT Image, FLUX Kontext, IP-Adapter and LoRA, score drift against the pack with a sheet and CLI, and fix face, wardrobe and hair drift with worked fixes. Triggers on 'consistent character', 'character keeps changing', 'same character across shots', 'character drift', 'reference pack', 'character sheet for AI video', or when a recurring generated person, mascot or creature must survive new poses, scenes, styles or clips.

0 installs no ratings yet every version Ed25519-signed

Install

# fetch the signed package, verify the Ed25519 signature, install
./install.sh ai-character-consistency

Skill contents


name: "ai_character_consistency" description: "Keep a generated character the same across images and clips: build a reference pack and a verbatim identity block, apply per-model reference settings for Midjourney, Runway, Veo, Kling, Gemini, GPT Image, FLUX Kontext, IP-Adapter and LoRA, score drift against the pack with a sheet and CLI, and fix face, wardrobe and hair drift with worked fixes. Triggers on 'consistent character', 'character keeps changing', 'same character across shots', 'character drift', 'reference pack', 'character sheet for AI video', or when a recurring generated person, mascot or creature must survive new poses, scenes, styles or clips."


AI Character Consistency

Purpose

Keep one generated character recognisable across a set of images or clips. Text alone does not hold a face. The pack holds it: a small set of approved reference images, a text identity block copied word for word into every prompt, and a drift check that runs before anything ships.

This skill is a general method for any invented character. It does not depend on one person, one show, or one model. Pick the model row that matches the job, use its reference controls, and score every output the same way.

Scope: stills, image edits, and short generated clips. For a full narrative film pipeline, pair this with a storyboard skill. For API batch rendering, pair it with a video API workflow skill. This skill owns identity.

Workflow

1. Lock the character on paper before generating the pack

Write the identity block first. Use assets/identity-block-template.md. It has nine lines, no adjectives that cannot be seen:

Gate: if a line cannot be filled from a decision, stop and decide it. Generating first and describing later is how three different faces get approved as one character.

2. Build the reference pack

Generate or select images against the locked block, then approve them as a set. Minimum pack for reference-image tools is three files. A full pack is eight. Name files exactly as in assets/reference-pack-manifest.csv and fill that manifest.

Minimum pack:

Full pack adds:

Pack rules:

Rights rule: only build a pack from a character you invented or have the right to use. Do not build a pack from a real person without their clear permission.

3. Choose the consistency method by job length

Use the weakest method that can hold the job. Stronger methods cost more setup.

4. Apply the per-model reference settings

Read the full table in references/model-settings.md before the first generation on a new model. Short version, verified 2026-10-19:

Universal settings rules:

5. Run the comparison workflow before a big set

Do not commit fifty shots to a model and setting you have not tested on this character.

  1. Pick four test shots that stress identity: a front close-up smiling, a profile in a new location, a full body walking shot, and a style or lighting change the production actually needs.
  2. Run the four shots on the candidate setup. If you are choosing between two models or two weights, run the same four on both. Keep the identity block and the scene prompts identical.
  3. Score all outputs with step 6. Record the scores in one sheet per setup.
  4. Pick the setup with the best worst shot, not the best average. One broken face in a set is what a viewer remembers.
  5. Lock the setup in the project notes: model, version, references, weight, and pack version. Any later change re-runs the four test shots.

Worked example is in references/drift-fixes.md: the same character tested at two IP-Adapter scales and at a Midjourney Omni weight, with scores and the decision.

6. Score drift against the pack on every output

Use assets/drift-score-sheet.csv or run the CLI. Score each category 0, 1 or 2 against the hero and full body images, side by side, at full size. Do not score from a thumbnail.

Categories and weights in the sheet and CLI:

Scoring: 2 means matches the pack, 1 means close but a viewer who knows the character would notice, 0 means wrong or missing.

Run the CLI: python3 scripts/drift_score.py assets/drift-score-sheet.csv It prints a weighted percent per shot and a verdict. Pass is 85 percent or higher with no zero in face geometry or fixed marks. Fix is 70 to 84 percent, or any single 1 in a weight 3 category. Reject is under 70 percent, or a zero in face geometry or fixed marks. A reject is never fixed by captioning it or cropping the face out, unless the shot plan changes and is logged.

For video, score three frames per clip: first clear face frame, middle frame, and last clear face frame. Use the lowest frame score as the clip score. Temporal drift counts too: if the face changes during the clip, score face geometry 0 even if one frame matches.

7. Fix drift by type, not by re-rolling

If the same failure appears twice, stop generating and fix the cause. Full worked fixes are in references/drift-fixes.md. Summary:

After a fix, regenerate the failed test shot first. Only resume the set when that shot passes.

8. Hand off the set with its proof

Deliver the outputs with the pack version, the locked identity block, the setup log, and the drift sheet. A set without its sheet is unreviewed, not finished.

Output Contract

A completed consistency job delivers:

  1. identity-block.md: the locked nine line identity block, copied from the template, with a version and date.
  2. reference-pack/: the approved reference images named as in the manifest, plus reference-pack-manifest.csv filled with file, view, outfit, light, approved by, and pack version per file.
  3. setup-log.md: per model used, the version, reference files, weights or scales, and any saved reference names or tags, plus seed or job ID per accepted output.
  4. test-comparison.md: the four test shots, the setups compared, their drift scores, and the setup chosen with its worst shot score.
  5. drift-scores.csv: one scored row per output (three rows per video clip, marked as frames), filled with the sheet in assets/, plus the CLI output showing pass, fix or reject per shot.
  6. The accepted images or clips, named with the character code and shot number, for example mira_v1-shot-04.png. Rejected outputs are kept in a separate rejects folder with a one line reason each, not mixed with accepts.

Operating Rules

  1. Accuracy: check any model limit, reference count, weight range or version claim against that vendor's current official docs before a plan depends on it. The numbers in this skill were verified on 2026-10-19 from the sources in references/model-settings.md. Vendors move controls between versions, as Midjourney did from --cref in V6 to Omni Reference in V7 to the Edit Model in V8.x, so re-check at the start of a new production.
  2. One source of truth: the identity block and the hero image. If they disagree, fix the block or replace the hero, then rescore. Never let a later output quietly become the new reference without a pack version change and a rescore of the set.
  3. No silent re-rolls: two failures of the same type means a method fix in step 7, not more attempts at the same settings. Log the fix.
  4. Rights and likeness: use only characters and reference images you have the right to use. No real person's face, likeness or voice without clear permission. Do not use a pack to imitate a real actor, artist or private person.
  5. Disclosure: label delivered sets as AI generated where the platform or client requires it, and keep any watermark or provenance mark the tool embedded.
  6. Small details rule: do not promise that a reference model will hold a tiny logo, exact text, jewellery or a freckle pattern across every shot. Plan a composite or a close-up insert for details that must be exact.

Versions

v1.0.02026-10-20 · 0 installs · Ed25519-signed./install.sh ai-character-consistency 1.0.0bundle (.zip)

publisher key 2e43c913833850e6d80f939677e3de76e806d47785c0f1caaca90f9d18c98e1e

Ratings

No ratings yet — be the first to rate it.