How do you make your character look happy, angry, sad, and surprised without changing their appearance in every image? That’s the challenge when creating a character reference sheet for a visual novel, comic, or character profile. The results can vary depending on the AI tool and workflow you choose.
I tested two methods using the same OC on PixAI: generating all expressions in one sheet or creating each emotion separately. Both have their uses, but I’d pick Route A for character profiles or design preferences and Route B for visual novels and comic panels.
What Makes a Character Expression Sheet Actually Useful?
A good expression sheet needs more than six nice-looking faces of your OC. To make it useful, each expression should:
- Be easy to recognize without needing a closer look.
- Look noticeably different from the other expressions.
- Preserve the OC’s appearance, from facial features, hairstyle, eye color, accessories, and clothing.
- Maintain the same framing so you can swap expressions without adjusting the layout.
Remember, a convincing expression involves more than just changing the mouth. You also need to describe how the eyebrows, eyelids, and cheeks should look to make the emotion clear.
Step 1 — Decide Which Six Emotions to Include
Start by deciding which six emotions your OC will show before moving on to prompting and generation. Write them down along with a short instruction explaining how the facial features should change for each emotion.
Having this list ready makes writing your prompts much easier. For this experiment, I’ll use six expressions: Neutral, Happy, Angry, Sad, Surprised, and Embarrassed. You can swap them for other emotions depending on your character.
- Neutral: Keep the mouth closed and relaxed, eyebrows in their natural position, and eyes looking straight ahead.
- Happy: Add a gentle smile, slightly raised eyebrows, and bright, cheerful eyes. Include a subtle blush.
- Angry: Keep the mouth firmly closed, eyebrows lowered and furrowed, and eyes narrowed.
- Sad: Turn the corners of his mouth slightly downward, raise the inner eyebrows, and give the eyes a soft, droopy appearance.
- Surprised: Slightly open the mouth into a small O shape, raise the eyebrows, and widen the eyes.
- Embarrassed: Add a small, shy smile, slightly raised eyebrows, and eyes looking downward or away. Include a subtle pink blush on both cheeks and a tiny sweat drop.
To keep the test consistent, I'll use these exact expressions for both routes.
Step 2 — Start with One Neutral Reference Image
Already have an image of your OC? You can use it as your reference as long as it has a neutral facial expression. If not, you can create one with PixAI.
Ideally, your reference image should:
- Show your character facing forward, from the head to the shoulders.
- Keep both eyes and eyebrows visible.
- Have a relaxed face and closed mouth.
- Use a simple, uncluttered background.
I’ll be using my Yakuza anime OC for this experiment:
I went with a Yakuza OC because, honestly, a love-interest lead is exactly the kind of character you'd want to give a full set of expressions in a visual novel.
No matter which route or generation I use, his hair color, eyes, neck tattoo, black suit, and dress shirt should all stay the same. Only his expressions should change.
Step 3 — Route A: Create the Entire Expression Sheet at Once
With your OC's neutral portrait ready, it's time to set up your generation options. Choose your aspect ratio, model, and other settings in PixAI by following these steps:
- Open your PixAI account and select Generate from the upper-left panel to access the canvas.
- Once you're on the blank canvas, check the right panel for Model, Styles, and Settings. For this experiment, choose PixAI Edit Pro as your model.
The total cost for this setup is 8,000 Credits.
- Next, go to Settings Selection. Because all six expressions will appear on a single sheet, we'll need more horizontal space. Choose a 5:4 aspect ratio, set the resolution to 1K, and select Standard quality.
- With the settings ready, it's time to add your neutral OC image as a reference. Find the image uploader icon beside the prompt box, then choose your character image from your library or upload it directly from your device.
- Let's write the prompt! Building one from scratch can be tricky since we have to figure out the cell layout and assign an expression to each one. For this test, though, we don't need to worry about arranging everything ourselves. We can use the expression-sheet prompt from PixAI’s OC/VTuber character sheet guide.
All we have to do is replace the template's descriptions with our own character details. Remember the list of emotions from Step 1? We can use those descriptions here by copying them into the appropriate parts of the prompt.
Here's what I got:
[Use the uploaded image as the only character reference. Create a six expression character sheet arranged in exactly three columns and two rows.
Every panel shows the same light blonde-haired, ocean blue-eyed man. Preserve his facial proportions, hairstyle, dragon neck tattoo, black suit, white dress shirt, lighting and light-gray background.
Use matching straight-on head-and-shoulders framing and equal head sizes across all six panels. Keep the complete head visible in every panel.]
Expressions in reading order:
Top left – NEUTRAL: Keep the mouth closed and relaxed, eyebrows in their natural position, and eyes looking straight ahead.
Top middle – HAPPY: Add a gentle smile, slightly raised eyebrows, and bright, cheerful eyes. Include a subtle blush.
Top right – ANGRY: Keep the mouth firmly closed, eyebrows lowered and furrowed, and eyes narrowed.
Bottom left – SAD: Turn the corners of his mouth slightly downward, raise the inner eyebrows, and give the eyes a soft, droopy appearance.
Bottom middle – SURPRISED: Slightly open the mouth into a small O shape, raise the eyebrows, and widen the eyes.
Bottom right – EMBARASSED: Add a small, shy smile, slightly raised eyebrows, and eyes looking downward or away. Include a subtle pink blush on both cheeks and a tiny sweat drop.
Keep the gaze toward the viewer, the head upright and the soldiers still. Change facial expressions only. Use equal-sized panels with clear spacing. Exactly one portrait per panel.
No labels, speech bubbles, emotion icons, hands or extra portraits.]_
Now, hit Generate and see what results we get!
The overall result looks pretty good! Our OC kept his facial features, outfit, and neck tattoo throughout the sheet. The expressions also followed the prompt, and the cells have enough headroom with a consistent background. Let's look at them individually, though.
Most of the emotions came out as expected. Neutral, happy, sad, embarrassed, and surprised are all recognizable. The surprised expression could use a more open mouth, while the angry one has a small issue: the eyebrows have changed, but the eyes still look like those in the original reference. We can probably fix these details with a few edits. Still, we managed to get all six expressions in one sheet.
For the timing, I recorded how long the generation took and how many attempts were needed. Route A finished in 39.43 seconds, all in one generation.
Step 4 — Route B: Create One Expression per Generation
This time, let's try generating all six expressions individually instead of putting them into one sheet. Here's how I set things up:
- Click + Create a new Image in the upper-left corner to open a fresh canvas.
- Select the same PixAI Edit Pro model under Model Selection.
- Use these settings: 1K resolution, 1:1 Portrait aspect ratio, and Standard quality.
- Add the same neutral OC image as a reference by clicking the reference icon in the prompt box.
- You don't need to build a shorter prompt from scratch. I reused PixAI's expression-sheet prompt template for individual generation and replaced some of its descriptions with my own character details. Here's what my prompt looks like:
[Use the uploaded image as the only reference. Change the character’s expression to (listed character expression goes here).
Preserve his facial identity, light blonde-haired, ocean blue-eyed man. Preserve his facial proportions, hairstyle, dragon neck tattoo, black suit, white dress shirt, lighting and light-gray background.
Keep the same head angle, gaze toward the viewer, shoulder position and head-and-shoulders framing. Keep the complete head visible. One portrait only. No text, symbols, hands or additional panels.]
For each expression, fill in the parentheses with the character expressions from your list.
I'll generate the happy expression first. Here's how I'll add it to the prompt:
[Use the uploaded image as the only reference. Change the character’s expression to HAPPY: Add a gentle smile, slightly raised eyebrows, and bright, cheerful eyes. Include a subtle blush.
Preserve his facial identity, light blonde-haired, ocean blue-eyed man. Preserve his facial proportions, hairstyle, dragon neck tattoo, black suit, white dress shirt, lighting and light-gray background.
Keep the same head angle, gaze toward the viewer, shoulder position and head-and-shoulders framing. Keep the complete head visible. One portrait only. No text, symbols, hands or additional panels.
I'll repeat these steps until I have all six expressions. Since we already have a neutral reference image of our OC, there's no need to generate that one again.
Here's what I got:
Generating the expressions separately worked! All of them came out successfully, and the framing, headroom, and head size stayed consistent. His hair color, eyes, outfit, and neck tattoo also remained unchanged. The expressions were easy to tell apart, and I got more detailed results compared to Route A.
The angry expression looks much more convincing this time because his eyes are narrowed, something we didn't get in Route A. The surprised expression is also more noticeable. The embarrassed one, though, still needs work. He looks like he's simply blushing rather than feeling embarrassed. We can try fixing that later.
Each generation took just a few seconds: Happy: 28.06 seconds, Angry: 26.41 seconds, Sad: 26.86 seconds, Surprised: 24.28 seconds, and Embarrassed: 28.76 seconds. Altogether, that's 2 minutes and 14 seconds, which is longer than Route A.
Step 5 — Compare the Results and Fix Expressions That Didn't Work
We found a few expressions from both routes that didn't turn out quite right. But what if we only want to fix one or two cells without changing the rest? Let's see how we can do that in this section.
Route A: Fixing the Angry Face
The angry expression was the weak point in our Route A results. It didn't quite capture the narrowed eyes we asked for, so we'll need to make the prompt more specific.
Let's fix it using the Repaint option. Here's what to do:
- Go back to the original six-expression result from Route A.
- Click Edit, then choose Repaint.
- Choose Fix Faces from the options.
- Next, highlight the part you want to fix. Drag your cursor around the angry expression to create a box around it, like this:
- Once the area is selected, type your editing prompt into the box next to the image.
Here’s my editing prompt:
“The angry expression looks subtle. Make the angry expression more pronounced with a sharply furrowed eyebrows angled downward, narrowed eyes with a strong, intense glare. and a slightly open mouth to show tension.”
Here’s what we got:
The angry expression looks much more intense now! We have a clearer version of what an angrier face should look like, without losing his main features.
Route B: Fixing the Embarrassed Face
The Embarrassed expression was the only one that missed the mark in Route B. Our OC looked like he was blushing, so we need to make the emotion more noticeable. This time, we'll use the same PixAI Edit Pro approach but change the prompt instruction.
- Create a new canvas with the same Route B settings: PixAI Edit Pro, 1K, 1:1, and Standard quality. Then, upload the neutral OC image as your reference again.
We’ll use the same prompt that we used in Route B. Only this time, we’ll include a stronger emotion instruction for the embarrassed expression:
“EMBARRASSED: Add a small shy smile, slightly raised his inner eyebrows, and eyes looking to the side. Add a noticeable but soft pink blush on both cheeks, with a small sweat on his cheek.”
Our prompt:
[Use the uploaded image as the only reference. Change the character’s expression to EMBARRASSED: Add a small shy smile, slightly raised his inner eyebrows, and eyes looking to the side. Add a noticeable but soft pink blush on both cheeks, with a small sweat on his cheek.
Preserve his facial identity, light blonde-haired, ocean blue-eyed man. Preserve his facial proportions, hairstyle, dragon neck tattoo, black suit, white dress shirt, lighting and light-gray background.
Keep the same head angle, gaze toward the viewer, shoulder position and head-and-shoulders framing. Keep the complete head visible. One portrait only. No text, symbols, hands or additional panels.]
Here’s what we got:
The failed embarrassed expression and the edited result, side-by-side:
That's much closer to the expression we wanted! He now looks embarrassed instead of just blushing, especially with his eyes turned to the side as if avoiding the viewer. His framing, outfit, neck tattoo, and other recognizable features stayed consistent too.
Both routes gave us a solid editing process and good results. Let's compare the details that mattered most in this test:
Which Route Should You Choose?
The best route really comes down to what you're making and how you plan to use the expressions.
If you need a character profile or design reference for your OC, go with Route A. You'll get all the expressions in one compact sheet, so it's easier to compare how each face differs. And if one expression doesn't look quite right, you can use Repaint to strengthen its emotion without changing the rest of the sheet. It gives you better control over which facial details to edit.
For visual novels or game portraits, Route B is worth trying. Since you're generating each expression separately, you can adjust the emotional intensity of every face more freely.
The same goes for comic panels and other story materials. Route B lets you choose the exact expression you need for each panel. It also gives you more flexibility when arranging the images and positioning facial details.
Conclusion
You don't have to draw every expression yourself to create a consistent character expression sheet. The key is to start with the same reference image and planned emotion descriptions, regardless of which generation route you choose.
Here's a quick recap to help you get started: Choose your OC, plan the six emotions, create or select a neutral reference image, pick your preferred route (generate the whole sheet or one expression at a time), review the results, and refine any expressions that need improvement using the available editing tools.
Give your original character a complete expression sheet or experiment with different emotions using the prompts and tools available on PixAI.
















Top comments (0)