@scopeful/midjourney-style-refs
v1.0.0
Published
Use this skill whenever the user wants consistent visual style, characters, or objects across multiple Midjourney images. Triggers include any mention of Midjourney style reference, Midjourney character reference, --sref, --oref, --sw, --ow, consistent ch
Readme
name: midjourney-style-refs description: Use this skill whenever the user wants consistent visual style, characters, or objects across multiple Midjourney images. Triggers include any mention of "Midjourney style reference", "Midjourney character reference", "--sref", "--oref", "--sw", "--ow", "consistent character in Midjourney", "Midjourney moodboard", "Midjourney style code", or asking for a series of images that share a look. Do not trigger for single-image generation — for that, use the midjourney-v7-prompts skill instead.
Use Midjourney style + character refs
Midjourney has the strongest style-consistency toolkit of any consumer image generator. Most users never touch it because the parameter names are obscure (--sref, --oref, --sw, --ow, --sv) and the docs are scattered. This skill consolidates the workflow so your agent can deliver a coherent image set on the first try instead of generating 40 one-offs.
There are three tools, and they do different things. Mixing them up is the #1 mistake.
| Tool | Parameter | What it carries | What it does NOT carry |
|------|-----------|-----------------|------------------------|
| Style Reference | --sref URL or --sref CODE | Colors, medium, texture, lighting, "vibe" | Subjects, characters, composition |
| Omni Reference (V7+) | --oref URL | A specific person, object, vehicle, or creature | Style, lighting, composition |
| Image Prompt (legacy) | URL at start of prompt + --iw N | A blend of content and style | Fine-grained control |
Use --sref when the user wants a look. Use --oref when the user wants a thing in the picture. Use both together when they want both. Image prompts are blunt — reach for them only when neither of the above fits.
Style Reference (--sref)
Syntax in Discord: prompt text --sref <URL_or_CODE>
On midjourney.com: drag the image into the Style Reference slot in the Imagine bar.
Three input forms:
- Image URL —
--sref https://example.com/inspiration.jpg. The image must already be hosted online; if the user has a local file, tell them to host it on Discord first. - Style code —
--sref 1234567890. Numeric codes from MJ's internal style library. Browse them on midjourney.com/explore under the Styles tab. - Random —
--sref random. MJ picks a style code and substitutes it in. Pair with--repeatto fan out across many styles.
Combine multiple refs with spaces: --sref URL1 URL2 URL3. Combine with weights to bias toward one: --sref URL1::2 URL2::1.
Style Weight (--sw)
--sw N controls how strongly the reference influences output. Range 0–1000, default 100.
--sw 50— light influence, prompt text leads--sw 100— balanced (default)--sw 400— heavy influence, reference dominates--sw 1000— extreme, prompt text barely matters
The default is usually wrong. Try --sw 200 first when you want a clear style transfer.
--sw is not compatible with Moodboards (see Personalization profiles instead).
Personalization 2.0 (--p)
Personalization 2.0 (--p) perfectly syncs with SREF. You can use them together to combine your personal trained aesthetic preferences with a specific Style Reference for deeply customized consistency.
Style Reference Version (--sv)
The --sref algorithm has multiple versions. For V8/V7:
--sv 6— default, current--sv 4— old V7 model from before June 2025 (use if reproducing old looks)
For V6: --sv 1 through --sv 4 exist with different aesthetics. Don't tell the user to use these unless they ask — defaults are fine.
Prompting around --sref — the trap
The biggest mistake is telling MJ what to do with the reference. Don't do this:
❌ the look of this image but as a dog --sref URL
❌ copy this style and make a bunny --sref URL
The prompt text should describe the content you want, not the relationship to the reference:
✅ detailed portrait of a golden retriever --sref URL
✅ ballpoint pen sketch of a bunny --sref URL
If the user gives you a reference and asks "make a dog in this style," translate it before generating: drop the meta-language, keep the subject.
Omni Reference (--oref)
Syntax: prompt text --oref <URL>
Only one image — you can't stack --oref URLs.
Puts a specific person, character, or object into the generated image. The reference image is what you want to appear; the prompt text describes the scene around it.
illustration of a young woman with short gray hair drawn by a comic book artist, sitting in a 1980s diner --oref https://example.com/character.jpg --ow 100Omni Reference Weight (--ow)
--ow N controls how faithfully the reference is reproduced. Range 1–1000, default 100.
--ow 50–100— loose interpretation; MJ will alter details to fit the scene--ow 200–400— moderate fidelity; use this for character consistency across a series--ow 500+— high fidelity but unpredictable unless paired with high--stylizeor--exp
Keep --ow under 400 unless the user specifically asks for near-photographic accuracy.
Omni Reference gotchas — the agent MUST know these
- 2× GPU cost. Omni Reference doubles the per-image GPU time vs regular V8/V7. Factor this into iteration budget.
- Not compatible with Fast Mode, Draft Mode, or Conversational Mode. If the user is on Draft,
--orefwon't work — they need to switch off--draftfirst. Furthermore,--orefcannot be used in conversational/voice Draft Mode loops. - Not compatible with inpainting, Vary Region, Pan, or Zoom Out. To edit an
--orefresult, the user must open it in the midjourney.com Editor and remove the--oref+--owparams. - V7 or newer (including V8). Doesn't work on V6 or earlier.
- Style reinforcement is critical. If you want a style different from the reference image, mention the desired style both at the start and end of the prompt — repetition matters because
--orefpulls hard toward the reference's style.
Combining --sref and --oref
Yes, this works, and it's the magic move. The combo lets you:
- Put a specific character (
--oref) into a specific aesthetic (--sref) - Build a whole shoot's worth of consistent character-in-style imagery
woman in a green coat walking through fog at night, cinematic, moody --sref STYLE_CODE --oref CHARACTER_URL --sw 200 --ow 200 --ar 16:9 --v 8Tip: lower both weights (--sw 150 --ow 200) when combining, because they compete for influence.
Workflows the agent should know
Workflow 1: Consistent character across 10+ images
- User uploads or describes a character. Generate one strong character portrait first using
--orefwith their reference at--ow 200. - Lock the resulting image as the
--oreffor all subsequent shots. - Vary the scene, not the character: change prompt text +
--ar, keep--oref URL --ow 200. - If style starts drifting, add
--srefof the first generated image to lock both.
Workflow 2: Consistent style across a series with different subjects
- User has a mood image or finds one in the Style Explorer.
- Lock it as
--srefwith--sw 200. - Generate each scene with different prompt text but the same
--sref+--sw.
Workflow 3: Style discovery for a new project
- Run the same prompt 10 times with
--sref random. - Each output gets a different style code — MJ writes it back into the prompt.
- The user picks favorites; copy the resulting
--sref CODEfor future use. - Pair with
--repeat 4if the user has Standard+ plan to fan out in fewer clicks.
Workflow 4: Editorial pivot — same character, different mood
- Use
--orefto lock the character. - Swap
--srefcodes between shots to change mood (warm/cool, soft/hard, photo/illustration). - Keep
--ow 200constant so character stability doesn't change with mood.
GPU-cost reminder
| Setup | Cost per image job |
|-------|-------------------|
| Base V8/V7 image | 1 GPU-min |
| --sref only | 1 GPU-min (no surcharge) |
| --oref (any weight) | 2 GPU-min (2× regular) |
| --sref + --oref | 2 GPU-min |
If the user is on Basic ($10/mo, ~200 image jobs/month), 50 Omni Reference shots = 100 GPU-min = half the month's budget. Push them toward Standard ($30/mo) if they're doing character work seriously.
When NOT to use these tools
- Single-image generation, no consistency need — use the
midjourney-v7-prompts(or v8) skill, save the GPU. - Text rendering / typography —
--srefdoesn't preserve text, and--orefwon't put a logo in the right place. Suggest Photoshop compositing (or rely on native V8 text via quotes). - Highly literal product photography —
--srefmakes everything moody and editorial. Use plain V8 with--raw --stylize 50.
What to deliver to the user
For consistency-driven requests, return:
- The base prompt template (with placeholders for the user's
--sref/--orefURLs) - The shot list — one prompt per scene, all sharing the locked refs
- Estimated total GPU cost based on number of shots × per-shot rate
Example:
**Locked refs (use across all shots):**
- Character: --oref <USER_CHARACTER_URL> --ow 200
- Style: --sref <USER_STYLE_URL> --sw 200
**Shot 1 — diner interior**
> woman in a green coat sitting at a diner counter, neon outside, rain on windows --oref ... --sref ... --ow 200 --sw 200 --ar 16:9 --v 8
**Shot 2 — exterior street**
> woman in a green coat walking past closed shops, wet pavement, sodium streetlight --oref ... --sref ... --ow 200 --sw 200 --ar 16:9 --v 8
**Shot 3 — close-up portrait**
...
Estimated cost: 6 shots × 2 GPU-min (Omni Reference) = 12 GPU-min ≈ $0.40 on Standard plan.