Train an image LoRA#
Image LoRAs are trained locally against an image base model and are used in Image Studio like any other LoRA.
- Create a project with the image model type and pick the base model from your installed models.
- Build a dataset from gallery images. For a style, 30 to 60 varied images; for a subject, 15 to 30 with the subject clearly framed.
- Set the run: rank, learning rate, steps, batch size and precision. The defaults suit a 16 GB card; raise the batch size only with more VRAM.
- Start. Progress, loss and intermediate checkpoints appear on the run card.
When the run completes the LoRA is registered in the model manager and shows up in the LoRA list of the Generate tab for that base model. Start at weight 0.7 and adjust. See LoRAs.
Krea 2 character LoRA#
Krea 2 character LoRAs are trained in-process with a block-streamed trainer, so a Krea 2 Turbo checkpoint (about 24 GB in bf16) fits a 16 GB card: only two or three transformer blocks stay resident and the rest stream from pinned host memory.
- Create a project with the Krea 2 model type, pick the model you will use the LoRA with — Krea-2-Turbo or a Turbo-based merge (a bf16 or FP8 checkpoint, or a Diffusers folder; GGUF models cannot be trained) — and link the character. Krea 2 Raw is not offered here: runs train on it on their own when it is installed (see Training base). A Krea-2 VAE record and the Qwen3-VL 4B encoder must be installed (they come with Krea-2-Turbo from the catalogue); the trainer picks them automatically.
- Build the dataset from the character (face close-up, angles, extra gallery
photos) as for the video character LoRA — 15 to 100 varied, face-clear frames at
768×768 (more frames add variety, not run time; our best Krea 2 identity came from an
81-frame set). Per-frame VL caption is preselected for Krea 2 projects (see Datasets):
with short
trigger, class phrase, frame notecaptions the photos' look (phone selfie, warm indoor light, tilted framing, people at the edges) binds to the trigger and leaks into every result, and no rank, step count, strength or style tail removes it without also weakening the identity. The per-frame captions leave only the identity on the trigger. - Keep the defaults for a first run: rank 16, learning rate 1e-4, 2000 steps whatever the frame count (the panel shows how many times each frame is seen; 1000 steps left the identity slightly looser), guidance-distillation off (Turbo runs at CFG 1). Rank 32 and the text-fusion targets changed nothing in our tests. On a 16 GB card a step takes about 3.1-3.5 s at 768×768, so a run is about 1 h 50 min (the panel shows the estimate) plus a minute of encoding and captioning. Identity-focused training is on by default (advanced settings): the loss weighs the head region three times and the noise levels where the face is formed are sampled more often, so the face is learned about four times faster at the same step time. In our 81-frame test the result matched the reference photos clearly better than the plain recipe. Turn it off for style or object LoRAs, where the whole frame matters equally.
- The finished LoRA is registered as a Krea 2 LoRA (Image Studio LoRA list) and
listed on the character. Use it at weight 1.0 and leave the trigger word out of the
prompt: describe the person by class (
a woman,a man) and the LoRA brings the identity; the reference-image edit path and the angle builder can use it too. Name the look you want in the prompt (sharp DSLR photo,studio lighting); a per-frame-captioned LoRA follows it. Krea 2 and FLUX.2 write any word they do not know onto text surfaces: in our 16 test scenes with a sign, a shirt, a book or a magazine cover, the trigger in the prompt showed up as text in 13, and a name-like trigger (Ravena) in every one, while without the trigger none did, at about the same likeness (face-embedding similarity 0.74 with the trigger, 0.71 without). The trigger word still names the subject in the training captions; the bank lists the LoRA as no trigger in the prompt. A character LoRA gives its face to every person in the picture, with or without the trigger: in our two-person scenes (a woman and a man, two women friends) the second woman came out as the character's twin and the man took on her features, on Krea 2 and FLUX.2 alike. Keep it for pictures where the character is the only person; for a group, generate the scene without it and use Apply a character to a person.
If the first steps take longer than about 5 seconds each at 768 (about 8 seconds with
full frames at 1024), the residency plan has overshot the card: cancel and start again
with resident_blocks: 0 in the run's hyper-parameters (the API accepts it; the panel
does not expose it yet). A run interrupted by a power cut or a crash can be resumed from
its last checkpoint (see Checkpoints and outputs).
Training base: Krea 2 Raw#
Krea's own advice is to train LoRAs on Krea 2 Raw, the undistilled base, and to use them on Turbo, and our tests agree. When a Raw checkpoint is installed every Krea 2 run trains on it, and the finished LoRA is used on the project's model as before. The training panel says what the run will train on (Trains on Krea-2-Raw, the undistilled base; the LoRA is then used on Krea-2-Turbo) and offers the project model instead; the run card records the base (Trained on), and a resumed run continues on the same one.
In our 81-frame test (identity-focused recipe, 2000 steps at 768²) the Raw-trained LoRA was closer to the reference photos at every checkpoint — face-embedding similarity 0.696 → 0.726 against the real photos and 0.794 → 0.847 against the training set; after 500 steps on Raw it already beat 2000 steps on Turbo — at the same step time (about 3.1 s on a 16 GB card). Long hair also stayed long where the Turbo-trained LoRA sometimes shortened it. We measured this with Turbo as the project model; a Turbo merge gets the same Raw-trained LoRA.
Without Raw the run trains on the project model and the panel offers the install:
Krea-2-Raw (training base) from the image catalogue, about 26 GB (24.5 GiB) on the image
models root, with the size, the free space there and the Hugging Face access
it needs shown before you start it. Raw is not meant for generation; keep generating with
Turbo. A Raw file you already have counts too, whatever its record is called, as long as the
model manager knows it as the Raw variant (it reads the variant from the file name, which must
contain raw; you can also set it in the model's panel).
FLUX.2 Klein character LoRA#
FLUX.2 Klein character LoRAs use the same in-process, block-streamed trainer as Krea 2, so a Klein 9B checkpoint (about 17 GB in bf16) trains on a 16 GB card.
- Create a project with the FLUX.2 Klein model type, pick the model you will use the LoRA with — FLUX.2 Klein 9B or a 9B merge (a bf16 or FP8 checkpoint, or a Diffusers folder; GGUF and NF4 models cannot be trained) — and link the character. Klein 4B projects work too and train on the 4B model itself. Klein Base 9B is not offered here: 9B runs train on it on their own when it is installed (see Training base). The FLUX.2 VAE and the Qwen3 encoder of the model size (8B for 9B, 4B for 4B) must be installed; the trainer picks them automatically.
- Build the dataset from the character exactly as for Krea 2: 15 to 100 face-clear frames at 768×768, per-frame VL caption preselected.
- Keep the defaults for a first run: rank 16, learning rate 1e-4, 1000 steps whatever the frame count, identity-focused training on. On a 16 GB card a step takes about 2.8 s at 768×768, so a run is about 47 minutes (the panel shows the estimate) plus a minute and a half of encoding. Longer runs do not pay off: in our 81-frame test 2000 steps moved the face-embedding similarity only from 0.67 to 0.69 and, with the trigger in the prompt, printed it as text (on a sign, a chef's coat, a book cover) in one image in five.
- The finished LoRA is registered as a FLUX.2 Klein LoRA (Image Studio LoRA list) and listed on the character. Use it on Klein 9B or a 9B merge at weight 1.6 — the panel's default for FLUX.2 projects: a LoRA trained on the base model is weaker on the distilled one, and in our test 1.6 carried the identity clearly better than 1.0 while the pictures stayed as sharp. Leave the trigger word out of the prompt, as with Krea 2: with it, 10 of our 16 text-surface scenes printed it; without it none did. The likeness is slightly lower without the trigger, by about 0.02 face-embedding similarity over our 36 test scenes: noticeable in busy scenes with signs and covers, hardly at all in portraits and everyday scenes. Training without the trigger in the captions did not close that gap, so the trigger stays in them. As with Krea 2, every person in the picture gets the character's face.
Training base: FLUX.2 Klein Base 9B#
Black Forest Labs publishes FLUX.2 Klein Base 9B, the undistilled model, for fine-tuning and LoRA training. When it is installed every 9B run trains on it and the finished LoRA is used on the project's model; the panel says so and offers the project model instead, exactly as for Krea 2.
In our 81-frame test (identity-focused recipe, 1000 steps at 768², LoRA used on Klein 9B at 4 steps) training on the distilled Klein 9B itself gave a slightly higher face-embedding similarity at weight 1.0 (0.60 against the real photos, against 0.54 for the base-trained LoRA) but blurred every picture: the 4-step model loses its sharpness when it is trained directly. The base-trained LoRA kept Klein 9B's sharpness, framing and prompt following, and at weight 1.6 it reached 0.67 against the real photos and 0.74 against the training set. For comparison, the Krea 2 LoRA of the same set reaches 0.73 and 0.85.
Without the base the panel offers the install: FLUX.2 Klein Base 9B (training base) from the
image catalogue, about 18.2 GB (16.9 GiB) on the image models root, gated on Hugging Face (FLUX
Non-Commercial License, see Gated downloads). The base
is not meant for generation; keep generating with Klein 9B. 4B projects have no base: the panel
says the run trains on the 4B model and shows no install. A base file you already have counts too,
as long as the model manager knows it as the Klein 9B Base variant (it reads it from the file name,
which must contain base).