Krea 2 Text-to-Image Workflows
Overview
Krea 2 is a 12B-parameter Diffusion Transformer from Krea.ai (released June
2026, weights open-sourced under the Krea 2 Community License — free commercial
use up to 50 seats). Two variants:
- Krea 2 Raw — the base checkpoint before extra post-training. For
fine-tuning / maximum fidelity, more steps.
- Krea 2 Turbo — post-trained + distilled; generates in ~8 steps at
cfg 1. This is what the krea2 txt2img packs ship.
Three packs (V2 — no group toggles)
Sliced from the KREA2 ULTRA V2 monolith into standalone single-pipeline packs
— pick by how you prompt / what you want:
krea2-txt2img-manual — plain prose prompt (the MANUAL PROMPT node).
krea2-txt2img-json — Ideogram-4-style structured JSON / area prompting
(Ideogram4PromptBuilderKJ).
krea2-combo — two-pass detail boost: a first pass then a low-denoise
refine (denoise 0.3), with the krea2 turbo LoRA @0.2 on both passes +
(optional) the IdeoKrea LoRA. JSON/Ideogram-style prompting; saves both
passes to compare.
Each pack's one prompt source is active (no prompt-mode bypass to flip).
ImageSharpenKJ runs before SaveImage. V2 adds the Krea2T-Enhancer MODEL
detail-boost patch (ships active) and drops v1's ConditioningKrea2Rebalance.
RBG_Smart_Seed_Variance ships bypassed (optional, see below).
Krea 2 has native ComfyUI support (comfy/text_encoders/krea2.py, ComfyUI ≥
v0.26.0): the CLIPLoader uses type=krea2, with a Qwen3-VL 4B text
encoder and the Qwen image VAE. The Qwen3-VL encoder drives strong prompt
adherence and structured-JSON prompts.
Models (all from the Aitrepreneur/FLX mirror; official: krea/Krea-2-Turbo)
| Slot |
File |
Notes |
diffusion_models/ |
krea2_turbo_fp8.safetensors |
12B Turbo, fp8 — RTX 4000/3000/2000 |
diffusion_models/ |
krea2_turbo_mxfp8.safetensors |
RTX 5000 (Blackwell) native fp8 |
text_encoders/ |
qwen3vl_4b_fp8_scaled.safetensors |
Qwen3-VL 4B encoder |
vae/ |
qwen_image_vae.safetensors |
Qwen image VAE |
loras/ |
krea2_turbo_lora_rank_64_bf16.safetensors |
turbo LoRA — combo only, @0.2 both passes |
loras/ |
IdeoKrea-test.safetensors |
OPTIONAL Ideogram-style LoRA (Aitrepreneur/IdeoKrea) — combo add-in |
Node stack
- core:
UNETLoader (krea2_turbo) → CLIPLoader (type=krea2) → VAELoader
(qwen_image_vae), wired via KJNodes SetNode/GetNode buses into a subgraph
(CLIPTextEncode → KSampler → VAEDecode). An rgthree Any Switch sits in
front of the encoder; in each pack only that pack's prompt source is wired to it
(manual node in -manual, JSON builder in -json).
- rgthree-comfy: Power Lora Loader, Any Switch, Label, Fast Groups.
- ComfyUI-KJNodes: Set/Get,
Ideogram4PromptBuilderKJ, ImageSharpenKJ, INTConstant.
- ComfyUI-Krea2T-Enhancer (
capitan01R): Krea2T-Enhancer — V2 MODEL→MODEL
detail-boost patch, wired in the model path (PowerLora → Krea2T-Enhancer →
sampler). Ships active; bypass to compare against the un-boosted result.
- ComfyUI-RBG-SmartSeedVariance:
RBG_Smart_Seed_Variance — optional, ships
bypassed in the positive-conditioning loop.
- ComfyUI_essentials (
cubiq): ImageResize+ — combo only (the two-pass
VAE-roundtrip resize).
Settings that matter
- steps 8, cfg 1 — Turbo is distilled; more steps/higher cfg over-cooks it.
- sampler
er_sde, scheduler simple — the verified defaults.
- 1920×1080 default; Krea 2 handles a wide aspect range.
- The prompt source is fixed per pack (manual node vs JSON builder) — no
prompt-mode bypass to flip.
V2 detail boost (Krea2T-Enhancer) + combo
Krea2T-Enhancer is a MODEL→MODEL patch (the V2 "massive detail boost"). It
sits inline in the model path and ships active in all three packs. Widgets
are [on, strength, …]; bypass it (or toggle on) to A/B the boost.
krea2-combo is the showcase: a two-pass refine — FIRST PASS (8 steps,
er_sde, denoise 1) → VAE roundtrip → SECOND PASS (4 steps, euler, denoise
0.3) — with the turbo LoRA @0.2 on both passes. It SAVES BOTH passes so
you can see the boost. The IdeoKrea LoRA is downloaded but NOT wired by
default — drop it into the Power Lora Loader's empty slot (start ~0.5–1.0; it's a
test LoRA) for the turbo + IdeoKrea Ideogram-style combo.
Optional post-proc (ships bypassed — un-bypass to use)
All packs leave RBG_Smart_Seed_Variance in the positive-conditioning loop
bypassed (passthrough). Un-bypass on the live canvas with panel_set_node_mode
(or in the UI) for controlled variations of the same prompt without changing the
composition — set its seed mode to randomize and tune the variance mode (e.g.
🌿 Balanced) / strength widgets. Leave bypassed for a deterministic result.
JSON / area prompting
Like Ideogram 4, Krea 2's Qwen3-VL encoder reads structured prompts (per-region
desc + bounding boxes + palettes). For structured prompting just use the
krea2-txt2img-json pack — its Ideogram4PromptBuilderKJ drives the encoder
directly (no bypass to flip). After the render, VERIFY the image matches the JSON
you set (view it) BEFORE continuing; if it doesn't, a field is probably stale —
fix and rerun. Gotchas learned the hard way:
- Set ALL the builder fields, not just the prompt/boxes —
background,
technical, style, lighting (widgets 3/5/6/7). Leaving stale values leaks
content (a leftover celebrity portrait bled into a tea still-life).
- Keep palettes minimal or empty. A rich top-level palette can render as a
literal color-swatch strip down the edge of the image. Empty
palette: []
(top-level and per-box) gives a clean full-frame result.
- Add "no people / single full-frame photograph" to
style for object/landscape
scenes — Krea 2 follows it well.
Verification status
- v1 (
-manual / -json core graph): render-verified — crisp 1920×1080 / 8
steps / cfg 1 / er_sde (snow-leopard prose + tea-still-life JSON with each object
in its bbox).
- V2 additions (the
Krea2T-Enhancer active patch + the krea2-combo two-pass)
are statically validated (clean slice + structural lint) but not yet
live-rendered — they need the ComfyUI-Krea2T-Enhancer node + the turbo/IdeoKrea
LoRAs installed and a healthy ComfyUI. Re-run scripts/verify-render.mjs once
those are present.
- Note: the
ImageSharpenKJ (rcas 0.55) before SaveImage is active —
bypassing it drops the image link (a converter gap: bypass-passthrough doesn't
cross a subgraph IMAGE output), and the contrast-adaptive sharpen suits Krea 2's
crisp look anyway.
Gotchas
CLIPLoader: 'krea2' not in list → ComfyUI too old; update to ≥ v0.26.0.
Torch not compiled with CUDA enabled → reinstall torch for your CUDA tag
(--index-url https://download.pytorch.org/whl/cu128).
1---2name: krea2-txt2img3description: Build Krea 2 Turbo txt2img workflows — native krea2 CLIPLoader, Qwen3-VL encoder, Qwen image VAE, 8-step turbo settings, and Ideogram-style JSON prompting4---5
6# Krea 2 Text-to-Image Workflows
7
8## Overview
9
10Krea 2 is a **12B-parameter Diffusion Transformer** from Krea.ai (released June
112026, weights open-sourced under the Krea 2 Community License — free commercial
12use up to 50 seats). Two variants:
13
141. **Krea 2 Raw** — the base checkpoint before extra post-training. For
15 fine-tuning / maximum fidelity, more steps.
162. **Krea 2 Turbo** — post-trained + **distilled**; generates in **~8 steps at
17 cfg 1**. This is what the krea2 txt2img packs ship.
18
19## Three packs (V2 — no group toggles)
20
21Sliced from the **KREA2 ULTRA V2** monolith into standalone single-pipeline packs
22— pick by how you prompt / what you want:
23
24- **`krea2-txt2img-manual`** — plain prose prompt (the `MANUAL PROMPT` node).
25- **`krea2-txt2img-json`** — Ideogram-4-style structured JSON / area prompting
26 (`Ideogram4PromptBuilderKJ`).
27- **`krea2-combo`** — two-pass **detail boost**: a first pass then a low-denoise
28 refine (denoise 0.3), with the krea2 **turbo LoRA** @0.2 on both passes +
29 (optional) the **IdeoKrea** LoRA. JSON/Ideogram-style prompting; saves both
30 passes to compare.
31
32Each pack's one prompt source is active (no prompt-mode bypass to flip).
33`ImageSharpenKJ` runs before `SaveImage`. **V2** adds the `Krea2T-Enhancer` MODEL
34detail-boost patch (ships **active**) and drops v1's `ConditioningKrea2Rebalance`.
35`RBG_Smart_Seed_Variance` ships **bypassed** (optional, see below).
36
37Krea 2 has **native ComfyUI support** (`comfy/text_encoders/krea2.py`, ComfyUI ≥
38v0.26.0): the `CLIPLoader` uses **`type=krea2`**, with a **Qwen3-VL 4B** text
39encoder and the **Qwen image VAE**. The Qwen3-VL encoder drives strong prompt
40adherence and structured-JSON prompts.
41
42## Models (all from the `Aitrepreneur/FLX` mirror; official: `krea/Krea-2-Turbo`)
43
44| Slot | File | Notes |
45|---|---|---|
46| `diffusion_models/` | `krea2_turbo_fp8.safetensors` | 12B Turbo, fp8 — RTX 4000/3000/2000 |
47| `diffusion_models/` | `krea2_turbo_mxfp8.safetensors` | RTX 5000 (Blackwell) native fp8 |
48| `text_encoders/` | `qwen3vl_4b_fp8_scaled.safetensors` | Qwen3-VL 4B encoder |
49| `vae/` | `qwen_image_vae.safetensors` | Qwen image VAE |
50| `loras/` | `krea2_turbo_lora_rank_64_bf16.safetensors` | turbo LoRA — **combo** only, @0.2 both passes |
51| `loras/` | `IdeoKrea-test.safetensors` | OPTIONAL Ideogram-style LoRA (`Aitrepreneur/IdeoKrea`) — combo add-in |
52
53## Node stack
54
55- **core**: `UNETLoader` (krea2_turbo) → `CLIPLoader` (type=krea2) → `VAELoader`
56 (qwen_image_vae), wired via KJNodes `SetNode`/`GetNode` buses into a subgraph
57 (`CLIPTextEncode` → `KSampler` → `VAEDecode`). An rgthree `Any Switch` sits in
58 front of the encoder; in each pack only that pack's prompt source is wired to it
59 (manual node in `-manual`, JSON builder in `-json`).
60- **rgthree-comfy**: Power Lora Loader, Any Switch, Label, Fast Groups.
61- **ComfyUI-KJNodes**: Set/Get, `Ideogram4PromptBuilderKJ`, `ImageSharpenKJ`, `INTConstant`.
62- **ComfyUI-Krea2T-Enhancer** (`capitan01R`): `Krea2T-Enhancer` — **V2** MODEL→MODEL
63 detail-boost patch, wired in the model path (PowerLora → Krea2T-Enhancer →
64 sampler). Ships **active**; bypass to compare against the un-boosted result.
65- **ComfyUI-RBG-SmartSeedVariance**: `RBG_Smart_Seed_Variance` — **optional**, ships
66 **bypassed** in the positive-conditioning loop.
67- **ComfyUI_essentials** (`cubiq`): `ImageResize+` — **combo** only (the two-pass
68 VAE-roundtrip resize).
69
70## Settings that matter
71
72- **steps 8, cfg 1** — Turbo is distilled; more steps/higher cfg over-cooks it.
73- **sampler `er_sde`, scheduler `simple`** — the verified defaults.
74- **1920×1080** default; Krea 2 handles a wide aspect range.
75- The prompt source is fixed per pack (manual node vs JSON builder) — no
76 prompt-mode bypass to flip.
77
78## V2 detail boost (`Krea2T-Enhancer`) + combo
79
80- **`Krea2T-Enhancer`** is a MODEL→MODEL patch (the V2 "massive detail boost"). It
81 sits inline in the model path and ships **active** in all three packs. Widgets
82 are `[on, strength, …]`; bypass it (or toggle `on`) to A/B the boost.
83- **`krea2-combo`** is the showcase: a two-pass refine — FIRST PASS (8 steps,
84 `er_sde`, denoise 1) → VAE roundtrip → SECOND PASS (4 steps, `euler`, denoise
85 **0.3**) — with the **turbo LoRA** @0.2 on both passes. It SAVES BOTH passes so
86 you can see the boost. The **IdeoKrea** LoRA is downloaded but NOT wired by
87 default — drop it into the Power Lora Loader's empty slot (start ~0.5–1.0; it's a
88 test LoRA) for the turbo + IdeoKrea Ideogram-style combo.
89
90## Optional post-proc (ships bypassed — un-bypass to use)
91
92All packs leave `RBG_Smart_Seed_Variance` in the positive-conditioning loop
93**bypassed** (passthrough). Un-bypass on the live canvas with `panel_set_node_mode`
94(or in the UI) for controlled variations of the same prompt without changing the
95composition — set its seed mode to `randomize` and tune the variance mode (e.g.
96`🌿 Balanced`) / strength widgets. Leave bypassed for a deterministic result.
97
98## JSON / area prompting
99
100Like Ideogram 4, Krea 2's Qwen3-VL encoder reads structured prompts (per-region
101desc + bounding boxes + palettes). For structured prompting just use the
102**`krea2-txt2img-json`** pack — its `Ideogram4PromptBuilderKJ` drives the encoder
103directly (no bypass to flip). After the render, VERIFY the image matches the JSON
104you set (view it) BEFORE continuing; if it doesn't, a field is probably stale —
105fix and rerun. Gotchas learned the hard way:
106
107- **Set ALL the builder fields**, not just the prompt/boxes — `background`,
108 `technical`, `style`, `lighting` (widgets 3/5/6/7). Leaving stale values leaks
109 content (a leftover celebrity portrait bled into a tea still-life).
110- **Keep palettes minimal or empty.** A rich top-level palette can render as a
111 literal color-swatch strip down the edge of the image. Empty `palette: []`
112 (top-level and per-box) gives a clean full-frame result.
113- Add "no people / single full-frame photograph" to `style` for object/landscape
114 scenes — Krea 2 follows it well.
115
116## Verification status
117
118- **v1 (`-manual` / `-json` core graph)**: render-verified — crisp 1920×1080 / 8
119 steps / cfg 1 / er_sde (snow-leopard prose + tea-still-life JSON with each object
120 in its bbox).
121- **V2 additions** (the `Krea2T-Enhancer` active patch + the `krea2-combo` two-pass)
122 are **statically validated** (clean slice + structural lint) but **not yet
123 live-rendered** — they need the `ComfyUI-Krea2T-Enhancer` node + the turbo/IdeoKrea
124 LoRAs installed and a healthy ComfyUI. Re-run `scripts/verify-render.mjs` once
125 those are present.
126- **Note:** the `ImageSharpenKJ` (rcas 0.55) before `SaveImage` is **active** —
127 bypassing it drops the image link (a converter gap: bypass-passthrough doesn't
128 cross a subgraph IMAGE output), and the contrast-adaptive sharpen suits Krea 2's
129 crisp look anyway.
130
131## Gotchas
132
133- `CLIPLoader: 'krea2' not in list` → ComfyUI too old; update to ≥ v0.26.0.
134- `Torch not compiled with CUDA enabled` → reinstall torch for your CUDA tag
135 (`--index-url https://download.pytorch.org/whl/cu128`).