AI character consistency: build the character sheet first, then work inside your model's reference caps
Keeping one face stable across AI images is a reference-image workflow with published limits. Here are the documented character-reference caps for Gemini, Midjourney, FLUX.2 and GPT Image, and the five steps that use them.
Nihar Rout · · Updated · 10 min read · 30 views
AI character consistency is a reference-image problem with published limits, not a prompting trick. Google's Gemini image docs allow up to four character references on Nano Banana 2.1 and five on Nano Banana Pro, Black Forest Labs caps FLUX.2 at eight references through its API, and Midjourney documents a single weight that controls how hard the model copies your reference. This guide turns those numbers into a workflow you can run today.
The order matters more than the tool. You build one reference asset first, you learn what your model will accept, and only then do you start generating scenes. In our view, prompting until a face looks right and only then trying to keep it is the slower route.
All model limits and parameter values below were read on the vendors' own documentation on October 25, 2026. Model documentation changes often: check the pages linked on each claim before you build a pipeline on them. Where this post touches licensing or disclosure rules, it is not legal advice: read the current terms of the tool you use, and take advice where real money rests on it.
AI character consistency starts with a character sheet, not a prompt
A character sheet is one image that shows the same person from several angles with a neutral background - the thing an animation studio would hand to a new artist. In AI image work it serves the same purpose: it becomes the reference you attach to every later generation, so the model is matching a face it has already been shown rather than re-interpreting your adjectives.
Google treats this as the first step too. Its own Gemini codelab on consistent imagery lists "how to create a character sheet" among its learning goals, alongside extracting a character from an existing image to create a brand-new reference image.
Runway's guidance on character references, published on its own site in December 2025, is the most specific advice on what makes a usable reference among the vendor pages we read. It asks for at least 1024px on the shortest side, a single character with no other people in frame, a front-facing or three-quarter angle, and no hands, hair or objects covering the face. Runway also says a single high-quality reference works well for most projects, while some tools accept two or three images of the same character.
In our view that list is the whole first pass. Generate or photograph four frames - front, three-quarter left, profile, and one full-body - on a plain background, in even light, with the same clothing. Upscale anything under 1024px before you save it. That folder is now your character, and every later step points at it.
Step two: find out how many character references your model accepts
In our view this is the step most tutorials skip, and it decides whether your workflow survives a model upgrade. The caps are published, and they differ sharply between models in the same family.
| Model | Character references | Other reference images |
|---|---|---|
| Gemini Nano Banana 2.1 and 3.1 Flash Image | Up to 4 | Up to 10 objects |
| Gemini 3 Pro Image (Nano Banana Pro) | Up to 5 | Up to 6 objects, up to 3 style |
| Gemini 3.1 Flash Lite Image (Nano Banana 2 Lite) | Not supported | Up to 14 objects |
| FLUX.2 max, pro and flex | 8 via API, 10 in the Playground | Same pool |
| FLUX.2 klein 4B and 9B | 4 | Same pool |
Google's image generation guide states that "Nano Banana models allow you to mix up to 14 reference images", and its per-model table splits that budget by reference type: up to four images of characters to maintain character consistency on Nano Banana 2.1, up to five plus three style references on Nano Banana Pro, and none at all on the Lite model, which the same page describes as "not optimized for multiple reference inputs or multi-turn sequential editing."
Black Forest Labs publishes its own table. Its help center article on FLUX.2 technical specifications gives up to 8 multi-reference images through the API for max, pro and flex, up to 10 in the Playground for those three, and up to 4 for the klein 4B and 9B models. Note that FLUX.2 does not split the budget into character, object and style slots the way Gemini does - the references are one pool.
OpenAI's image models are the exception here. On the image generation prompting guide we read on October 25, we found no published cap on the number of reference images for gpt-image-2; the guide's advice is instead to "reference each input by index and description" and to describe how the inputs interact. Its examples pass a list of images, and the virtual try-on example sends five. Treat the absence of a number as unknown rather than unlimited.
Step three: set the reference strength where the vendor says it works
Attaching a reference is half the job. Some tools also expose a dial for how literally to copy it, and it is worth knowing its range.
Midjourney is the clearest documented case. Its announcement of omni reference, dated May 1, 2025, describes --oref as a way to say "put this in my image," and says it works for characters, objects, vehicles or non-human creatures. The strength parameter is --ow, which the post says "goes from 0 to 100 to 1000 (100 is default)." When you are changing style, Midjourney suggests lowering the weight, for example --ow 25. For keeping a face or an outfit, it suggests something nearer --ow 400 - and then warns that "you should probably never want go over 'moderate' values of ow like --ow 400 or things may actually be worse."
Two more details from that post are easy to miss. Omni reference needs the model set to V7. And --stylize and --exp both "compete for influence over the image with omni-reference," so a high stylize value needs a correspondingly higher omni weight to hold the face. Midjourney also calls it "somewhat untested" if you put two characters in one omni-reference image, so keep one character per reference.
OpenAI's equivalent dial is input_fidelity, and its state depends on the model you are on. The prompting guide lists low and high values for gpt-image-1.5, gpt-image-1 and gpt-image-1-mini, but marks the parameter "Disabled" for gpt-image-2 because "output is already high fidelity by default." The guide contradicts itself on this point - several of its own gpt-image-2 examples still pass input_fidelity="high" - and the page carries an archive notice saying it may reference outdated models. If you are building on gpt-image-2, test whether the parameter changes anything before you write it into your prompt template.
Midjourney and RunwayML are both listed in the 219 tools in our AI Image & Video category as of October 2026; the API-first models above sit closer to our LLMs & AI Infrastructure listings.
Step four: restate the invariants on every single generation
In our view the cheapest fix for drift is also the dullest: write down the things that must not change, and paste them into every prompt unchanged.
OpenAI's guide formalizes this. Its multi-page workflow section describes building a reusable character anchor: generate a base character image, then pass that image into each later edit call with a prompt saying the character's appearance must remain unchanged. Elsewhere the guide advises you to "repeat the preserve list on each iteration to reduce drift."
A workable invariant block is short and physical, not evocative. Age range, hair color and length, eye color, skin tone, facial hair, build, and one or two fixed items such as a scar or glasses. Our advice is to leave out mood, lighting and camera language: those are the things you want to vary per scene, and mixing them into the identity block is how a character ends up looking different every time the light changes.
What should change per generation is everything else - pose, setting, framing, time of day. Keep the identity text byte-identical and vary only the scene sentence, and you can compare outputs and tell whether the reference or the prompt caused a miss.
Step five: when the character drifts, fix the reference before the prompt
Drift is normal, and the vendors say so. Runway's guide tells readers that a first generation is rarely perfect, suggests planning for three to five attempts per new scene type, and states plainly that the technology is not perfect and that drift happens.
Here is the order we'd try, in our view:
- Add a reference at the angle that is failing. If profiles come out wrong, the sheet probably has no profile in it. Runway says multiple references reduce character drift when generating from unusual perspectives.
- Raise the reference strength one notch - on Midjourney, from the default 100 toward 400, and no further.
- Lower the competing parameters. On Midjourney that is --stylize and --exp; elsewhere it is whatever is pushing a house style over your reference.
- Only then edit the prompt, and only the scene sentence.
- If the face is still wrong at three to five attempts, regenerate the character sheet at a higher resolution rather than keep fighting it.
In our view clothing is harder than faces, and worth separating. Gemini's object slots exist for exactly this: on Nano Banana 2.1 you can spend four slots on the character and up to ten on objects, which is where a specific jacket or prop belongs. Midjourney suggests a higher weight, such as --ow 400, when you want to keep a face or clothing, and in our reading that implies outfits need more reference pressure than a style change does.
Do you need a LoRA for consistent AI characters?
For most work in late 2026, in our view no. Training a LoRA on a character is the route for a highly distinctive design, and it is the only one that works when the tool accepts no reference image at generation time. But it costs training runs, file management and a per-character commitment, and the published reference-image budgets above cover the common case: a recurring person across a comic, a storyboard, a product page or an ad set.
Skip the reference-based route and train instead if you need the character in a tool with no reference support, if you are generating at volume where attaching images per call is impractical, or if the design is far enough from anything in the training data that references keep collapsing toward a generic face.
One thing neither route changes: provenance. Google's image docs state that "All generated images include a SynthID watermark" on Gemini image output, and disclosure rules are moving separately from model features - see our note on what you must ship by December 2, 2026 under the EU AI Act. Licensing is also independent of consistency; if the character is going into paid work, check the output terms of whichever generator you settle on, as we did for free AI image generators for commercial use.
Watch the deprecations, because the caps travel with the model
The reason to write your reference counts down somewhere is that models retire. Google's Gemini API release notes record that on October 6, 2026 Nano Banana 2.1 went generally available as gemini-nano-banana-2.1 and gemini-3.1-flash-image was deprecated with no shutdown date announced, directing users to migrate.
In this case the character cap is the same on both - up to four - so a migration is mostly a model-string change. That will not always be true. The Lite model in the same family accepts no character references at all, and the Pro model accepts five plus three style slots, so a cost-driven switch between tiers can quietly break a pipeline that assumed four faces were always available.
The practical habit: record the model string, the character-reference count and the strength value you settled on alongside the character sheet itself. When the deprecation notice arrives, you will know in a minute whether anything has to change.
What to do next
Spend thirty minutes making one character sheet to Runway's specification, pick the model whose documented character cap matches how many angles you need, and generate three scenes with a byte-identical identity block. If all three hold, you have a pipeline; if they do not, the sheet is the thing to fix.
If you are choosing a tool rather than an API, start with the AI Image & Video category and compare what each one says about reference images on its own site before you subscribe. Makers building character tooling of their own can submit a product for a free listing.
Frequently asked questions
How do you keep an AI character consistent across images?
Build a character sheet first: four frames of the same person on a plain background, front, three-quarter, profile and full body. Attach that sheet as a reference on every later generation, keep the identity description byte-identical, and vary only the scene sentence. Fix the sheet before you rewrite prompts.
How many reference images can Nano Banana use?
Google's Gemini image docs say Nano Banana models mix up to 14 reference images in total. Nano Banana 2.1 and Gemini 3.1 Flash Image allow up to 4 character images and 10 object images. Nano Banana Pro allows 5 characters, 6 objects and 3 style references. The Lite model supports none.
What are the right Midjourney omni reference weight settings?
Midjourney's omni reference strength parameter is --ow, with a range of 0 to 1000 and a default of 100. Midjourney suggests around 25 when changing style, and a higher value such as 400 to keep a face or clothing, while warning that going past 400 can make results worse.
Do you need a LoRA for consistent AI characters?
Not for most work in late 2026, in our view. The published reference-image budgets cover recurring characters in comics, storyboards and ad sets without any training. Train a LoRA when your tool has no reference support, when attaching images per call is impractical at volume, or when references keep collapsing toward a generic face.
Why does my AI character drift between images?
Usually the reference set is missing the angle that is failing, or a competing parameter is outweighing it. Runway says a first generation is rarely perfect and suggests three to five attempts per new scene type. Add the missing angle, raise reference strength one notch, then lower style parameters before editing the prompt.
Can AI keep clothing consistent too?
It is harder than faces and needs its own references. Gemini reserves separate object slots for this, up to ten on Nano Banana 2.1, which is where a specific jacket or prop belongs. Midjourney suggests a higher omni weight, such as 400, when you want to keep a face or clothing.
Products in this article
About the author
Nihar Rout
CEO & Co-founder