Install any skill in seconds. Free to start, no credit card required.
Get Started Free →How to keep the same character across multiple AI images, using today's methods, not the obsolete Midjourney trick.
.claude/skills/whatsuppiyush-ai-consistent-characters/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 1% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 40% | 0% |
| case-18 | ✗→✓ | ▲ Improved | 42% | 0% |
| case-19 | ✗→✓ | ▲ Improved | -20% | 0% |
| case-04 | ✓→✓ | = Same ✓ | 29% | 0% |
Keeping one character looking the same across many images is the single most-asked problem in AI image generation, and the answer changed. The old Midjourney --cref trick is fading; today the reliable methods are reference images, image-to-image, and the strong character consistency in newer models like Nano Banana. This guide is the working playbook: the methods that actually hold a character together, in order of reliability, plus the details that make or break it.
Works in: Midjourney, GPT Image, Flux, Nano Banana, Stable Diffusion.
When the user asks for an image prompt in this style, compose one using the formulas and vocabulary below. Fill each slot with a concrete choice, then return the finished prompt. Prefer naming a real camera/lens, a light, and a colour or film treatment, which is what makes the output read as a real photograph rather than an AI render.
The consistency recipe
a fixed, detailed character description (reused verbatim) + a reference image + one changed thing (pose / scene / outfit)Lock the description and the reference; change only one variable per image. That is how you get the same person in a new situation instead of a new person.
_The reusable character sheet_
Character: a woman, late 20s, warm brown skin, short black curly hair, round gold glasses, small scar above left eyebrow, green utility jacket. [Reuse this block verbatim, then add the scene.] ...standing in a rainy market at night._Base reference_
Character sheet: a woman, late 20s, short black curly hair, round gold glasses, green utility jacket, neutral standing pose, plain background, consistent illustration style_New scene, same character_
The same character (reuse the description + reference image), now sitting at a cafe table, warm light, same face, hair, glasses and jacket_New pose, same character_
The same character (reuse the description + reference image), now walking through a rainy street at night, dynamic pose, same face, hair, glasses and jacketReference images (most reliable)
A fixed character description
Image-to-image / inpainting
Seed locking (Midjourney / Stable Diffusion)
From God of Skills: a curated, hand-tested directory of AI skills, prompts, templates and image style guides. Source: https://godofskills.com/guides/ai-consistent-characters?ref=claude-skill
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 15,005 | 9,983 | -33% | 1 | 1 | 0% | 2,630 | 2,659 | +1% | 0 | 0 | — |
case-02 | fail→pass | 11,308 | 8,568 | -24% | 1 | 1 | 0% | 1,725 | 2,417 | +40% | 0 | 0 | — |
case-03 | fail→fail | 12,499 | 7,995 | -36% | 1 | 1 | 0% | 2,082 | 2,256 | +8% | 0 | 0 | — |
case-04 | pass→pass | 12,453 | 10,313 | -17% | 1 | 1 | 0% | 2,145 | 2,761 | +29% | 0 | 0 | — |
case-05 | pass→pass | 10,763 | 6,088 | -43% | 1 | 1 | 0% | 1,895 | 2,020 | +7% | 0 | 0 | — |
case-06 | pass→pass | 11,883 | 9,798 | -18% | 1 | 1 | 0% | 2,093 | 2,696 | +29% | 0 | 0 | — |
case-07 | pass→pass | 14,580 | 9,033 | -38% | 1 | 1 | 0% | 2,538 | 2,349 | -7% | 0 | 0 | — |
case-13 | pass→pass | 13,661 | 12,322 | -10% | 1 | 1 | 0% | 2,202 | 2,770 | +26% | 0 | 0 | — |
case-08 | pass→pass | 13,018 | 9,169 | -30% | 1 | 1 | 0% | 2,125 | 2,473 | +16% | 0 | 0 | — |
case-09 | pass→pass | 11,704 | 7,355 | -37% | 1 | 1 | 0% | 1,970 | 2,134 | +8% | 0 | 0 | — |
case-10 | pass→pass | 13,590 | 9,089 | -33% | 1 | 1 | 0% | 2,180 | 2,455 | +13% | 0 | 0 | — |
case-11 | fail→fail | 12,514 | 6,247 | -50% | 1 | 1 | 0% | 2,044 | 2,050 | +0% | 0 | 0 | — |
case-12 | pass→pass | 8,727 | 5,605 | -36% | 1 | 1 | 0% | 1,488 | 1,768 | +19% | 0 | 0 | — |
case-14 | pass→pass | 12,135 | 5,298 | -56% | 1 | 1 | 0% | 2,029 | 1,812 | -11% | 0 | 0 | — |
case-15 | pass→pass | 9,326 | 5,240 | -44% | 1 | 1 | 0% | 1,667 | 1,867 | +12% | 0 | 0 | — |
case-16 | pass→pass | 13,552 | 9,667 | -29% | 1 | 1 | 0% | 2,179 | 2,352 | +8% | 0 | 0 | — |
case-17 | pass→pass | 12,190 | 9,057 | -26% | 1 | 1 | 0% | 1,874 | 2,363 | +26% | 0 | 0 | — |
case-18 | fail→pass | 10,217 | 8,909 | -13% | 1 | 1 | 0% | 1,674 | 2,379 | +42% | 0 | 0 | — |
case-19 | fail→pass | 14,803 | 5,702 | -61% | 1 | 1 | 0% | 2,385 | 1,903 | -20% | 0 | 0 | — |
case-20 | pass→pass | 2,849 | 2,664 | -6% | 1 | 1 | 0% | 500 | 1,361 | +172% | 0 | 0 | — |
case-21 | pass→pass | 5,535 | 3,941 | -29% | 1 | 1 | 0% | 924 | 1,585 | +72% | 0 | 0 | — |
case-22 | pass→pass | 10,430 | 7,826 | -25% | 1 | 1 | 0% | 1,712 | 2,106 | +23% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +18 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
| Model | Method | Date | Lift |
|---|---|---|---|
| gemini-3.6-flash | verified | 8/9/2026 | +14% |
| gemini-3.6-flash | verified | 8/6/2026 | +9% |
Other measured skills in the registry, with their headline benchmark lift.