Every Krea 2 video shows you pretty pictures. Almost none of them tell you how the model wants to be prompted, and none we could find cover what happens when you bring a character LoRA to it. We did both: trained an identity LoRA on Krea 2, ran a 110-image acceptance bench plus a 120-image production matrix against our production Z-Image stack, and wrote down everything that surprised us. This is that writeup. The numbers are ours, measured on one RTX 5090.
First, the quick fix everyone eventually needs
If your Krea 2 Turbo images come out ignoring the prompt entirely, check your CFG. The model’s native recipe is CFG 0.0, but stock ComfyUI KSampler reads a literal 0.0 as pure unconditional output, so your prompt never reaches the sampler math. Set CFG 1.0 on stock KSampler and it behaves. Krea-aware sampler nodes handle 0.0 correctly. This trap is well documented by now (credit to The Tinkerer’s Civitai comparison, which had the prompting groundwork early), so we will not belabor it. It belongs on your checklist next to the same lesson from our LTX 2.5 bench: a setting that looks applied is not the same as a setting the model received. Verify what got submitted, and if a “broken” model is ignoring you, suspect the plumbing before the weights.
Prompts do not port, and the encoder is why people think they should
Z-Image Turbo and Krea 2 both read prompts through Qwen3-family encoders. Sentences, natural language, no tag soup. So people copy a prompt from one to the other and get a worse image than either model can produce. The philosophy is shared. The appetites are opposite.
| Z-Image Turbo | Krea 2 | |
|---|---|---|
| Encoder | Qwen3-4B, text only | Qwen3-VL-4B, vision-language |
| Size | 6B single-stream DiT | 12.9B DiT, trained from scratch |
| Prompt length | Dense, 100 to 180 words. Short prompts confuse it | 30 to 80 words for control. 5 to 20 to explore, up to 140 for complex scenes |
| Steps and CFG | 8 steps, CFG around 1.0 | 8 steps, CFG 0.0 native, 1.0 on stock KSampler |
| Resolution | whatever fits your card | trained at 2048 class. Generate native, do not upscale after |
| VRAM | around 16 GB | FP8 about 12 GB, BF16 about 25 GB |
| Style control | prompt plus community LoRAs | official style LoRAs, mood presets, and style reference images through the VL encoder |
Three rules hold on both models and still surprise people:
Negatives are dead at these CFG values. Phrase constraints positively. “Razor sharp focus” works where “no blur” does nothing. We learned the hard version of this lesson on composition months ago: you cannot argue a model out of its training with the word no.
Weight syntax is dead too. (word:1.3) does nothing useful when the encoder reads whole sentences as language. Emphasize by restating with a more specific word. Oxblood beats red. Sodium vapor beats orange light.
Order matters, subject first. On Krea 2 our reliable ordering is subject, then setting, then composition and camera, then lighting, then mood, then medium, then texture. If the medium is the point of the image, lead with the medium instead.
And one rule that saves you re-learning all of this per checkpoint: finetunes inherit every prompting rule. CyberRealistic K2 and the dark and moody community mixes retrain the diffusion weights, never the encoder or the sampler math. A finetune changes the look a prompt produces, not how you write the prompt.
The LoRA half nobody has written up
We trained an identity LoRA for our presenter on Krea 2 and kept every epoch. The community consensus of train on Raw, generate on Turbo held up for us. Raw runs around 52 steps at CFG 3.5 and exists for training and variety. Turbo is the generation engine. What follows is what the bench actually taught us.
Keep every epoch, and expect a mid-run winner. Our pick came down to a fight between the two final epochs, and the deciding evidence was not aesthetic. We captioned the training set with a deliberate vocabulary, and one epoch tracked that vocabulary faithfully while the other over-corrected. Which brings us to the finding we would print on a shirt:
Caption vocabulary becomes a control lever. Words you use consistently in captions turn into prompt controls after training. In our set, neckline words were captioned in three tiers, and after training, the same seed with only that one word changed obeys the tier. If you are building a character LoRA, decide during captioning which words you want as levers later. It works, and it is much stronger than trying to bolt control on afterward with negatives.
A character LoRA on Krea 2 is always on. Prompting “a woman” with no trigger word still renders our character. Men are unaffected, so mixed scenes with male characters are safe. A second female character is not: she will drift toward your LoRA identity unless you drop strength to zero or unload. Plan crowd scenes accordingly.
The always-on pull also eats negations. We asked for no faces on the background monitors and got our own character’s face on every screen. The fix that works: describe what the screens show instead. Code, charts, a blank panel. Positive content description beats negation every time the LoRA is resident.
Name every garment or the model invents one. A prompt that specifies only the top will improvise the bottom. Specify only clothing and three of five checkpoints rendered her barefoot. Full body shots need every layer named, footwear included. The corollary from our earlier wardrobe fights holds here too: an edit model and a LoRA both preserve what you name and renegotiate whatever you leave vague.
Batch 4 minimum, and re-roll before you edit. A wrong garment or a broken hand is very often a seed failure with a perfectly good prompt. We generate at batch size 4 for production, 8 for hero shots, and only touch the prompt after a full batch misses. Prompt surgery on what was actually a seed miss is how you spend an hour making a working prompt worse.
One LoRA versus a stack
Our production Z-Image identity needs a stack of LoRAs balanced against each other, with per-LoRA weights to tune and interactions to debug. The Krea 2 identity is one LoRA at strength 1.0. On the same test intent, with prompts rewritten fairly for each model, the Krea side rendered the outfit exactly as written in all four candidates while the production stack pulled the same garment description toward its own preferences in all four. Krea was also roughly twice as fast in our runs: 18 to 24 seconds for a batch of four at 8 steps against 42 to 50 seconds at 15 steps.
Honest caveats: that was base against base, single pass, and our production pipeline normally adds detail passes that narrow the texture gap. Z-Image still wins on warmth and stylization out of the box. But fewer moving parts is its own quality: no weight balancing, no cross-LoRA contamination, one file to load. If you are starting a character today, that maintainability argument matters as much as the renders.
Checkpoint choice is now a pure look dial. We swept the same prompt, seed, and LoRA across five Krea 2 bases. Identity, garment adherence, and the caption vocabulary held identically on all five. The community mixes deliver the warmth the base model lacks, the realism-focused finetune adds soft skin falloff at roughly triple the render time, and stock Turbo stays the fast default for anything headed into animation. Swap one loader field, keep everything else.
Where to start
Rewrite your prompts per model instead of porting them, caption your dataset like every word might become a switch, and keep every epoch until a bench says otherwise. The reference workflow we validated against is Cyberdelia’s CyberRealistic K2, with one note: its bundled enhancer node is experimental with open bug reports, and we bypassed it.
New to training entirely? Start with our character LoRA guide for the fundamentals, ComfyUI from zero if the graph is new to you, and the hardware check to see what your card can hold. Everything above ran on one consumer GPU in a home office, which is the entire point of this site.