Character consistency in Midjourney

I have been able to figure out a way to achieve pretty close character consistency in MidJourney. I figured I’d do a writeup on how you can create characters and reuse them in different settings. You can also use these characters to create footage in RunwayML or other AI motion services. Here’s my first ever try:

This is excellent news for storytelling and other applications that require consistent characters. Let's get started!

Step 1: Develop your character

In this first step you’re simply going to generate a portrait of the character you want. You can do whatever you need to do to describe this character. You can get detailed if you want specific traits or you can leave it up to chance. It’s all up to you. I kept it very simple in my case but if you want to specify eye color, hair style and other stuff, please do! I prompted MJ with:

“a 19 years old girl named Amanda, portrait, cinematic --ar 2:3”


I did not put much detail in the description but like I said, if you need a specific look, go crazy! Riff on this for as long as you need to until you have a face you like. Now upscale the face you like! I ended up with the you see below.

Meet Amanda!

Step 2: Create “subtle variations”

With the “Vary (Subtle)” button that appears under any upscaled image in Midjourney you can have Midjourney create 4 different variations on your theme that are yet still very close in likeness. Feel free to re-roll this if you feel there’s too much variation. Once you are satisfied with the 4 portraits you have now you can proceed to the next step. Note that it’s ok if they don’t look EXACTLY alike. That’s normal and it won’t be a problem further down the line.

Step 3: Upscale all 4 results

These 4 upscaled images will be the ‘source of truth’ MJ will use to create images of your character in whatever setting you want. Step 4: Get all image links for your 4 portraits You can do this by right-clicking on each of the upscaled images and choose ‘Copy link’.

Right-click on the image and find the ‘Copy Link’ option at the bottom of the menu

Paste the link in your favorite text editor. Move on to the next one and paste it in right after the first link, separating them by one space. You’ll end up with something looking like this in your document:

https://cdn.discordapp.com/attachments/1041946862992769064/1137857043374559252/themarco73_a_19_years_old_girl_named_Amanda_portrait_cinematic_bb90dbfe-3193-406f-9969-38fd900768f3.png… https://cdn.discordapp.com/attachments/1041946862992769064/1137857050127368232/themarco73_a_19_years_old_girl_named_Amanda_portrait_cinematic_ded1cb10-ac2f-4a66-ad66-fcbcf8d94723.png… https://cdn.discordapp.com/attachments/1041946862992769064/1137857063855341708/themarco73_a_19_years_old_girl_named_Amanda_portrait_cinematic_13ebd6ec-1ef1-4f89-872e-f2d0d4e8077a.png… https://cdn.discordapp.com/attachments/1041946862992769064/1137857077386166292/themarco73_a_19_years_old_girl_named_Amanda_portrait_cinematic_288b765e-572a-46e8-95f8-cea1673f496d.png…

Note that you could do another roll of ‘Vary (subtle)’ but I do not believe it’s needed. I did this for “Amanda” and ended up getting 8 image links rather than 4 but the result wasn’t any better than my first attempt where I used only 4.

Step 5: Start prompting for the images you want with this character

Type /imagine and then paste in the 4 links you collected in your text document. Add one space and then simply add the rest of the prompt to tell Midjourney what you want. I kept the initial description the same and added things such as:

  • a 19 years old girl named Amanda as a warrior princess in Game of Thrones, cinematic movie still --ar 16:9

  • a 19 years old girl named Amanda in the library, cinematic movie still --ar 16:9 

You get the picture. For a cinematic effect the phrase “cinematic movie still” works great. You can also add the word “bokeh” if you want a nice blurry background but usually the “cinematic movie still” is already enough. Re-roll your prompts as needed. Some rolls will look closer to your base character than others so feel free to run your prompt again if you aren’t 100% satisfied.

The result of one of my prompts with this character

Step 6: Upscale whichever result(s) you love.

This step is pretty self-explanatory.

Step 7: Zoom out

Since you’re getting close up portraits all around you’ll have to use the “Zoom out 2x” function once or twice to get more of the character in the frame. Play around until you have a scene you like. Upscale that scene and you’re all done!

Step 8: Repeat step 5 through 7 as many times as you need to to create all the scenes you want for your project

Remember, sometimes it may not look perfect. In that case simply re-roll. There is more to experiment. You could try to keep a constant seed for example. This may help consistency but I’ll leave it to you to try that. You can now go to RunwayML Gen-2 or other video AI systems and bring your character to life!

See the gallery below for the results I came up with as I was writing this tutorial.

I hope you enjoyed it!

Previous
Previous

From 0-1000 followers on X in 26 days

Next
Next

Creating a logo with AI