BiscuitChickenpie
cd ~/feed
4431DESIGN30·06·2026
$cat ~/design-work/ai-character-consistency-midjourney-tutorial.md

I Tried to Keep My AI Character Consistent Across 10 Scenes. Here's What Actually Broke..

Most tutorials skip the step that makes --cref actually work. Here's what failed first, what failed second, and the gotcha that kills most reference image attempts.

I Tried to Keep My AI Character Consistent Across 10 Scenes. Here's What Actually Broke.

You will generate the same character — same face, same glasses, same energy — in 10 completely different scenes. Not "kinda similar." Actually her. It took me three complete restarts to get there. The second attempt is where most tutorials lie to you.

Prerequisites: Midjourney (V6 or later, web editor), 1–3 images of the character you want to lock, 30 minutes and some patience for ugly outputs.

The goal

I wanted to render the same character — a designer named Mia, big round tortoiseshell glasses, natural hair, tan blazer — across ten different scenes: at a desk, presenting to clients, stressed at a coffeeshop, celebrating a launch, and six more. Editorial variety. Same person throughout.

Attempt 1: Describing the character really, really well

First instinct: write a detailed prompt. Mia. Natural hair in a puff. Tortoiseshell glasses. Tan blazer over a striped shirt. Warm brown skin. Confident. Generated image 1: looks exactly right. Generated image 2: different outfit, glasses survived. Generated image 3: glasses gone, she has locs now. Generated image 4: Mia has left the building entirely.

What went wrong: Midjourney has no memory between generations. Writing the same words doesn't tell it to reference anything — it's sampling from a distribution that matches the words, not a specific person. Descriptive text is a suggestion. Not a lock.

Attempt 2: Seed locking

Midjourney lets you pull the seed number from a generation you liked — a value that fixes the random starting point. Same seed, new prompt: Mia at a coffeeshop, stressed, laptop open. Result: Mia came back. Same face. Different outfit, slightly cinematic tone. Then I changed the scene to celebrating a launch with confetti. Same seed. Different face.

What went wrong: Seeds lock the starting noise, not the character. Change the scene significantly and the seed stops being reliable. It's stable within small prompt variations. Cross-scene, across moods, with confetti — it falls apart. You can't session-travel with a seed.

Three character head sketches side by side showing AI generation drift — first is correct and consistent, second has slightly different hair, third is clearly a completely different person

Attempt 3: --cref (Character Reference) — what actually works

--cref takes an image and tells Midjourney to use it as a character reference. The model analyzes the face and builds from it. The text prompt handles everything else.

Step 1: Generate your cleanest version of the character — or use a photo. Straight-on face, good lighting, no heavy post-processing. This becomes your source image. One image is enough. Two to three is better — one close crop of the face, one wider shot showing the outfit.

Step 2: Get a direct URL for the image. Imgur works. In the Midjourney web editor you can drag the image directly into the reference slot — no URL juggling needed.

Step 3: Add --cref [image URL] to your prompt. Add --cw 100 to push character weight to maximum.

Step 4: Run your scene. See what locks. Typically: face locks reliably. Hair locks if prominent. Glasses lock if prominent. Specific clothing details drift.

Step 5: For anything below the neck that keeps drifting, add outfit description back into the text. Let --cref own the face. Let the text own the clothes. Stop fighting yourself.

My 10-scene test after this setup: 8 out of 10 scenes felt like the same person. One had slightly different hair. One looked like Mia's well-dressed cousin.

The gotcha nobody mentions: if your text prompt fights the reference image, Midjourney tries to split the difference and fails spectacularly. If the reference shows natural hair and the prompt says "sleek ponytail," you get a confusing hair disaster. The reference wins on face. The text wins on scene and mood. Keep them in separate lanes.

Tutorial workflow diagram: left shows one source character portrait with anchor icon, center shows bold right-pointing arrow, right shows three consistent character thumbnails in different scene settings

The check before you hit generate

Three questions. Is your source image clean — no heavy filters, face visible, no extreme angle? Is your text prompt adding scene details, not fighting the reference? Is --cw set to at least 75? If the answer to any is "I don't know," fix it before generating. You'll save yourself three regenerations.

If you get stuck

Generated character still drifts after --cref? Try two reference images instead of one — one face close-up and one wider shot. This forces the model to triangulate on specific facial geometry rather than averaging across one image. Still drifting on specific details? The consistent detail is probably not prominent enough in the source image. New source image, better angle of the thing you need to lock.

What I learned

Attempt 1 taught me that words are not references. Attempt 2 taught me that seeds handle style variation, not character locking. Attempt 3 taught me that --cref does the heavy lifting — but only if you stop making the text prompt fight it. If you need above 90% consistency, look into Midjourney's character trainer or LoRA fine-tuning in Flux. For editorial work where 8 out of 10 is good enough, --cref --cw 100 gets you there without the overhead.

Next Monday: I take this same character and try to put her in motion — Kling, Runway, and why the consistency problem gets worse when the images start moving.

By Chickenpie
Share
// More from the feedAll entries

Done reading? There’s more where this came from.