Docs / Workflows / Character consistency

Workflows

Character consistency

Keeping one character recognisable across many poses and angles — four methods, cheapest first.

Updated Aug 9, 2026

The hardest problem in sprite work. A model that makes a beautiful hero once, and a different beautiful hero the next time, has not helped you.

Four approaches, in the order you should try them.

1. Multi-reference editing (start here)

klein-4B’s headline capability. Encode one or more reference images through the FLUX.2 VAE, feed them in as reference latents, and generate a variation that keeps the identity.

It is ComfyUI-native — no custom nodes — and the whole stack is about 5 GB, so it runs without evicting the resident services. For most sprite work this is the answer, and it is the open-weights equivalent of the commercial editing models.

Warning

Known failure mode: quality degrades as you add separate reference images. The community workaround is to stitch the references into a single grid image and pass that as one reference. If consistency gets worse when you add a fourth reference, this is why.

2. The spritesheet LoRAs

Two installed LoRAs turn one design into a set directly:

  • 2×2 turnaround — four camera angles of the same character from a single input. Generates on a keyed background by design, which makes cutting the cells apart trivial.
  • 4-direction walk cycle — up/down/left/right walk frames plus jump and prone, at 32×32.

These are the cheapest route to a coherent set, because consistency is baked into what the LoRA was trained to emit rather than being negotiated at inference time.

3. Train a character LoRA (highest consistency)

Still the strongest method: 15–40 images of your character, trained into a small LoRA (76–325 MB) that you then apply like any other.

It does not train on this card. The published recipe needs roughly 24 GB of VRAM — more than the 16 GB here even with everything evicted. Train it on a larger GPU or rent time; inference with the resulting LoRA is trivial and runs here comfortably.

Worth it when a character recurs across hundreds of frames. Overkill for a one-off.

4. Identity adapters (largely superseded)

IP-Adapter and its relatives still work and are still useful in the SDXL lane, but they have been demoted. There is no IP-Adapter for klein or Z-Image, and for a face rendered at 32–64 pixels the machinery is disproportionate to the problem.

Reach for this only if you are already working in SDXL for another reason.

A pipeline that combines them

For a character that needs to appear everywhere:

  1. Design the hero at high resolution with klein-4B + pixel LoRA. Iterate until you love one image.
  2. Generate the turnaround with the spritesheet LoRA — four angles, consistent.
  3. Produce per-pose variants with klein multi-reference editing, using the turnaround as reference.
  4. Cut out the background.
  5. Detect the pixel grid, quantise the palette, and scale — see Pixel-perfect output .
  6. If the character will appear in hundreds of frames, stop and train a character LoRA off-box first. It pays for itself quickly.

Source: content/workflows/character-consistency.md · maintained in the nuilab-aigaming repository.