How to Create Consistent Characters in Midjourney for Storytelling

Disclosure: This post contains affiliate links. If you purchase through our links, we may earn a commission at no extra cost to you. We only recommend tools we genuinely use and trust.

Creating a recognizable, consistent character across multiple scenes is the foundational skill for AI comic books, graphic novels, and visual storytelling. With the introduction of native character reference features in Midjourney v6, you no longer have to rely on complex face-swapping workarounds or rigid seed matching to keep your protagonist looking like the same person. This guide breaks down the exact workflow, parameters, and prompt structures you need to maintain character identity across any environment or action.

The Mechanics of Character Reference (--cref)

Midjourney's character reference parameter (--cref) is the engine that drives consistency. By appending --cref followed by the URL of your character's image to your prompt, you instruct the model to analyze the facial features, hair, and overall vibe of that reference and apply it to the new generation.

However, --cref doesn't work alone. It is controlled by the character weight parameter (--cw), which determines exactly how much of the original character's attributes are carried over. The --cw scale runs from 0 to 100, and understanding how to manipulate this dial is critical for storytelling where characters need to change clothes, expressions, or ages.

Character Weight (--cw) What It Retains Best Use Case in Storytelling
--cw 100 (Default) Face, hair, and exact clothing/outfit. Standard scenes where the character remains in the same outfit.
--cw 50 Face and hair, but allows partial clothing changes. Transition scenes where the character adds a jacket or hat.
--cw 0 Face only. Ignores original clothing and hair. Scenes requiring completely new outfits, armor, or extreme weather gear.

Step-by-Step Workflow for a Consistent Character

To build a reliable character for a graphic novel or storyboard, you need a systematic approach. If your base character is flawed, every subsequent generation will inherit those flaws.

Step 1: Generate the Anchor Image

Your anchor image is the definitive portrait of your character. Keep the prompt simple and focused on physical traits rather than complex actions or backgrounds. A neutral expression and a clean background work best. Before you dive into generating individual scenes, many professional creators recommend building a comprehensive character sheet. A character sheet includes your protagonist from multiple angles—front, profile, and three-quarter view—as well as a few different expressions. While you only need one anchor image for the --cref parameter, having a visual reference of how your character's jawline looks from the side or how their eyes crinkle when they smile will help you verify the accuracy of your subsequent generations. You can generate a character sheet by prompting for multiple views of the same character, character design sheet, turnaround.

Example Prompt:
medium shot portrait of a 30-year-old female cyberpunk hacker, short neon blue hair, wearing a black leather jacket, neutral expression, studio lighting, plain grey background --v 6.0

Once you generate a grid you like, upscale the best option (using U1, U2, U3, or U4).

Step 2: Retrieve the Image URL

To use this anchor image as a reference, you need its direct URL. If you are using Discord, click on the upscaled image, select "Open in Browser," and copy the URL from the address bar. If you are using the Midjourney Alpha website, you can simply drag and drop the image into the prompt bar, or right-click and copy the image link.

Step 3: Apply the Reference to New Scenes

Now you can place your character into the narrative. Write your new prompt describing the action and environment, then append the --cref and --cw parameters.

Example Prompt:
wide shot, the female cyberpunk hacker running through a rain-slicked neon alleyway, looking over her shoulder in fear, cinematic lighting --cref <URL> --cw 100 --v 6.0

Because we used --cw 100, Midjourney will attempt to keep her short neon blue hair and black leather jacket intact while adapting her pose to the running action.

Step 4: Changing Outfits and Environments

When your story requires the character to change clothes—say, putting on a corporate suit for an infiltration mission—you must drop the character weight to 0. This tells Midjourney to keep the face but allow the new prompt to dictate the wardrobe.

Example Prompt:
medium shot, the female cyberpunk hacker wearing a sharp white corporate tailored suit, sitting in a sterile boardroom, confident smirk --cref <URL> --cw 0 --v 6.0

Advanced Techniques for Complex Narratives

Once you master the basic --cref workflow, you can combine it with other Midjourney parameters to push your storytelling further.

Blending Multiple Character References

You aren't limited to a single anchor image. If you want to create a character who is a perfect blend of two different reference images, you can use multiple URLs.
--cref <URL1> <URL2>
This is particularly useful if you want to age a character up or down by blending their anchor image with a reference of an older or younger person.

