Skip to content
Midjourney

Midjourney Style Reference & Character Reference: The Real Way to Build Consistent Brand Assets

No magic button exists — but Midjourney’s –sref and –cref parameters are the real way to build consistent brand asset series at scale.

9 min read
Midjourney Style Reference & Character Reference: The Real Way to Build Consistent Brand Assets

Let’s get something out of the way immediately. If you landed here searching for a “Consistency Reference” mode in Midjourney V7, you’ve been chasing something that doesn’t exist — at least not as a named, packaged feature. The brief that spawned this article cited unverifiable claims, a suspiciously round efficiency statistic, and a version number that had no official announcement attached to it. We checked. Multiple times. The research came back empty.

What does exist is considerably more interesting. Midjourney has two legitimate, production-tested systems for maintaining visual consistency across a series of images: Style Reference (--sref) and Character Reference (--cref). Combined with --sw (style weight) and --cw (character weight) parameters, these tools genuinely solve the problem the phantom feature was supposed to fix — building coherent brand asset libraries at scale. Marketing teams who actually know how to use them do report dramatically faster turnaround on campaign assets. They just don’t need made-up mode names to do it.

This guide walks through the real workflow: how to set up a visual anchor image, how to propagate that style across 10, 20, or 50+ outputs, how to layer character and style references together, and where the whole system tends to fall apart if you’re not careful.

What You’ll Actually Achieve

By the end of this tutorial, you’ll have a repeatable workflow for generating brand-consistent image series in Midjourney. Concretely: a hero image that acts as your visual anchor, a batch of secondary assets that share its color palette, lighting, and compositional language, and a set of character or product shots that carry a consistent face or object across scenes. The kind of thing a small marketing team used to spend three days briefing a designer on — now compressible into an afternoon of prompt iteration.

What You Need Before Starting

You need an active Midjourney subscription (Basic plan or above), access to the Midjourney web interface at midjourney.com or the Discord bot, and one strong anchor image — either generated in Midjourney or uploaded from outside. That anchor image is everything. Garbage in, garbage out applies here more than anywhere else in the workflow. Your anchor should nail the mood, color temperature, subject framing, and stylistic register you want across the whole series. Spend time on it. Iterate until it’s right before you touch a single reference parameter.

Pro tip ✅

Generate your anchor image without any reference parameters first. Get it exactly right as a standalone piece. Once you’re happy with it, copy its URL or Job ID — that’s what you’ll feed into --sref. Trying to establish a style while simultaneously referencing an unfinished anchor is a loop that wastes hours.

Step 1 — Build Your Visual Anchor

Your anchor image defines the visual language the entire series will speak. Think of it as a style guide compressed into a single JPEG. For brand work, this means deliberate choices about lighting (soft studio? golden hour? flat editorial?), color palette (warm neutrals, high-contrast brand colors?), subject placement, and any recurring textural or compositional elements.

Here’s a solid starting anchor prompt for a premium skincare brand campaign:

minimalist product photography, amber glass serum bottle on white marble surface, soft diffused side lighting, warm cream and gold color palette, shallow depth of field, editorial luxury aesthetic, ultra detailed --ar 4:5 --style raw --v 6.1

Generate four variations, pick the one that best embodies the campaign direction, and note its URL. That URL is your anchor.

Note 💡

Using --style raw on your anchor gives you cleaner, less stylistically opinionated output — which means when you reference it later, Midjourney is picking up on your visual choices rather than its own aesthetic defaults layered on top.

Step 2 — Apply Style Reference Across Your Asset Series

Once you have your anchor URL, the --sref parameter does the heavy lifting. You paste the anchor image URL directly into the prompt, and Midjourney extracts the color palette, lighting style, and compositional character from it to inform new generations.

The --sw parameter controls how strongly the style reference influences the output, on a scale of 0 to 1000. The default is 100. For brand consistency work, you generally want somewhere between 200 and 500 — strong enough to feel cohesive, loose enough that individual images don’t look like clones.

