---
title: "How to Train a Krea 2 LoRA (Character & Style)"
description: "A practical guide to training a LoRA for Krea 2 Turbo — dataset size, the required training adapter, epochs, prose captions, and why LoRAs are architecture-specific."
slug: how-to-train-krea-2-lora
published: 2026-08-24
updated: 2026-08-24
tags: ["Krea 2", "LoRA", "training", "how-to"]
tldr:
  - "Krea 2 LoRAs must be trained on the Krea 2 architecture — a Krea 2 LoRA is silently ignored on any other model, and vice versa."
  - "Aim for ~100 images and 20–30 epochs; more epochs tends to overfit."
  - "Training needs the Krea 2 Turbo training adapter and works well with ai-toolkit or OneTrainer's krea2 preset."
  - "Write captions in natural prose (Krea 2 reads an LLM), lead each with your trigger word, and never describe the face for a character LoRA."
  - "AIFLUX can train a Krea 2 LoRA for you from a photo set — no local GPU or config needed."
reading_time: 7
---

A **LoRA** is a small add-on that teaches a base model a specific character, product, or style without retraining the whole thing. Krea 2 supports LoRAs well — but training one has a few Krea-2-specific rules that, if you miss them, produce a file that *looks* fine and does *nothing*. Here's how to get it right.

## Rule #0: Krea 2 LoRAs are architecture-specific

This trips up almost everyone. **A LoRA trained on Krea 2 only works on Krea 2.** Load a Krea 2 LoRA on a non-Krea-2 model (or the reverse) and it is ignored **silently** — the output looks identical to no LoRA at all, and the logs quietly say the LoRA keys weren't loaded. If a LoRA "does nothing," the cause is almost always the wrong base model or a truncated download, **not** a broken file. Check the base architecture first, and verify the file's checksum/size.

## Dataset: quality and size

- **Target ~100 images.** Smaller sets (say 40–50) can work but tend to produce a weaker, less consistent identity. Around 100 varied images is the sweet spot for a character.
- **Vary everything except the subject** — different outfits, poses, lighting, backgrounds, distances. You want the model to learn *the subject*, not a single photo's context.
- **Consistent subject, inconsistent surroundings** is the goal.

## Captions: prose, not tags (this matters on Krea 2)

Because Krea 2's text encoder is a language model, **caption your dataset in natural sentences**, not comma tags. For a **character** LoRA:

- **Start every caption with your trigger word** (e.g. `mychar, ...`).
- Describe **outfit, pose, lighting, background** in plain prose.
- **Do not describe the face or fixed features.** You want those baked into the trigger word, not tied to caption words — describing them teaches the model to only produce the face when those words appear.

For a **style** LoRA, describe the content normally and let the consistent aesthetic across the set carry the style.

## Training settings that work

A reliable Krea 2 Turbo LoRA recipe:

- **Architecture:** `krea2:turbo`, with the **Krea 2 Turbo training adapter** loaded (training won't produce a usable Krea 2 LoRA without it).
- **Rank / alpha:** 16 / 16, training the transformer only.
- **Optimizer / LR:** AdamW 8-bit, learning rate ~1e-4, batch size 1.
- **Precision:** bf16 with qfloat8 quantisation. (Note: Krea 2 has no low-bit training path — don't reach for 3/4-bit training quantisation here.)
- **Resolution:** multi-resolution buckets, e.g. 512 / 768 / 1024.
- **Regularisation:** ~5% caption dropout; cache the text embeddings to speed up training.
- **Checkpoints:** save **every epoch** with fixed-seed sample images so you can compare.

**Epochs:** aim for **20–30**. Krea 2 identity LoRAs overfit if you push much past that — the model starts reproducing dataset artifacts instead of generalising. The best practice is to **checkpoint every epoch and pick the winner by eye**, comparing samples generated at the *same prompt and seed* across epochs. Tooling-wise, both **ai-toolkit** (headless) and **OneTrainer** (which ships a `krea2` preset) handle this well.

## Using the LoRA

Once trained, put the **trigger word at the very start of the prompt**, then describe the scene in prose. If you're also using body or style sliders, keep them near neutral when a strong character LoRA is active — the LoRA already knows the subject, and stacking too many competing LoRAs muddies the identity.

## The shortcut: train a Krea 2 LoRA on AIFLUX

If you'd rather skip the adapter, the CUDA setup, and the epoch-picking, **AIFLUX trains Krea 2 LoRAs for you**. You upload a photo set, it auto-captions and trains on a cloud GPU with the recipe above, then hands you an **epoch-selection grid** — same-seed previews for each checkpoint — so you pick the best version. The finished model drops straight into the generator.

👉 **[Train a Krea 2 model on AIFLUX](/create)**

## Frequently asked questions

**Why does my Krea 2 LoRA do nothing?**
Almost always the wrong base model (Krea 2 LoRAs only work on Krea 2) or a truncated download. Verify the architecture and the file checksum.

**How many images do I need to train a Krea 2 LoRA?**
Around 100 for a solid character. Fewer can work but yield a weaker identity.

**How many epochs should I train?**
20–30. Checkpoint every epoch and pick the best by comparing same-seed samples; more epochs usually overfit.

**Should captions be tags or sentences?**
Sentences. Krea 2's encoder is an LLM, so prose captions (starting with the trigger word) train better than tag lists.

**Can I train a Krea 2 LoRA without a GPU?**
Yes — AIFLUX runs the training on cloud GPUs and returns an epoch picker so you choose the best checkpoint.

---

*Train your own Krea 2 model:* **[Start on AIFLUX →](/create)**
