Guide

Putting two characters in one scene

Each of them is right on their own. Put them in the same frame and they start to look like siblings — one borrows the other's jaw, both end up with the same haircut. That is a specific failure with a specific cause.

The cause

The model does not know where one person ends

When a model generates an image, every part of the picture is influenced by every other part and by the whole prompt. There is no stage at which it decides “this region is person A, that region is person B” and keeps the two sets of instructions apart. The attributes are all in play across the whole canvas at once.

So a description of a tall man with dark hair beside a shorter woman with red hair does not reliably produce those two people. It produces two people who, between them, are tall, short, dark-haired and red-haired — and which attribute lands on which body is substantially up to the noise. Sometimes you get both. Often you get a medium-height pair who both have auburn hair.

This is usually called attribute leakage or concept bleeding, and it is the same mechanism whether the thing leaking is hair colour, an outfit, or an entire face.

Why the obvious fix fails

Naming them in the prompt does almost nothing

Writing “Anna, who is tall with dark hair, stands next to Beth, who is shorter with red hair” feels like it should bind each set of attributes to a person. It mostly does not. The names carry no meaning for the model — they are two unfamiliar tokens — and the grammar that attaches a clause to a name in English is not a structure the model enforces when placing pixels.

Two characters described with very different attributes separate better than two described similarly, which is where the belief that naming works comes from. The separation is coming from the contrast, not from the names. Two characters who are both young women with long dark hair will blend almost completely no matter how carefully you write the sentence.

Reference conditioning does not automatically fix it either. Supply two reference faces and, without something telling the model which face belongs where, you get two people who both look like an average of the two references.

What does work

Give each person their own region

The fix that addresses the actual cause is to stop asking one undifferentiated generation to hold two identities, and instead tie each identity to a part of the canvas — so the model is conditioned on reference A where person A is standing, and on reference B where person B is. Tools expose this as regional prompting, masking, or per-subject reference slots. The names differ; the idea is the same.

Where that is not available, the reliable workaround is to generate the people separately and compose. Make the shot with one character correct, then bring the second in as a second pass over a masked region. It is more steps and it works, because at no point are two identities competing inside one generation.

A third option is to accept the limitation and shoot around it. Two-shots are only one way to cover a scene with two people in it, and singles cut together are often the better-looking choice anyway.

Practical notes

Things that genuinely help

Make them different. If you are designing characters who will share frames, give them different hair length, different colouring, different build. This is production design doing work the model cannot, and it is what casting does for exactly the same reason.

Separate them in space. Leakage is worst when two faces are close together in frame and at similar scale. Depth helps — one nearer, one further — because the regions stop overlapping.

Fewer at once. Two is hard and three is much harder. Crowd scenes where only one person needs to be a specific individual are far more tractable than three named characters who all have to be right.

Check both faces, not the composition. The failure here is quiet. An image where two characters have blended is a perfectly good image, well lit and well composed, that happens to contain the wrong people. It does not look like an error until you put it beside the references.

Where this comes from

Unlimited Studio is built around this one problem

Everything above is what the product does: a character is locked from eight reference angles, each generation conditions on whichever angle its prompt implies, a score checks the result against the reference, and a film is shot one frame-chained shot at a time. What it will and will not generate is set out in the content policy.