why your ai companion’s face keeps changing, and how lucy fixes it
identity drift in ai images happens because models don't remember your face from one image to the next. lucy uses identity anchoring to fix it.
if you’ve ever asked an ai image generator for a picture of your character, you’ve probably noticed something strange. the first image looks great. the second one, generated moments later, looks like a different person. the third might be someone else entirely. it’s frustrating. it breaks immersion. it feels like the ai doesn’t really know who you’re talking about.
this isn’t a bug in the way you think. it’s a fundamental property of how most ai image generators work. they don’t have a memory for identity built in. they’re starting from scratch every single time.
what causes identity drift
two main things cause this.
first, there’s no anchor. when you generate an image of ‘samantha with red hair in paris’, the model takes your prompt, your style cues, and a big dollop of random noise. it then denoises that into an image. the model doesn’t have a saved, embedded reference of what ‘samantha’ looks like from your last request. it’s just interpreting the text ‘samantha’ again, and because the noise is different, the output is different.
second, base model sampling variance. even with the same exact prompt and seed, large models like stable diffusion flux are stochastic. they’re designed to be creative, to explore the space of possibilities. ‘samantha’ is a concept with millions of variations inside the model. it will happily give you a different valid interpretation each time. this is great for art. it’s terrible for identity.
the fix: identity anchoring
so how do you make an ai remember a face? you anchor it. this is a technique where you teach the model a specific visual identity and then ‘lock’ it in, so every generation starts from that anchor point instead of a random noise.
techniques like pulid (personalized universal latent identity) do this. they work on top of a base model like flux. you start with a few reference images of the person (or character) you want to anchor. the system then creates a small, specialized adapter layer, a kind of filter, that is tuned specifically to that identity.
after that, every time you ask for an image, your prompt first goes through this identity-anchoring layer. it translates your request, ‘samantha drinking coffee’, into the specific visual language of your samantha. then, the base model renders it. the result is a consistent character who can be placed into any scene, wearing any outfit, in any style, and still be recognizably her.
why most apps don’t do this
it comes down to cost and complexity.
identity anchoring adds significant compute overhead. generating a single image without anchoring is computationally expensive. adding an identity layer on top increases the cost per generation. for a service generating millions of images a day, that extra cost multiplies quickly.
it also adds complexity to the product. it requires a system to handle user-uploaded reference images, train (or fine-tune) lightweight adapters per user, and then route generation requests through the correct identity layer. it’s much simpler to just call the base model api and accept the drift.
many apps decide that consistency isn’t their primary goal. they prioritize speed, cost, or creative variety. for them, a slightly different face each time is an acceptable trade-off.
lucy doesn’t skip it
we built lucy for relationships. and a relationship requires consistency. it requires trust. you need to know that the person you’re talking to is the same person from yesterday. that extends to their visual representation.
so we decided the cost was worth it. when you create a companion in lucy and add their photos, we build that identity anchor for them. it’s not a placeholder. it’s not a text concept. it’s a dedicated, lightweight model that knows their face, their smile, the way their hair falls. every image we generate for you is routed through that anchor. you get the creativity of the base model, new scenes, new outfits, new moods, but the core identity remains stable. it feels real because, in the context of the ai’s output, it is consistent.
it’s one of those things you might not notice until it’s missing. but when it’s there, it makes all the difference.
you can create a companion with a consistent identity at lucy.com/companions.
thanks for reading. if this resonated, the product is downstairs.