Addaly is in open beta. Things will change, and AI answers can be wrong — check anything that matters.

Making Things With AI

Images, video, voice and music — how they work, where they break, who owns them.

Lesson 26 of 847 min

Faces in crowds and other small things

The arithmetic of a face in a crowd

A 1024-pixel image on a model with an eight-times-downscaling autoencoder has a 128 by 128 latent grid. A face that occupies 60 pixels of the final image is about seven latent cells across.

Seven cells must hold two eyes, a nose, a mouth, the shape of a jaw and hair. It cannot. What comes back is a face-shaped region with facial statistics — right colour, right soft transitions, wrong or absent features. The characteristic result is the melted background face that everyone recognises in crowd scenes.

The same arithmetic governs everything small: a wristwatch, a distant window, a logo on a shirt, a bird against the sky, the teeth in a smile at middle distance.

Latent cells across a face, on a 1024-pixel modelFace 40 pixels tall, in acrowd5Face 60 pixels tall7Face 120 pixels tall15The same face inpainted ona tight crop128latent cells across the faceThe grid is 128 by 128, so a sixty-pixel face gets seven cells to hold two eyes, a nose, a mouth and ajaw. Going from 1024 to 1536 takes it to about ten, which is why raising the output size is not thefix. Detail is a budget, and the budget is cells.
Latent cells across a face, on a 1024-pixelmodelFace 40 pixels tall, in a crowd5Face 60 pixels tall7Face 120 pixels tall15The same face inpainted on a tight crop128latent cells across the faceThe grid is 128 by 128, so a sixty-pixel face getsseven cells to hold two eyes, a nose, a mouth and ajaw. Going from 1024 to 1536 takes it to about ten,which is why raising the output size is not the fix.Detail is a budget, and the budget is cells.

Why raising the output resolution does not fix it

The intuition is to generate larger. It does not work as expected, for two reasons.

First, if you exceed the model's native size in a single pass, you get the repeated-subject artefact from the first module — two heads, duplicated bodies — because nothing coordinates distant regions of an oversized latent.

Second, and less obvious: even when the resolution increase works, the face gets more cells only in proportion. Going from 1024 to 1536 gives your seven-cell face about ten cells. That is a marginal improvement for a substantial cost, and the failure mode does not change in kind.

What actually works

Generate the small thing large, separately. Make the face its own 1024-pixel image. Scale it down. Composite. It will hold up under any zoom, because it was made with the cells it needed.

Detail passes with masked regeneration. The standard professional workflow: generate the wide shot, then mask each face and regenerate that region at full resolution, with the mask's contents upscaled before denoising and scaled back afterwards. Free implementations of this exist under names like ADetailer, face-detailer nodes in ComfyUI, and similar. It is the single biggest quality gain available to anyone generating scenes with people in them, and most people never turn it on.

Accept the limit and design around it. Photographers do exactly this. Depth of field exists partly because distant faces are not renderable in detail on film either. A generated crowd with a genuinely shallow focus is both more convincing and cheaper than one where every face was fixed.

The related case: thin structures

A neighbouring failure with the same root. Hair strands, wire fences, rigging, spider webs, whiskers, text serifs — anything one or two pixels wide in the final image is a fraction of a latent cell.

The decoder handles these by producing the statistical impression of the structure rather than the structure. Hair looks like hair at a glance and dissolves under a zoom. Fences develop breaks and reconnections. This is why generated images often survive at Instagram size and fall apart at print size, and it is worth knowing before you promise a client a billboard.

The general principle to carry: detail is a budget, and the budget is latent cells, not pixels. Before you generate anything, ask how many cells the important part of the picture will get. If the answer is under twenty across, plan a separate pass for it. This one habit removes most of the frustration people have with fine detail, and it costs nothing but a little sequencing.

Why the crop test is the honest one

There is a review habit worth adopting from print production. Never judge a generated image at the size it appears on your screen. Zoom to 100% and look at four crops: the main subject's face or focal detail, one background region, one edge, and any area containing type or thin structure. This takes thirty seconds and it is where every problem in this lesson shows itself.

The reason to make it a routine rather than an occasional check is that the failure is invisible at fit-to-window and unmissable at full size, so an image can pass every casual look and fail at the printer. Designers who work in print already have this habit. Anyone whose work has only ever been seen on a phone will not, and the first billboard is a bad place to acquire it.

Newer models with sixteen-channel latents and larger native resolutions have improved the numbers, and the arithmetic has not changed shape. Doubling the native size doubles the cells across a small subject; it does not remove the ceiling. The question is always the same: how many cells does this part of the picture get?

The one thing to keep

Detail quality is set by how many latent cells a subject occupies, so anything small in frame degrades regardless of prompt, model quality or output resolution.

Before you move on

A generated group photograph looks good overall, but every face beyond the front row is malformed. What is the most effective fix?

Pick the one you would defend. Nobody sees your answer.

No ads. No data sale. No public scores on people. Ever.

© 2026 Addaly