Annual offerSave up to 33% with yearly billing
← All posts
TechniqueAugust 27, 2026· 3 min read

Identity anchoring: keeping her face hers across every edit

By the Sensia Studio team · measured on real runs

Face drift is the number one killer of multi-image edits. Two model choices and one prompt habit remove most of it — here's what we measured across hundreds of runs.

A painterly variation of the same fictional rooftop characterRunware generation · Sensia workflow

You generate the perfect edit, but the face came back… adjacent. Not quite her. Multiply by five references and a video, and the whole scene subtly belongs to someone else. This is identity drift, and Sensia is engineered around it.

Identity anchoring in the app: the character's identity lives in the Preserve field, Anchor is the steadiest model, and Generate returns the same face in the new scene.

What we measured

Across every past run with an input image: with references attached, Apex (Seedream 4.5) kept the input's face on roughly half of runs, while Anchor (Qwen Image) held it on about two thirds — and both were perfect with the input alone. The takeaway isn't that one model is strictly better; it's that references are a coin-flip tax on identity, per generation.

  • Keep the input image attached even when the prompt already describes everything — it is the identity anchor.
  • Prefer Anchor when the face matters more than reference count; prefer Apex when you need 10+ references in one run.
  • Regenerate on drift instead of fighting it in the prompt — each run re-rolls the coin.
  • For the strongest hold, run Preserve Identity in the optimizer once and compare it against your original prompt.

The one prompt habit

Always put identity in the Preserve field, not the instruction. 'Keep her facial features, skin tone, and proportions exactly' in Preserve tells the model what not to touch; the same phrase in Instruction makes it just another editable adjective.

Methodology, in full

The survey numbers above were taken on 2026-08-16 over every completed run in our library that had an input image attached: 35 runs on Apex (Seedream 4.5) with references, 24 on Anchor (Qwen Image) with references, and 3 runs each with the input alone. A run counted as 'held' when the face read as the same person at a glance — same bone structure, same skin tone, same proportions — judged by eye, no face-similarity model. Seeds are server-assigned per run, so these are win rates over ordinary generations, not curated picks.

The landing page shows a second, stricter test: one saved character (Amara, a West African preset), six scenes each stressing one dimension — extreme neon lighting, a wide shot where the face is a fraction of the frame, a 90-degree profile in near-silhouette, a complete outfit and environment change, and a mid-laugh turn. All six were generated on Anchor in a single session, first attempt each, no retries, no selection. Six for six. That is the ceiling, not the average — references attached would have taxed it; here the input alone carried the identity.

Scene 2 of the six-scene test: extreme neon grading. The saved identity holds through magenta and cyan side-light.
Scene 2 of the six-scene test: extreme neon grading. The saved identity holds through magenta and cyan side-light.

What failure looks like: the face comes back 'adjacent' — right palette, wrong person. Cheekbones a few millimeters off, jaw softer, eyes slightly wider. It is never a stranger, which is what makes drift insidious: each generation drifts a little further from the anchor while still passing a half-second glance. The fix is always the same — keep the input attached, identity in Preserve, and regenerate rather than patch.