TL;DR
Generating one stunning image is easy. Generating ten that visibly belong to the same brand or storyline is the hard part, because every prompt drifts a little in palette, lens, and rendering. The fix is repeatable: write one 15-plus-word style anchor sentence, paste it verbatim in front of every prompt, lock a seed (or reference your anchor image), and use Midjourney --sref for look plus Omni Reference (--oref) for recurring characters. Generate the whole set in one sitting, then review at thumbnail size where drift is easiest to spot. As of June 2026, --cref no longer works in Midjourney V7; use --oref instead.
What “consistency” actually means
Before you generate anything, define consistency concretely, because vague consistency is impossible to enforce. A coherent series usually holds four things steady:
- Palette — the same 2 to 3 dominant colors across every frame.
- Lens and framing — same focal length (for example 35mm vs 85mm) and similar distance to subject.
- Lighting — same direction, color temperature, and softness (golden-hour side light vs flat studio light).
- Stylization level — same amount of “rendered vs photographic,” same grain and texture.
If you can name those four for your project, you can enforce them. If you can’t, the series will wander no matter which tool you use.
Who this is for
Designers, brand owners, and content creators producing serial imagery: blog hero banners, book illustration sets, character series, e-commerce category visuals, story panels. Anyone whose work is judged as a set, not one image at a time. For a one-off social post where each image stands alone, you don’t need any of this.
Before you start
- Pick one image model and stay there for the whole series. Switching mid-series (Midjourney to ChatGPT Images to Flux) almost guarantees a visible style break, because each model has its own default look.
- Generate one anchor image you genuinely love first. The series gets aligned to this anchor, not built up democratically across many takes that average toward mush.
- Save the anchor file or URL. You will reference it from every later prompt via
--sref,--oref, or a direct upload.
Step by step
- Write a style anchor sentence that captures palette, lens, lighting, and rendering. Make it 15-plus words; short anchors underspecify and the model fills the gap differently each time. Example:
muted earth-tone palette, 50mm shallow depth of field, soft warm afternoon light, photographic with light film grain. - Reuse the anchor as a prefix in every prompt. Don’t paraphrase it. Copy and paste it exactly. Paraphrasing is the single most common cause of drift: “warm sunset” and “soft golden hour” read alike to you but produce different output.
- Lock the seed where you can. In Flux or Stable Diffusion, set a fixed seed so the same prompt is reproducible. In Midjourney V7 there is no user-set seed for style locking; use
--srefof your anchor image as the practical equivalent. - For recurring characters, add a reference. In Midjourney V7 use Omni Reference (
--oref) with the character image. In Flux or Stable Diffusion, train a LoRA. In ChatGPT Images 2.0, upload the character as a reference image in the same chat. - Generate the series in one sitting. Models update. What worked on Monday can drift on Friday after a silent model patch, and you can’t always roll back.
- Sort every take side-by-side at thumbnail size before you pick finals. Inconsistencies that are invisible at full size jump out at 200px wide.
The style anchor sentence template
Fill this in once per series and reuse it forever:
Style: [palette in 2-3 words], [lens / focal length], [lighting],
[rendering style], [optional grain / texture / era].
Worked example: Style: muted teal-and-amber palette, 35mm wide, golden-hour side-light, photographic, light film grain, 1990s editorial feel.
Paste it in front of every prompt. Tomorrow’s prompts use the same paste, character for character.
Tool decision matrix (June 2026)
| Tool / method | Best for | Consistency strength | Key controls | Cost note |
|---|---|---|---|---|
Midjourney --sref | Design / illustration look | High on color, lighting, texture | --sv version (sv6 default), --sw style weight | Standard plan $30/mo, unlimited relax |
Midjourney --oref (Omni Reference) | Recurring characters and objects | Strongest for identity | --ow weight 1–1000, default 100 | V7 only; costs 2x fast GPU time |
| Flux / SD + trained LoRA | Product or character series | Stickiest overall | 15–20 reference images, fixed seed | Free locally; GPU rental otherwise |
| ChatGPT Images 2.0 | Fast reference matching, no setup | Good, less fine control | Upload reference in-chat | ChatGPT Plus $20/mo |
| Stable Diffusion + ControlNet | Pose / composition lock | High on layout, not style | Depth / pose / edge maps | Free locally |
A few specifics that matter as of June 2026:
- Midjourney
--srefcaptures the overall vibe (color, texture, lighting, medium). V7 offers six style-reference engines selectable with--sv(sv6 is the default); push--swhigher when the reference look is washing out and lower when it’s overpowering your subject. - Omni Reference replaced
--cref. The old Character Reference parameter returns an error or is ignored in V7. Use--orefwith an--owweight; the popular range is 200 to 400. Keep--owunder about 400 unless you are also running a very high stylize value, or results get unpredictable. You can stack--oref(who) and--sref(look) in one prompt to lock both identity and style. - DALL-E is gone. OpenAI retired DALL-E 2 and 3 on May 12, 2026. The replacement is ChatGPT Images 2.0 (model
gpt-image-2), which shipped April 21, 2026. It can generate up to eight coherent images from a single prompt and condition on uploaded reference images, which makes it the lowest-friction option for “match this look” with no parameters to learn. - Flux.1 Kontext LoRAs are trained on paired before/after images; 15 to 20 references is a sound starting point for a custom look.
Recommended workflow
anchor sentence → generate anchor image (love it) → prefix every prompt with the anchor → seed lock or --sref → --oref / LoRA for characters → generate the full series in one sitting → review at thumbnail → regenerate outliers
Budget about 1.5x as many generations as final images: roughly 12 to 15 generations for a 10-image series, so you have room to drop the outliers without re-running the whole set.
FAQ
My series drifts after 5 images. Why? The anchor sentence is too short, or you paraphrased it somewhere. Make it 15-plus words and copy and paste it verbatim into every prompt.
Does --cref still work in Midjourney?
No. As of V7, the old --cref Character Reference is deprecated and either errors out or is silently ignored. Use Omni Reference (--oref) instead, with an --ow weight around 200 to 400 for balanced identity matching.
Can I mix tools in one series? Technically yes, but the style break is almost always visible because each model has a different default rendering. Pick one model and finish the set in it.
How many reference images for a LoRA? For Flux or Stable Diffusion, 15 to 20 is a reliable starting range. Far fewer underfits and looks generic; far more can overfit to the specific source images.
Does --sref work for photography?
Yes. Reference a photograph or an illustration and the model extracts style features. It is strong on color and lighting and less reliable on exact lens or focal-length cues, so still spell those out in the prompt text.
What if the model updates mid-project? If cohesion is critical, regenerate any image made before the update. It is annoying but real, which is exactly why the workflow above pushes you to finish the series in one sitting.
Common mistakes
- Adding a new style word mid-series (“moody” on image 7 quietly darkens everything after).
- No reference for recurring characters, so faces drift and viewers notice on the second appearance.
- Paraphrasing the anchor sentence instead of pasting it verbatim.
- Switching models mid-series, which guarantees a visible break.
- Still reaching for
--crefin V7 (it no longer works) instead of--oref. - Skipping the side-by-side thumbnail review, where inconsistencies hide at full size.
- Generating one image at a time over weeks while models update underneath you.
Related
Tags: #Tutorial #Consistency