Same Face Every Time: Keeping an 18+ AI Character Consistent
By The Fellowi Team · · 6 min read

You generate a picture you like. You write nearly the same prompt again, expecting the same person in a different pose, and a stranger comes back. This is the most common frustration in adult AI art, and it is not a bug in the generator. It is a misunderstanding about what a prompt is for.
A description is not an identity
“Green eyes, dark hair, mid-twenties, freckles” sounds like it describes one specific person. It does not. It describes a category containing millions of faces, and every generation is a fresh sample from inside that category. Add fifty more adjectives and you narrow the category slightly while making the prompt harder to render, which is why very long character descriptions tend to produce worse pictures and no more consistency.
The thing that actually pins a face down is an image. Identity is visual information, and the only reliable way to pass it to a model is to hand it a picture and say: this person.
How that works in practice
Inside a companion chat this happens invisibly. When a companion sends you a photo, the request goes out with her own portrait attached as a reference, and the new image is built from that likeness rather than from a text description of it. The same mechanism is why the fiftieth photo still looks like her.
In the studio you do it yourself, and the lever is the video tab's start image. Generate stills until one face is right, keep that file, and treat it as your character sheet: every clip that starts from it inherits the likeness for free. For stills, the practical version of consistency is to accept that you are casting, not directing. Generate a batch, pick the one you want to live with, and build everything else around that frame.
The habit that quietly ruins it
Once you have a reference, the instinct is to also describe the person in the prompt, to reinforce it. That instinct is wrong, and it backfires in a specific way: naming a physical attribute makes that attribute a thing the model is actively drawing rather than a thing it is preserving.
We hit this inside our own system. The instruction we prepend to every generation once named an attribute in order to keep it, saying in effect that the person was bald. The model read that as a property to render and started producing bald people in chats with characters who had hair. The fix was to stop naming attribute values entirely and only say who is in frame.
So with a reference attached, write the scene and leave the person alone. Place, light, pose, clothing state. Nothing about the face at all. The reference is doing that job, and every word you add on top competes with it. The wider version of this rule is in how to write NSFW prompts that actually render.
What still drifts, and why
Even with a reference, some things move. A large change of angle is the biggest one: a reference shot from the front carries limited information about a profile, so asking for a three-quarter turn invents the parts it cannot see. Dramatic relighting does the same to skin tone and face shape. Small details like a specific tattoo or an unusual piercing survive worst of all, because they occupy few pixels in the reference and the model treats them as noise.
The workaround is boring and effective: change one thing at a time. Keep the angle and change the setting, or keep the setting and change the pose. Consistency degrades with distance from the reference, so short steps land far more often than one long leap.
Building a set
If you want a series rather than a single picture, work in one direction. Pick your reference, generate the next shot, and if it comes back right, consider using that new image as the reference for the shot after it. Drift compounds when you do this carelessly, but done in small steps it lets a character move through a whole scene while staying recognisably one person.
And since failed generations are refunded automatically, the cost of a bad step is a minute rather than money. That makes casting by trial genuinely the right method here.
Try it with one face: generate until one is right, then animate that exact frame and see how much of her survives the move.