minimalist product photography, amber glass face cream jar on white marble surface, soft diffused side lighting, editorial luxury aesthetic --ar 4:5 --style raw --sref YOUR_ANCHOR_URL --sw 300 --v 6.1

Swap the subject while keeping everything else consistent. The reference handles the visual language; you handle the content variation.

minimalist product photography, amber glass toner bottle with dropper cap, white ceramic background, editorial luxury aesthetic, overhead flat lay --ar 1:1 --style raw --sref YOUR_ANCHOR_URL --sw 250 --v 6.1
lifestyle shot, woman applying serum, close up on hands and face, warm skin tones, soft natural window light, editorial luxury aesthetic --ar 4:5 --style raw --sref YOUR_ANCHOR_URL --sw 200 --v 6.1

Notice that the --sw value drops slightly for the lifestyle shot. When you introduce human elements or more complex scenes, a slightly lower style weight gives Midjourney more room to handle the compositional complexity without the reference fighting the prompt.

Pro tip ✅

Run the same prompt with --sw 100, --sw 300, and --sw 500 back to back. Screenshot the three outputs side by side. This five-minute calibration exercise tells you exactly where the sweet spot is for your specific anchor — and saves you from running 20 confused generations later.

Step 3 — Lock Characters or Products with –cref

Style Reference handles aesthetic consistency. Character Reference handles subject consistency — specifically faces, characters, or distinctive objects that need to look like the same entity across multiple images. This is the parameter that makes building a campaign around a recurring character actually viable.

Feed --cref a URL of your character or product, and use --cw to control how closely the output matches the reference. At --cw 0, Midjourney captures only the style/costume and ignores facial features. At --cw 100 (the default), it prioritizes facial likeness. For most campaign work, 70–85 hits a useful balance.

portrait of a woman with warm olive skin, brown eyes, natural makeup, looking directly at camera, soft studio lighting, luxury skincare brand campaign --ar 4:5 --style raw --cref YOUR_CHARACTER_URL --cw 80 --sref YOUR_ANCHOR_URL --sw 250 --v 6.1
three quarter portrait of a woman with warm olive skin, brown eyes, applying face cream, relaxed expression, natural window light, editorial --ar 4:5 --style raw --cref YOUR_CHARACTER_URL --cw 75 --sref YOUR_ANCHOR_URL --sw 200 --v 6.1

Stacking --cref and --sref simultaneously is where the real workflow efficiency lives. You’re telling Midjourney: keep the visual style from this anchor, keep the character from this reference, and follow my content prompt for the scene. Three inputs, one output, no Photoshop patching required.

Warning ⚠️

Character Reference is not the same as a perfect face clone. It handles likeness with varying accuracy depending on angle, lighting, and how distinctive the reference face is. For campaign work, brief your stakeholders upfront: the character will be recognizably consistent across the series, not photographically identical. Treating it as a substitute for actual model photography will cause pain.

Step 4 — Build the Full Asset Series Systematically

With your anchor URL and character URL confirmed and your weight calibrations dialed in, you can now run a systematic batch. The trick is to vary only one element at a time per generation — subject, angle, background context, or format ratio — while keeping the style and character parameters identical across every prompt.

Here’s a coherent five-image series for a seasonal campaign, all using the same anchor and character references:

