npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@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:

  1. 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.
  2. Style code--sref 1234567890. Numeric codes from MJ's internal style library. Browse them on midjourney.com/explore under the Styles tab.
  3. Random--sref random. MJ picks a style code and substitutes it in. Pair with --repeat to 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 URLcopy 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 URLballpoint 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 100

Omni 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 --stylize or --exp

Keep --ow under 400 unless the user specifically asks for near-photographic accuracy.

Omni Reference gotchas — the agent MUST know these

  1. 2× GPU cost. Omni Reference doubles the per-image GPU time vs regular V8/V7. Factor this into iteration budget.
  2. Not compatible with Fast Mode, Draft Mode, or Conversational Mode. If the user is on Draft, --oref won't work — they need to switch off --draft first. Furthermore, --oref cannot be used in conversational/voice Draft Mode loops.
  3. Not compatible with inpainting, Vary Region, Pan, or Zoom Out. To edit an --oref result, the user must open it in the midjourney.com Editor and remove the --oref + --ow params.
  4. V7 or newer (including V8). Doesn't work on V6 or earlier.
  5. 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 --oref pulls 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 8

Tip: 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

  1. User uploads or describes a character. Generate one strong character portrait first using --oref with their reference at --ow 200.
  2. Lock the resulting image as the --oref for all subsequent shots.
  3. Vary the scene, not the character: change prompt text + --ar, keep --oref URL --ow 200.
  4. If style starts drifting, add --sref of the first generated image to lock both.

Workflow 2: Consistent style across a series with different subjects

  1. User has a mood image or finds one in the Style Explorer.
  2. Lock it as --sref with --sw 200.
  3. Generate each scene with different prompt text but the same --sref + --sw.

Workflow 3: Style discovery for a new project

  1. Run the same prompt 10 times with --sref random.
  2. Each output gets a different style code — MJ writes it back into the prompt.
  3. The user picks favorites; copy the resulting --sref CODE for future use.
  4. Pair with --repeat 4 if the user has Standard+ plan to fan out in fewer clicks.

Workflow 4: Editorial pivot — same character, different mood

  1. Use --oref to lock the character.
  2. Swap --sref codes between shots to change mood (warm/cool, soft/hard, photo/illustration).
  3. Keep --ow 200 constant 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--sref doesn't preserve text, and --oref won't put a logo in the right place. Suggest Photoshop compositing (or rely on native V8 text via quotes).
  • Highly literal product photography--sref makes everything moody and editorial. Use plain V8 with --raw --stylize 50.

What to deliver to the user

For consistency-driven requests, return:

  1. The base prompt template (with placeholders for the user's --sref / --oref URLs)
  2. The shot list — one prompt per scene, all sharing the locked refs
  3. 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.