How I Created Consistent Characters in Midjourney AI
When I started building Feedback Matters—a branching, scenario-based eLearning module in Articulate Storyline—I knew I needed visuals that felt cohesive. The training was character-driven, with a main character showing a range of emotions over time, plus several supporting characters who also needed to appear consistently. That meant no random AI chaos. I needed control.
Midjourney can be unpredictable, especially when it comes to generating the same person more than once. But after a lot of experimenting, I figured out a method that actually worked—and I’m sharing it here in case it helps anyone else struggling with character consistency in generative art.
Step 1: Use Stock Photos as Anchors
Instead of trying to write ultra-detailed character descriptions, I went a different route: I found free, license-safe stock photos to visually represent each character.
These images went straight into the Character Reference section of the Midjourney prompt bar. This was my foundation—the “face” of each character—and I used the same image every time I prompted for that character. I didn’t leave it to chance.
Step 2: Lock in the Style With Style References
Before I created any characters, I generated an image in the exact style I wanted—bold, graphic novel-inspired, clean white background—I saved it. Then I used that image as the style reference for every character moving forward.
This helped Midjourney stay consistent across different characters, not just different poses of the same one.
You can literally lock the reference images into place, which I found very helpful!
I used Midjourney to create this image before deciding what any of the characters would look like. I wanted to get the style right first. Then I used this image as the style prompt for every character in the series.
Step 3: Use Consistent Prompts
I didn’t rely solely on the image prompt. I also wrote text prompts to direct Midjourney I kept the base language consistent, with minor tweaks as needed.
Here’s an example of one I used:
“A detailed illustration of a man in the style of pop art, with bold lines, and flat colors. He is wearing a blue button-up-shirt, looking straight at the camera, against a white background. The artwork should have bold lines, vivid colors, and comic-book style lighting.”
I used this same structure over and over, only changing elements like expression, posture, or outfit to match the scenario I was building.
Step 4: Stick With a Seed
This part made a huge difference. I used the same seed number for every image of a particular character. This helped lock in randomness and gave me much more reliable results.
Even when changing poses or facial expressions, the characters still usually looked like themselves.
The seed is the random “snow” (think of static on a TV screen) that AI uses to start creating images. If you use the same seed every time, you are starting with the same random pattern every time, so everything can be closer in style.
To add a seed number, simply type “--seed x x x x x” (replace the x’s with numbers) at the end of your prompt. Or once you have an image you like, you can copy the seed number from that batch to keep using.
Step 5: Use Clothing Reference Images (Carefully)
To guide Midjourney even more, when I needed a character to be wearing another outfit, I added clothing images in the character references section.
Important note: If I added a clothing reference image, I made sure the model in that photo matched my character’s skin tone and hair texture/color. If not, Midjourney would sometimes override the original reference. Consistency meant being really intentional with every image I added.
Step 6: Add Expression or Gesture References
To help Midjourney understand what gestures and facial expressions I wanted in my images, I sometimes added what I was looking for in the image prompts box.
This had mixed results. Sometimes the Midjourney would take too much from the images, and the style or coloring would be off; other times it worked beautifully. I tried using illustrated images and photographs to see if one would influence the artwork less, but I had mixed results with both. Sometimes, photographs would pull the generated images into a much more photorealistic zone, while the illustrated references could change the colors and textures to be more cartoony. I had the best luck with simple gesture photographs.
The Result
In the end, I had a full visual cast for my scenario-based training, all in a consistent style and with recognizable faces. My main character had versions where he looked stressed, calm, frustrated, thoughtful—whatever the moment called for. Supporting characters appeared in different outfits, showing time passing in the narrative.
Why This Matters
We know visuals in eLearning aren’t just “nice to have”—they affect how learners emotionally connect with a story, how much they retain, and whether the experience feels polished or slapped together. AI tools like Midjourney can be incredibly powerful if you guide them with precision and patience.
This approach didn’t save me time on this project, but with these lessons learned, I know it could save me time in the future. It definitely kept the quality high and gave me a lot of control.
TL;DR: My Workflow in a Nutshell
Pick a consistent stock photo to serve as the character’s face reference.
Add a style reference image once you generate the look you want.
Use a consistent prompt for each character, only changing emotion/pose/outfit.
Lock in each character’s look with a consistent seed number.
Carefully use clothing photos—make sure they match the character’s skin and hair— add them to the character reference box and describe them in the written prompt.
Experiment with adding expression and gesture images in the image prompt box.