product flatlay, skincare collection arranged on marble surface, amber glass bottles and jars, dried botanicals as props, overhead shot, soft natural light --ar 1:1 --style raw --sref YOUR_ANCHOR_URL --sw 300 --v 6.1
close up texture shot, amber glass serum bottle with light refracting through liquid, macro photography aesthetic, warm gold tones --ar 4:5 --style raw --sref YOUR_ANCHOR_URL --sw 350 --v 6.1
lifestyle portrait, woman with warm olive skin sitting near window, holding skincare bottle, soft morning light, editorial luxury --ar 4:5 --style raw --cref YOUR_CHARACTER_URL --cw 78 --sref YOUR_ANCHOR_URL --sw 220 --v 6.1
product hero shot, single amber serum bottle centered on white background, dramatic soft light from above, high end beauty campaign --ar 4:5 --style raw --sref YOUR_ANCHOR_URL --sw 400 --v 6.1
banner crop, skincare products and botanicals arranged horizontally, wide editorial composition, warm cream palette, shallow depth of field --ar 16:9 --style raw --sref YOUR_ANCHOR_URL --sw 280 --v 6.1

Five different content types — flatlay, macro, lifestyle, hero, banner — all anchored to the same visual language. That’s a coherent campaign asset library, not five images that happen to share a vibe.

Pro tip ✅

Keep a running text document with your anchor URL, character URL, and confirmed weight values. Copy-paste that block into every new prompt instead of retyping it. Sounds trivial. After your 30th generation in a session, you’ll appreciate not having introduced a typo into --sw six prompts back.

Step 5 — Handling Drift and Fixing Broken Consistency

The most common failure mode: you’re eight images into a series and one comes out looking like it belongs to a different campaign entirely. Midjourney drifted. This happens when the prompt description starts fighting the style reference — usually because the scene description is detailed enough to override the reference’s influence.

When you notice drift, the fix is usually one of three things. First, increase --sw by 50–100 points on the offending prompt. Second, simplify the scene description — less text means the reference has more relative weight. Third, check whether you accidentally cropped or resized your anchor URL; Midjourney reads the actual image content, so a thumbnail version of your anchor will reference differently than the full-resolution original.

Avoid 🚫

Don’t try to fix a drifted image by adding more descriptive text to the prompt to “steer it back.” More text usually makes drift worse, not better. The fix is almost always in the parameters, not the prose.

Tips & Tricks Worth Bookmarking

Multiple style references in a single prompt are possible — --sref URL1 URL2 — and Midjourney blends them. This is genuinely useful if your brand style sits between two reference images (say, one captures the color palette perfectly and another captures the lighting). Use --sref URL1::75 URL2::25 to weight the blend, where the numbers are proportional influence values.

For product consistency rather than character consistency, --cref also works on objects. Feed it a photo of your actual product and it’ll maintain a recognizable version of that shape and color across scenes. It’s imperfect — don’t expect exact label reproduction — but for mood boards and campaign concepts, it’s more than good enough.

The --seed parameter is your secret weapon for generating controlled variations of a specific output. Find a generation you love, grab its seed number from the job info, and use that seed in subsequent prompts with slight description changes. The output will vary in content while maintaining a compositional similarity to the original. Combine with --sref and you have a remarkably stable iterative workflow.

Pro tip ✅

Build a private Midjourney folder — or a simple Notion board — organized by campaign. Store every anchor image URL, character reference URL, confirmed weight settings, and the prompts that produced your best outputs. Three months later when the client wants a seasonal refresh of the same campaign look, you’ll have everything you need in under five minutes instead of trying to reverse-engineer what you did the first time.

The Real Workflow, Without the Marketing Fluff

There is no single-button consistency feature in Midjourney, and honestly, there probably shouldn’t be. The combination of --sref, --cref, and their respective weight parameters gives you granular control over what kind of consistency you want — which is a more useful tool than any automated “lock everything” mode would be. Style consistency for mood and color. Character consistency for people and products. Seed consistency for compositional control. Used together, they cover the full spectrum of what brand asset production actually requires.

The workflow does take an afternoon to get right the first time. Calibrate your weights, build your anchor carefully, keep your reference URLs organized. After that initial investment, generating a coherent 20-image campaign library becomes a morning’s work rather than a week-long agency brief. That’s not a made-up efficiency statistic — it’s just what happens when you stop fighting the tools and start using them deliberately.

author avatar
promptyze

promptyze

ADMINISTRATOR