NewUnified .char models are now supported in ComfyUI
COMPARE/compare/char-vs-lora-vs-reference-images

LoRA vs reference images vs .char: which to use for consistent characters

Use a LoRA when you need the strongest likeness on one model and can wait for training. Use reference images when you want speed and do not mind attaching them every time. A .char picks the right method for each model automatically.

TL;DR

ROWLoRAReference images.char
Training neededYes, per model, and slowNoNone on FLUX.2 and H3 R2V. An adapter trained once on Krea 2 and other H3 nodes
Photos required20 to 50 is a good range1 or more, attached every time1 to 2
Models supportedOne model per fileModels that accept referencesFLUX.2, Krea 2, FLUX.1, Z-Image Turbo, MiniMax H3, LTX-2.5, plus Nano Banana Pro and H3 R2V via fal
Portable fileYes, one file per modelNo, re-attached every timeYes, one .char file
Face / body / wardrobe / voiceWhatever the training set covers, and no voiceWhatever is in the photos, and no voiceFace, body, wardrobe and an optional voice clip
Runs locallyYesYesYes, in the OmniChar app and ComfyUI, or hosted on OmniChar Cloud
Open sourceYes, the training tools areYes, with open modelsYes, GPL-3.0
CostFree on your own GPUFree on your own GPUFree to run locally. OmniChar Cloud uses credits
Drift measurementNoneNoneContinuity score out of 100 on every take

What each one is

THE ALTERNATIVE

LoRA and Reference images

A LoRA is a small set of weights trained on photos of one person. It gives the highest lock on likeness, but training is slow and each file works with one model. Reference images are photos you attach to each generation. They need no training and are fast, but you re-attach them every time.

OMNICHAR

.char

A .char is one portable file that holds reference photos, an identity fingerprint, a locked description, an optional trained adapter and an optional voice clip. It works in the OmniChar app, the ComfyUI node and OmniChar Cloud. FLUX.2 and H3 R2V use the references directly; Krea 2 and other H3 nodes use an adapter trained once. Every take gets a continuity score out of 100.

Strengths

Where LoRA and Reference images wins

  • LoRA: the highest likeness lock on the model it was trained for
  • Reference images: fast, with nothing to train

Where .char wins

  • No need to pick a method for each model
  • One file instead of a LoRA per model plus loose photos
  • Carries body, wardrobe and voice too
  • Scores every take out of 100 for drift

When to use which

Use a LoRA ifyou have settled on one model for a long project and can wait for a training run.
Use reference images ifyou are testing an idea and need a result in the next few minutes.
Use .char ifyou switch models between shots and do not want to manage a LoRA per model plus a folder of photos.

Can you use both?

Yes. A .char can carry a trained adapter, such as a LoRA, alongside its reference photos. OmniChar uses the adapter on models that need it, such as Krea 2 and other H3 nodes, and the references on models that read them directly, such as FLUX.2 and H3 R2V.

Questions

What is the difference between a LoRA and reference images?

A LoRA is trained on photos and saved as a file for one model. Reference images are attached to each generation with no training.

Is a LoRA more accurate?

On the model it was trained for, a LoRA gives the highest lock. It does not carry over to other models.

Does .char replace LoRA?

No. A .char can hold one. It uses the adapter where it helps and the references where the model reads them directly.

Which models use references directly?

FLUX.2 and H3 R2V use references directly. Krea 2 and other H3 nodes use an adapter trained once.

How do I know if a take drifted?

Every take made with a .char gets a continuity score out of 100.

Build a character once and use it in the OmniChar app, ComfyUI and OmniChar Cloud