TL;DR: Use --cref only on V6 or Niji 6. Use --oref only on V7; on V8.1 and V8.2 it silently reruns your job in V7. Niji 7 supports neither: Midjourney says --cref is unsupported there, and has never published --oref support for it. Use --sref plus a literal prompt instead.
How do you get character consistency in Midjourney?
You pick the mechanism that matches the model you are actually running. There is no single parameter that works everywhere, and the two you have read about most are each locked to a version that is no longer the default.
Here is the decision, before any of the detail.
| If you are running… | Use | Why |
|---|---|---|
| V8.2 (the current default) | --oref, knowing the job reruns in V7 | Neither reference parameter runs natively on V8.x |
| V7 | --oref with --ow | The only version where Omni Reference runs natively |
| V6 | --cref with --cw | The only Midjourney version where Character Reference is supported |
| Niji 7 | --sref + a literal written description | --cref is officially unsupported; --oref is undocumented here |
| Niji 6 | --cref with --cw | The only Niji version where Character Reference is supported |
Every row in that table comes from Midjourney's own documentation, checked on August 25, 2026. The sources are linked in the sections below, and I have flagged the one question Midjourney has simply never answered.
Which parameter works on which version?
This is the table most tutorials skip. Each cell below was read off Midjourney's live documentation on August 25, 2026, including the Feature Compatibility chart in the Version article.
| Parameter | What it references | Weight parameter | Documented range | Midjourney versions | Niji versions |
|---|---|---|---|---|---|
--cref | A character: hair colour, clothes, facial traits | --cw | Endpoints documented as 0 and 100; default 100 | V6 only. Marked unsupported on V7, V8.1 and V8.2 | Niji 6 only |
--oref | A whole subject: characters, objects, vehicles, non-human creatures | --ow | 1 to 1,000; default 100 | V7 only. On V8.1 and V8.2 the job reruns in V7 | Not published |
--sref | Style only — colour, medium, texture, lighting. Not the subject | --sw | 0 to 1,000; default 100 | V6 and later | Niji 6 and Niji 7 |
| image prompt | Content and composition of a reference image | --iw | V7 and V8.1: 0–3, default 1. Niji 7: 0–2, default 1 | V6 and later | Niji 7 documented explicitly |
--p | Your own accumulated aesthetic | --stylize | 0 to 1,000; default 100 | V6 and later | Global Niji V6 and Global Niji V7 profiles |
Two things in that table deserve calling out.
--cref and --oref are not the same feature renamed. Character Reference targets a person. Omni Reference is broader by design. Midjourney's Omni Reference article describes putting "characters, objects, vehicles, or non-human creatures" from a reference image into a new creation. If you need a recurring prop, a vehicle or a creature rather than a face, --oref is the one built for it.
--cw and --ow do not mean the same thing. This trips up almost everyone who moves from V6 to V7. More on that below, because getting it backwards is the single most common reason people conclude a reference "isn't working."
What does --cw actually control?
It controls what gets copied, not how hard. Midjourney's Character Reference article, updated July 27, 2026, describes it as a dial: at --cw 100, the default, Midjourney "includes as much detail as possible, like the face, hair, and clothing." At --cw 0, "the focus will mainly be on the character's face."
So --cw 0 does not mean "ignore my reference." It means "keep the face, drop the outfit." If you want your character in a new costume, --cw 0 is correct and --cw 100 will keep dragging the old coat back in. That is the opposite of what most people assume from the word "weight."
--ow is a genuine strength dial. The documented range is 1 to 1,000, the default is 100, and Midjourney's guidance is to keep it below 400 unless you are running a very high stylize value, because results above that "may be unpredictable."
Does Niji 7 support --cref or --oref?
--cref: no, and Midjourney said so explicitly. --oref: Midjourney has never published an answer either way.
This is the part worth being precise about, because it is where most of the misinformation lives.
On --cref, the official Niji 7 launch post, published January 9, 2026, is unambiguous. After describing which features were carried forward, it says:
"You'll notice one important feature missing from the lineup: cref. That one won't be supported by niji 7: we have a super special secret surprise in the works that we think you will love more than the old cref."
That "secret surprise" is a promise, not a shipped feature. I checked Midjourney's updates feed through its most recent post, a changelog dated August 20, 2026, and found no announcement naming a Niji 7 character-reference replacement. It may exist by the time you read this. It had not been announced as of August 25, 2026.
On --oref, here is exactly what is and is not published:
- The Omni Reference article, updated July 27, 2026, says twice that Omni Reference is for Midjourney version 7, including the flat line "Omni Reference can only be used with Midjourney version 7."
- That article does not contain the word "Niji" anywhere.
- The Niji 7 launch post does not mention
--orefor Omni Reference at all. - Niji has its own help centre, and it has no Omni Reference article. It does have one for character references, but that page is a UI walkthrough and names no model version.
Midjourney's compatibility chart does put --niji 7 in the same column as V7, which is why you will see people online reason from that to "so --oref must work on Niji 7." That is an inference from a table layout, not a documented statement, and I am not going to repeat it as fact. Midjourney does not publish whether --oref works with --niji 7. Test it on a single cheap job before you build a project around it, and trust your own result over any blog post — including this one.
What Niji 7 does document for consistency is worth knowing, because it is a real toolkit:
- Style Reference was explicitly ported, and the team singled it out. The launch post says "my favorite this time around is most definitely sref," and Midjourney's own announcement lists improved "sref performance" as a headline feature. Backwards compatibility extends to the
--sv 4flag. - Personalization shipped for Niji 7. Niji's help centre documents a "Global Niji V7 Profile" alongside the V6 one on the Personalize page.
- Image prompts work, with a Niji-specific image weight range of 0 to 2 rather than the 0 to 3 used by V7 and V8.1.
Niji 7 is also a more literal model. The launch post warns that "your vibes-y prompts may not work as well as they used to," and the follow-up Niji 7 prompting guide leans on precise description over atmosphere. For character work that is good news: a fully specified written description does more heavy lifting on Niji 7 than it did on Niji 6. If you are still deciding between the two model families, we covered that split in Niji vs Midjourney.
What does "consistency" actually mean here?
It means likeness, not identity. None of these parameters stores your character. There is no character file, no embedding you own, no ID that guarantees the same face twice. Midjourney says it plainly in the Character Reference article: the system "uses Image Prompts and references as inspiration to guide new creations, not to copy them exactly."
That single sentence explains most of the frustration people have with --cref and --oref. You are nudging a distribution, not loading a model. Understanding this changes how you work, the same way understanding tokenisation changes how you write text prompts. It is the reason so many Midjourney prompts don't work the way people expect.
Three failure modes are documented rather than folklore:
Fine detail is not preserved. Both articles carry the same warning, nearly word for word: intricate details "like specific freckles or logos on clothing" may not match your reference. A scar, a tattoo, a brand mark on a jacket — assume these drift unless you also describe them in text.
Style competes with the subject. The Omni Reference docs advise that if you want a different style from your reference, you should name that style at both the start and end of your prompt, lower the omni weight, and re-state the physical characteristics you want to keep in the text. They also note that high --stylize and --exp values "compete for influence" with the reference, and suggest raising --ow to compensate. Style and subject are pulling on the same rope.
Real people are a weak case. Midjourney's own best-practice guidance for Character Reference is to start from a single-character image that Midjourney generated. It states that images of real people "typically won't look exactly like them."
A worked workflow you can copy
This is the V7 Omni Reference path, end to end. Adapt the version flag for V6 and --cref.
Step 1: generate a clean reference. Front-facing, single character, neutral background, even lighting. You are building a source image, not a hero shot.
a young woman with cropped silver hair, dark green eyes, a small scar
through her left eyebrow, wearing a charcoal wool coat, front-facing
three-quarter portrait, neutral grey studio background, soft even
lighting, sharp focus --ar 1:1 --v 7
Step 2: get the image URL. Upscale the variant you want, open it at full size, and copy the direct image address. On the web app that is the image URL from the full-size view; in Discord, open the image in your browser and copy the link. Midjourney requires a publicly reachable URL ending in .png, .gif, .webp, .jpg or .jpeg. A local file path will not work.
Step 3: apply it across scenes. Note that each prompt fully re-describes the character. That is not redundancy. The docs are explicit that text carries the scene and any detail the reference cannot show.
a young woman with cropped silver hair and a charcoal wool coat waiting
at a rain-slick bus stop at night, neon signage reflected in the puddles,
wide shot, cinematic --ar 16:9 --v 7 --oref https://YOUR-IMAGE-URL.png --ow 100
a young woman with cropped silver hair sitting alone at a wooden desk in
a sunlit library, books stacked beside her, warm afternoon light through
tall windows --ar 3:2 --v 7 --oref https://YOUR-IMAGE-URL.png --ow 100
a young woman with cropped silver hair in a charcoal wool coat walking
through a crowded morning market, shallow depth of field, documentary
photography --ar 4:5 --v 7 --oref https://YOUR-IMAGE-URL.png --ow 100
Step 4: tune the weight. Change one variable. Run the same scene at four weights and pick, rather than guessing.
a young woman with cropped silver hair at a rain-slick bus stop at night
--ar 16:9 --v 7 --oref https://YOUR-IMAGE-URL.png --ow 60
a young woman with cropped silver hair at a rain-slick bus stop at night
--ar 16:9 --v 7 --oref https://YOUR-IMAGE-URL.png --ow 100
a young woman with cropped silver hair at a rain-slick bus stop at night
--ar 16:9 --v 7 --oref https://YOUR-IMAGE-URL.png --ow 200
a young woman with cropped silver hair at a rain-slick bus stop at night
--ar 16:9 --v 7 --oref https://YOUR-IMAGE-URL.png --ow 400
Lower weights give the scene and style more room. Higher weights hold the likeness harder and fight your style words. Stop at 400 unless stylize is very high.
On Niji 7, the shape changes. No reference parameter for the character, so the written description is your consistency mechanism, backed by --sref for look:
a girl with cropped silver hair in a single short ponytail, dark green
eyes, a small scar through her left eyebrow, charcoal wool coat with a
high collar, standing at a bus stop at night, rain, neon signage
--ar 16:9 --niji 7 --sref https://YOUR-STYLE-IMAGE.png
Keep that character description block byte-identical between prompts. Retyping it is how drift creeps in. For more Midjourney prompt structure, our V7 prompt examples and style modifiers reference cover the surrounding syntax, and the aesthetic prompts collection has starting points for the look.
Troubleshooting
"My reference is being ignored." Check the version first, before anything else. --cref on V7 or V8.x, and --oref on V6, are marked unsupported. Then check your URL is public and ends in a supported extension. Then check you actually have a text prompt; both features require one.
"The face drifts between images." Raise --ow, or lower --cw to 0 so the reference concentrates on the face rather than spreading across the outfit. Then re-describe the distinguishing features in text. The docs are clear that fine detail does not survive the round trip on its own.
"The style is overriding my character." Lower --ow, then name the physical traits you need in the prompt text. That is Midjourney's own recommended sequence. If you are running high --stylize or --exp, the docs say to raise --ow instead, because those settings are competing with the reference.
"My V8.2 images changed the moment I added a reference." They did. Adding an Omni Reference runs the prompt in V7. You are no longer generating in V8.2, and you are paying 2x GPU for the privilege.
"I'm phrasing it as an instruction." Midjourney lists this as a bad-prompt pattern. "Put this man in a cafe" is wrong. "A man with blue hair and gold glasses sitting in a cafe" is right. Describe the finished image; do not give the model editing directions.
Where a prompt tool fits, and where it does not
Plainly: nothing in a prompt tool makes Midjourney hold a face. That is the image model's job, and the parameters above are the only levers Midjourney exposes for it. Prompt Architects does not generate images and does not do character consistency.
What it does do is the half of this problem that is text. Midjourney's documentation keeps repeating that the reference image is not enough: the text prompt has to carry the scene, the style, and every distinguishing detail the reference cannot convey. That is the part that drifts when you retype a character description from memory across thirty prompts.
So the honest use case is narrow and real: keep the character block as a saved prompt template in your library, pull it in unchanged for every scene, and let the Enhance step structure the scene description around it. Consistent text, consistent parameters, then whatever the model gives you. There is a free plan if you want to try that workflow before paying for it.
Sources and dates
Every version claim on this page was read directly from Midjourney's documentation on August 25, 2026. The docs themselves carry a last-updated date, so you can check whether anything has moved:
- Version, doc updated July 24, 2026. Default version, release dates, feature compatibility chart.
- Omni Reference, doc updated July 27, 2026.
--oref,--owrange, GPU cost, incompatibilities. - Character Reference, doc updated July 27, 2026.
--cref,--cw, version scope. - Parameter List, doc updated June 11, 2026. Note that
--crefand--cwno longer appear on it. - Welcome to Niji V7, published January 9, 2026. The
crefstatement.
One caveat on the sources themselves: they do not fully agree. Midjourney's Legacy Features article still tells readers that "the current default version" is V7, while the Version article says V8.2. When two Midjourney pages conflict, the more recently updated one is the better bet, and a single test job settles it faster than either.
Stop rewriting prompts. Start shipping.
Works with ChatGPT, Claude, Gemini, Grok, Midjourney, Ideogram, Veo3 & Kling. 5.0★ on the Chrome Web Store.
Create An Account