Why AI Keeps Changing Your Character's Face (And How to Fix It in Every Major Tool in 2026)
AI changes character faces because it has no memory between generations. Learn the exact 2026 fix for Midjourney --cref, GPT Image 2, FLUX 2 PuLID, Krea 2, and
On this page 14 sections

Key takeaways
AI changes your character's face because every generation starts from random noise with zero memory of previous images. Fix this in Midjourney with --cref (use --cw 0 for face-only lock). In GPT Image 2, re-upload a master reference image every 5–8 turns before drift occurs. In FLUX 2, use PuLID Flux II via ComfyUI. For maximum consistency across any tool, train a character LoRA with 20–30 diverse training images.
You are not doing anything wrong — AI has no memory and starts from scratch every single generation. Here is the complete tool-by-tool guide to fixing character face drift across Midjourney, GPT Image
You have spent 30 minutes carefully crafting the perfect character description. The first image looks incredible. You generate a second image with a slightly different pose — and suddenly your character has a completely different nose, different eye color, and thinner lips. You add more detail to the prompt. The third image is someone else entirely.
This is not a bug. It is how AI image generation fundamentally works. And once you understand why it happens, you can choose the exact right fix for your tool.
This guide explains the technical root cause and then walks through verified, working solutions for every major platform in 2026: Midjourney v8.1, GPT Image 2, FLUX 2 + ComfyUI, Krea 2, and Stable Diffusion.
Why AI Cannot Remember Your Character
The core problem is that every time a diffusion model generates an image, it starts from a completely random field of noise. It has no memory — not of the image it made 5 seconds ago, not of your character's specific face.
Here is what is actually happening:
Stochastic Latent Space Sampling Diffusion models generate images by denoising random noise through 20–50 denoising steps. The starting "noise seed" is different every time. Even with the exact same text prompt, the model explores a completely different path through its mathematical "latent space" — the compressed representation of all possible images it has learned. Two different paths through that space produce two different faces.
No Persistent Identity The model has no concept of a "character" as a continuous entity. "A woman with green eyes and copper hair" is a statistical cluster of pixel patterns, not a single specific person. The model matches the concept, not a fixed visual identity. It samples a valid interpretation every single generation.
Prompt Ambiguity Text is an imperfect description of a face. "Green eyes and copper hair" still leaves thousands of valid interpretations — different eye shapes, bone structures, skin tones, nose widths. The model fills undefined gaps differently every time, drawing from the probability distribution it learned during training.
Why GPT Image 2 Also Drifts (Even Though It's Smarter) Even multi-modal reasoning models that read your reference image do not create a persistent "character file." They re-read your reference on each request, but longer threads cause contextual dilution — the model's attention spreads across all previous messages, weakening the focus on your identity anchor. Community consensus: drift becomes noticeable after approximately 5–10 turns.
The Solution Toolkit — By Platform
Tool 1: Midjourney v8.1 — Character Reference (--cref)
Midjourney's dedicated character reference system remains the most beginner-friendly consistency tool available.
Basic syntax:
/imagine prompt: [your description] --cref [IMAGE_URL] --cw 50
Understanding --cw (Character Weight):
--cw Value |
What It Locks | Best For |
|---|---|---|
--cw 100 (default) |
Face + hair + full outfit | Same character across different scenes |
--cw 0 |
Face only | Outfit changes — dressing character in new clothes |
--cw 40–60 |
Face + partial elements | Flexible variations with recognizable look |
The critical insight: Use --cw 0 when you want to dress your character differently. It locks only the face, letting the text prompt drive the clothing. Use --cw 100 for comic/story sequences where the outfit must stay identical.
Reference image best practices:
- High-resolution, front-facing, plain neutral background, good lighting
- Generate a character sheet as your reference (front + side + ¾ view in one image) — this gives the model 3D spatial context and dramatically improves consistency
- Combine
--crefwith--sref(Style Reference) to separately lock art style
> ⚠️ V8.1 Note: The --oref parameter (Omni Reference) was a V7 feature and is not natively supported in V8.1. If you use --oref in V8.1, Midjourney may fall back to V7 to process the request.
Tool 2: GPT Image 2 — Conversational Reference Upload
GPT Image 2 maintains generation context within a conversation thread — each new generation is aware of the previous images in the session. Combined with the ability to upload reference images directly, this makes it excellent for rapid iteration.
The Workflow:
- Upload your master character reference image at the start of every conversation
- Ask for scene variations: "Keep this exact character, same face and hair, now show them walking in a rainy city"
- Paste a fixed anchor text block into every prompt: "[Character name], oval face, wide-set green eyes, thin scar on left cheek, copper shoulder-length wavy hair — keep all facial features identical"
The 8-Turn Rule: Drift becomes noticeable after approximately 5–10 turns within a single thread. When you reach 8 turns:
- Save your best image from the session
- Open a fresh chat
- Re-upload the master reference
- Continue from there
This is the single most important habit for GPT Image 2 character work.
The Collage Technique: Ask GPT Image 2 to generate a character sheet (front/side/¾ views in one image) as a single generation. The model maintains proportions far better within a single image than across sequential requests.
Tool 3: FLUX 2 + ComfyUI — PuLID Flux II (No Training Required)
FLUX 2 has the most technically capable character consistency ecosystem in 2026. The community has standardized on a three-layer stacking approach.
Three-Layer Professional Workflow:
- Identity (Who): PuLID Flux II → handles the face without LoRA training
- Structure (How): ControlNet with OpenPose → handles pose and body layout
- Refinement (Quality): ADetailer equivalent node → fixes face artifacts, upscales
Why PuLID over IP-Adapter:
IP-Adapter was the standard in 2024–early 2025, but the community has moved on. PuLID Flux II (ComfyUI-PuLID-Flux2) is now the community standard for face identity injection in FLUX. The key advantage: it solves "model pollution" (identity features bleeding into unwanted areas of the image) by injecting facial features into the model's cross-attention layers with precise spatial control.
For finding workflows:
- Civitai: search "FLUX.2 Multi-Reference" or "Flux ID Adjuster"
- ComfyUI Manager: Install
KJNodes,ComfyUI-PuLID-Flux2, and ensureComfyUI Manageris up to date
Limitations:
- PuLID is excellent for faces but may not capture outfit details precisely
- Extremely unique features (specific tattoos, unusual scars) may require LoRA training for 100% reproduction
- High VRAM requirement: 16–24GB recommended; FP8 quantization helps on consumer GPUs
Tool 4: Krea 2 — Character Consistency + Moodboard System
Krea 2 offers a three-layer system that works from world-level to character-level consistency.
Layer 1: Moodboard (World-Level Lock) Build a Taste Profile from up to 250 images. This locks the overall visual world — lighting, textures, color palette — so every character you generate feels like they belong to the same universe.
Layer 2: Character Consistency Tool Upload 1–5 reference images of your character. Use the consistency strength slider:
- High strength: Tight face and feature lock
- Lower strength: More flexibility for poses and angles while maintaining the core look
Layer 3: Style References Select up to 4 images for targeted style transfer — useful for locking illustration style separately from the character identity.
Recommended Krea 2 workflow:
- Create a Moodboard from your visual references → locks your world
- Generate a character sheet (front/side/¾) in one generation → creates your primary reference
- Apply Character Consistency using that sheet → locks your character inside the styled world
Tool 5: Stable Diffusion / SDXL — LoRA Training (Maximum Consistency)
For projects requiring 100% repeatable identity — graphic novels, game assets, recurring brand characters — LoRA training remains the gold standard.
How many training images do you need?
| Scenario | Image Count |
|---|---|
| Minimum viable | 15 images |
| Community recommended | 20–30 images |
| Complex character (many poses, actions) | 50+ images |
The rules: Quality and diversity beat quantity. 20 varied images outperform 100 shots of the same angle. If all your training images have the same background, the LoRA may accidentally bake that background into the character.
What to include:
- Face close-ups (multiple angles)
- Upper body and full body shots
- Varied lighting conditions
- Multiple backgrounds
- Varied expressions (minimum: neutral, happy, serious)
Recommended tools:
| Tool | Best For | Notes |
|---|---|---|
| Kohya_ss | Full control, SDXL + FLUX | Industry standard backend |
| FluxGym | FLUX-only, beginner-friendly | Simple web UI wrapping Kohya |
| Civitai Trainer | No local GPU needed | Cloud service, ~30–45 min |
Starting parameters: Learning rate ~1e-4, Network rank 32–64 (SDXL) or 16–32 (FLUX), alpha = half the rank, include a unique activation trigger word in every caption.
The Character Bible: Your Most Important Asset
A Character Bible is a structured text document that acts as the "source of truth" for your character's identity — preventing prompt drift and giving you a copy-pasteable block for every new session.
Physical DNA section (the core):
FACE: [Shape, eye color/shape/position, nose bridge, lip shape, jawline, skin tone]
HAIR: [Exact color, texture, length, style]
BODY: [Height/build descriptors]
UNIQUE IDENTIFIERS: [Scars — LEFT or RIGHT side specified, birthmarks, tattoos]
NEVER APPEARS WITH: [Wrong eye color, wrong hair length, wrong accessories — your "Bible Forbids" list]
The Three-Layer Lock System:
- Narrative Bible — the text document above
- Visual Reference — your master reference image / character sheet
- Prompt Template —
[Character description block] + [action/pose] + [setting/lighting] + [style]
Always paste the Physical DNA block into every new prompt session. Text + visual reference is substantially stronger than either alone.
How to Build a Character Reference Sheet
A character sheet showing front, side, and ¾ views in a single image is the single most effective reference tool available. It gives the AI 3D spatial context about your character's features that a single portrait cannot.
Midjourney prompt for generating your sheet:
character reference sheet, full-body views arranged horizontally, [CHARACTER DESCRIPTION],
front view, side profile view, three-quarter view, neutral expression, plain white background,
clean and detailed, turnaround sheet style --cref [ANCHOR_IMAGE_URL] --cw 100
Reference sheet rules:
- Neutral expression (strong emotions bake into future generations)
- Plain white or very light neutral background
- Include color swatches of the character's primary palette
- Once corrected, use the sheet as your
--crefinput, not the original portrait
For professional projects: paint over inconsistencies in Photoshop. The corrected version becomes your permanent master.
Multi-Character Scenes: The "Separate-Then-Merge" Method
Generating two consistent characters in the same scene is one of the hardest problems in AI art. The fundamental issue: multiple reference signals cause the model to blend features — giving Character A's hair to Character B.
The community-standard workflow:
- Lock each character individually in isolation first (neutral background, perfect quality)
- Generate the environment separately — no characters, just the setting and lighting
- Composite manually in Photoshop/Affinity Photo — place individual characters into the scene
- Use inpainting to blend edges, adjust lighting, and unify the composition
For ComfyUI: use IP-Adapter with regional prompting — assign different character references to different spatial regions of the image (left half = Character A, right half = Character B), combined with ControlNet OpenPose to lock body positions before identity injection.
Pro tip: Give each character very distinct features — different hair colors, different ethnicities if story-appropriate, different heights. Clear separation signals dramatically reduce feature-blending.
Troubleshooting: 6 Most Common Failures
"Face still changing even with --cref"
→ Crop your reference to face-only and use just that crop as --cref. Add text description reinforcement alongside. Try --cw 0 instead of --cw 100.
"Face is distorted/asymmetric (not drift, but deformed)"
→ Use inpainting on the face only — don't regenerate the whole image. Run FaceDetailer/ADetailer after generation. Add to negative prompt: asymmetric eyes, distorted teeth, melted skin, uncanny valley, blurry face.
"After 5+ GPT Image 2 generations my character drifts" → Start a new session. Re-upload the master reference. Limit to 8 turns per session — this is the most reliable fix for conversational models.
"My LoRA doesn't look like the character" → Fix your captions first — bad captioning is the #1 cause. Add more diverse training angles. Check for background bleed (consistent background in training images gets baked into the character).
"Multi-reference gives me blended features" → Reduce to 1–2 reference images (consistency plateaus at ~6 refs and degrades beyond ~10). Use a character sheet (all angles in one image) instead of multiple separate references.
"FLUX 2 PuLID has identity bleeding outside the face" → Switch to PuLID Flux II specifically. Reduce the PuLID strength slider. Combine with ControlNet to constrain where identity features are applied.
Quick Comparison: Which Method Should You Use?
| Tool | Method | Skill Level | Consistency |
|---|---|---|---|
| Midjourney v8.1 | --cref + --cw 0 |
Low | Good |
| Midjourney v7 | --oref + --ow |
Low | Very Good |
| GPT Image 2 | Conversational + reference upload | Very Low | Good (drifts in long threads) |
| Krea 2 | Character Consistency tool + Moodboard | Low | Good–Very Good |
| FLUX 2 + PuLID | ComfyUI nodes | High | Very Good |
| FLUX 2 + LoRA | Custom training | High | Excellent |
| SDXL + LoRA | Kohya_ss training | High | Excellent |
If you are a beginner: start with Midjourney's --cref system or Krea 2's Character Consistency tool.
If you need production-grade repeatability: train a LoRA.
Ready to find prompts and character styles that others have already proven? Browse our curated library of AI character design prompts to copy verified setups instantly.
Frequently asked questions
Why does AI art keep changing my character's face?
How do I keep a character's face consistent in Midjourney?
How many training images do I need for a character LoRA?
Sources and further reading
- Midjourney Official Documentation: Character Reference (--cref) and Character Weight (--cw) Parameters — V6 and V8.1 Changelog (2026)
- Reddit r/comfyui & r/StableDiffusion: Community Standard for PuLID Flux II and Multi-Character Workflows (June 2026)
- Krea AI Official Documentation: Character Consistency Tool and Moodboard System — Krea 2 (May 2026)