Combining Characters with Style References (--sref)

Consistency in storytelling isn't just about the character; it's also about the art style. If your comic book has a specific watercolor or gritty noir aesthetic, you should use the style reference parameter (--sref) alongside --cref.

Example Prompt:
close up of the hacker typing on a holographic keyboard --cref <Character_URL> --cw 50 --sref <Style_URL> --sw 250 --v 6.0

This ensures that both the protagonist's identity and the visual language of your graphic novel remain locked in across dozens of panels. If you are struggling to find the right aesthetic, you can browse the community forum to see which style codes other creators are currently using.

Using Seed Numbers for Extra Stability

While --cref does the heavy lifting, adding a fixed seed number (--seed 123456) to your prompts can provide an extra layer of structural consistency, especially when generating sequential panels that take place in the exact same room. It reduces the random noise in the generation process, keeping background elements from shifting too drastically between shots.

Trade-offs and Current Limitations

As powerful as Midjourney v6 is, it is not a perfect 3D rendering engine. You will encounter friction, and knowing these limitations will save you hours of wasted GPU time.

  • Complex Tattoos and Scars: --cref struggles to map intricate tattoos or specific facial scars perfectly from one angle to another. They will often shift in placement or change design slightly.
  • Exact Logos and Text: If your character's shirt has a specific logo, --cw 100 will try to keep it, but the text will likely scramble. You will need to fix this in post-production using Photoshop Generative Fill.
  • Extreme Angles: Profiles and extreme high/low angles can sometimes break the facial likeness. Midjourney relies heavily on the anchor image; if your anchor is a straight-on portrait, the AI has to guess what the profile looks like. It helps to generate a character sheet with multiple angles first, then use the specific angle you need as the --cref for that particular scene.
  • Multi-Character Scenes: When you need your protagonist to interact with a villain or a sidekick, the workflow changes. As mentioned, putting two --cref URLs in a single prompt will just mash them together. Instead, prompt for the interaction using generic descriptions: a cyberpunk hacker fighting a corporate security guard in a neon alleyway. Once you have a composition you like, click the "Vary (Region)" button. Select the face of the hacker, and in the prompt box that appears, add --cref <Hacker_URL>. Submit that job. Then, take the resulting image, click "Vary (Region)" again, select the guard's face, and add --cref <Guard_URL>. This multi-step inpainting process is currently the only reliable way to maintain strict consistency for multiple distinct characters in a single Midjourney frame.

Pricing and Tool Stack Considerations

Building a full graphic novel or consistent content feed requires a lot of generations, which means you need to manage your subscription tiers effectively.

Midjourney offers several tiers:
- Basic Plan ($10/mo): Gives you roughly 200 fast generations. This is rarely enough for a full storytelling project where you are iterating on character consistency.
- Standard Plan ($30/mo): Includes 15 hours of fast GPU time and unlimited relaxed GPU time. This is the sweet spot for most solo creators.
- Pro Plan ($60/mo): Adds stealth mode and more concurrent jobs, which is useful if you are working on client projects under NDA.

Beyond Midjourney, your storytelling stack will likely include a few other subscriptions. If you are adding dialogue bubbles and laying out comic pages, Canva Pro ($15/mo) or Adobe Creative Cloud (prices vary, but Photoshop is around $23/mo) are industry standards. For creators looking to turn their static characters into video, you might take your consistent Midjourney generations and run them through Runway Standard ($15/mo) or Luma Dream Machine to add subtle motion to the scenes. The beauty of the --cref workflow is that once you lock in the character visually, that image can serve as the foundation for cross-platform media generation. If you are just getting started with your tool stack, check out our Start Here roadmap for a breakdown of essential software.

Final Thoughts

Creating consistent characters in Midjourney is no longer a dark art requiring dozens of prompt hacks; it is a systematic process of managing your anchor images and dialing in your --cw weights. The key to success is preparation. Spend the time upfront to generate a flawless anchor image, test it across a few extreme environments with --cw 0, and build a library of reference URLs before you start generating your actual story panels.

Remember that AI tools are iterative. You will rarely get the perfect panel on the first roll. Embrace the process of generating, tweaking the prompt, adjusting the character weight, and using inpainting to fix minor errors. If you want to dive deeper into structuring your narratives or monetizing your AI art, explore all guides on the site, or read more About us to see how we support working AI creators.