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 is the base checkpoint before extra post-training. For
fine-tuning / maximum fidelity, more steps.
- Krea 2 Turbo is post-trained and distilled; it 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 and 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 plus
the optional 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, the 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 or higher cfg over-cooks it.
- sampler
er_sde, scheduler simple are 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). There is 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 full demonstration of the boost, 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 to
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 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 only 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 top-level palette with many colors 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).
Sources
- Official: none found.
- Empirical: sampler values, wiring, and prompt notes from working graphs in
packs/ and observed renders; not a vendor prompting guide.
1---2name: krea2-txt2img3description: Build Krea 2 Turbo txt2img workflows with the native krea2 CLIPLoader, Qwen3-VL encoder, Qwen image VAE, 8-step turbo settings, and Ideogram-style JSON prompting4globs:5 - "**/*.json"6---78# Krea 2 Text-to-Image Workflows910## Overview1112Krea 2 is a **12B-parameter Diffusion Transformer** from Krea.ai (released June132026, weights open-sourced under the Krea 2 Community License, free commercial14use up to 50 seats). Two variants:15161. **Krea 2 Raw** is the base checkpoint before extra post-training. For17 fine-tuning / maximum fidelity, more steps.182. **Krea 2 Turbo** is post-trained and **distilled**; it generates in **~8 steps19 at cfg 1**. This is what the krea2 txt2img packs ship.2021## Three packs (V2 — no group toggles)2223Sliced from the **KREA2 ULTRA V2** monolith into standalone single-pipeline packs.24Pick by how you prompt and what you want:2526- **`krea2-txt2img-manual`**: plain prose prompt (the `MANUAL PROMPT` node).27- **`krea2-txt2img-json`**: Ideogram-4-style structured JSON / area prompting28 (`Ideogram4PromptBuilderKJ`).29- **`krea2-combo`**: two-pass **detail boost**, a first pass then a low-denoise30 refine (denoise 0.3), with the krea2 **turbo LoRA** @0.2 on both passes plus31 the optional **IdeoKrea** LoRA. JSON/Ideogram-style prompting; saves both32 passes to compare.3334Each pack's one prompt source is active (no prompt-mode bypass to flip).35`ImageSharpenKJ` runs before `SaveImage`. **V2** adds the `Krea2T-Enhancer` MODEL36detail-boost patch (ships **active**) and drops v1's `ConditioningKrea2Rebalance`.37`RBG_Smart_Seed_Variance` ships **bypassed** (optional, see below).3839Krea 2 has **native ComfyUI support** (`comfy/text_encoders/krea2.py`, ComfyUI ≥40v0.26.0). The `CLIPLoader` uses **`type=krea2`**, with a **Qwen3-VL 4B** text41encoder and the **Qwen image VAE**. The Qwen3-VL encoder drives strong prompt42adherence and structured-JSON prompts.4344## Models (all from the `Aitrepreneur/FLX` mirror; official: `krea/Krea-2-Turbo`)4546| Slot | File | Notes |47|---|---|---|48| `diffusion_models/` | `krea2_turbo_fp8.safetensors` | 12B Turbo, fp8 — RTX 4000/3000/2000 |49| `diffusion_models/` | `krea2_turbo_mxfp8.safetensors` | RTX 5000 (Blackwell) native fp8 |50| `text_encoders/` | `qwen3vl_4b_fp8_scaled.safetensors` | Qwen3-VL 4B encoder |51| `vae/` | `qwen_image_vae.safetensors` | Qwen image VAE |52| `loras/` | `krea2_turbo_lora_rank_64_bf16.safetensors` | turbo LoRA — **combo** only, @0.2 both passes |53| `loras/` | `IdeoKrea-test.safetensors` | OPTIONAL Ideogram-style LoRA (`Aitrepreneur/IdeoKrea`) — combo add-in |5455## Node stack5657- **core**: `UNETLoader` (krea2_turbo) → `CLIPLoader` (type=krea2) → `VAELoader`58 (qwen_image_vae), wired via KJNodes `SetNode`/`GetNode` buses into a subgraph59 (`CLIPTextEncode` → `KSampler` → `VAEDecode`). An rgthree `Any Switch` sits in60 front of the encoder; in each pack only that pack's prompt source is wired to it61 (manual node in `-manual`, JSON builder in `-json`).62- **rgthree-comfy**: Power Lora Loader, Any Switch, Label, Fast Groups.63- **ComfyUI-KJNodes**: Set/Get, `Ideogram4PromptBuilderKJ`, `ImageSharpenKJ`, `INTConstant`.64- **ComfyUI-Krea2T-Enhancer** (`capitan01R`): `Krea2T-Enhancer`, the **V2** MODEL→MODEL65 detail-boost patch, wired in the model path (PowerLora → Krea2T-Enhancer →66 sampler). Ships **active**; bypass to compare against the un-boosted result.67- **ComfyUI-RBG-SmartSeedVariance**: `RBG_Smart_Seed_Variance`, **optional**, ships68 **bypassed** in the positive-conditioning loop.69- **ComfyUI_essentials** (`cubiq`): `ImageResize+`, **combo** only (the two-pass70 VAE-roundtrip resize).7172## Settings that matter7374- **steps 8, cfg 1.** Turbo is distilled; more steps or higher cfg over-cooks it.75- **sampler `er_sde`, scheduler `simple`** are the verified defaults.76- **1920×1080** default; Krea 2 handles a wide aspect range.77- The prompt source is fixed per pack (manual node vs JSON builder). There is no78 prompt-mode bypass to flip.7980## V2 detail boost (`Krea2T-Enhancer`) + combo8182- **`Krea2T-Enhancer`** is a MODEL→MODEL patch (the V2 "massive detail boost"). It83 sits inline in the model path and ships **active** in all three packs. Widgets84 are `[on, strength, …]`; bypass it (or toggle `on`) to A/B the boost.85- **`krea2-combo`** is the full demonstration of the boost, a two-pass refine:86 FIRST PASS (8 steps, `er_sde`, denoise 1) → VAE roundtrip → SECOND PASS (4 steps,87 `euler`, denoise **0.3**), with the **turbo LoRA** @0.2 on both passes. It SAVES88 BOTH passes so you can see the boost. The **IdeoKrea** LoRA is downloaded but NOT89 wired by default. Drop it into the Power Lora Loader's empty slot (start ~0.5 to90 1.0; it's a test LoRA) for the turbo + IdeoKrea Ideogram-style combo.9192## Optional post-proc (ships bypassed — un-bypass to use)9394All packs leave `RBG_Smart_Seed_Variance` in the positive-conditioning loop95**bypassed** (passthrough). Un-bypass on the live canvas with `panel_set_node_mode`96(or in the UI) for controlled variations of the same prompt without changing the97composition. Set its seed mode to `randomize` and tune the variance mode (e.g.98`🌿 Balanced`) / strength widgets. Leave bypassed for a deterministic result.99100## JSON / area prompting101102Like Ideogram 4, Krea 2's Qwen3-VL encoder reads structured prompts (per-region103desc + bounding boxes + palettes). For structured prompting use the104**`krea2-txt2img-json`** pack; its `Ideogram4PromptBuilderKJ` drives the encoder105directly (no bypass to flip). After the render, VERIFY the image matches the JSON106you set (view it) BEFORE continuing; if it doesn't, a field is probably stale.107Fix and rerun. Gotchas learned the hard way:108109- **Set ALL the builder fields**, not only the prompt/boxes: `background`,110 `technical`, `style`, `lighting` (widgets 3/5/6/7). Leaving stale values leaks111 content (a leftover celebrity portrait bled into a tea still-life).112- **Keep palettes minimal or empty.** A top-level palette with many colors can render as a113 literal color-swatch strip down the edge of the image. Empty `palette: []`114 (top-level and per-box) gives a clean full-frame result.115- Add "no people / single full-frame photograph" to `style` for object/landscape116 scenes. Krea 2 follows it well.117118## Verification status119120- **v1 (`-manual` / `-json` core graph)**: render-verified, crisp 1920×1080 / 8121 steps / cfg 1 / er_sde (snow-leopard prose + tea-still-life JSON with each object122 in its bbox).123- **V2 additions** (the `Krea2T-Enhancer` active patch + the `krea2-combo` two-pass)124 are **statically validated** (clean slice + structural lint) but **not yet125 live-rendered**. They need the `ComfyUI-Krea2T-Enhancer` node, the turbo/IdeoKrea126 LoRAs installed, and a healthy ComfyUI. Re-run `scripts/verify-render.mjs` once127 those are present.128- **Note:** the `ImageSharpenKJ` (rcas 0.55) before `SaveImage` is **active**.129 Bypassing it drops the image link (a converter gap: bypass-passthrough doesn't130 cross a subgraph IMAGE output), and the contrast-adaptive sharpen suits Krea 2's131 crisp look anyway.132133## Gotchas134135- `CLIPLoader: 'krea2' not in list` → ComfyUI too old; update to ≥ v0.26.0.136- `Torch not compiled with CUDA enabled` → reinstall torch for your CUDA tag137 (`--index-url https://download.pytorch.org/whl/cu128`).138139## Sources140141- **Official:** none found.142- **Empirical:** sampler values, wiring, and prompt notes from working graphs in `packs/` and observed renders; not a vendor prompting guide.