krea2-txt2img · git:20260626.f793262 · 2026-06-26 · sha256 e5017210160d3d25
krea2-txt2img git:20260626.f793262A
Immutable. This exact content is served forever at /api/v1/blob/e5017210160d3d25.
--- name: krea2-txt2img description: Build Krea 2 Turbo txt2img workflows — native krea2 CLIPLoader, Qwen3-VL encoder, Qwen image VAE, 8-step turbo settings, and Ideogram-style JSON prompting globs: - "**/*.json" --- # 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: 1. **Krea 2 Raw** — the base checkpoint before extra post-training. For fine-tuning / maximum fidelity, more steps. 2. **Krea 2 Turbo** — post-trained + **distilled**; generates in **~8 steps at cfg 1**. This is what the krea2 txt2img packs ship. ## Two packs (no group toggles, no bypassed nodes) The old single `krea2-txt2img` graph (prompt mode toggled by bypassing nodes) is split into two standalone packs — pick by how you prompt: - **`krea2-txt2img-manual`** — plain prose prompt (the `MANUAL PROMPT` node). - **`krea2-txt2img-json`** — Ideogram-4-style structured JSON / area prompting (`Ideogram4PromptBuilderKJ`). Both are single-pipeline graphs with no group toggles — each pack's one prompt source is active and the other prompt node is removed (no prompt-mode bypass to flip). `ImageSharpenKJ` runs before `SaveImage`. Two **optional** post-proc nodes ship **bypassed** in both (see below). Both are render-verified. 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 | ## 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`. - **ComfyUI-RBG-SmartSeedVariance**: `RBG_Smart_Seed_Variance` — **optional**, ships **bypassed** in the positive-conditioning loop. - **ComfyUI-ConditioningKrea2Rebalance**: `ConditioningKrea2Rebalance` — **optional**, ships **bypassed** (after seed-variance), in the same loop. ## 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. ## Optional post-proc (ship bypassed — un-bypass to use) Both packs leave these two nodes in the positive-conditioning loop, **bypassed** (passthrough). Un-bypass on the live canvas with `panel_set_node_mode` (or in the UI) when you want them: - **`RBG_Smart_Seed_Variance`** — controlled variations of the same prompt without changing the composition. Enable it, set its seed mode to `randomize`, and tune the variance mode (e.g. `🌿 Balanced`) / strength widgets. Leave bypassed for a deterministic single result. - **`ConditioningKrea2Rebalance`** — rebalances the per-token conditioning weights (the comma-separated weight string, e.g. `1.0,…,2.5,5.0,1.1,4.0,1.0`). The upstream author frames it as removing Krea 2's built-in **safety filter**, so **leave it bypassed for the model's default safety behavior**; only enable (and adjust the weights) with a specific, authorized reason. ## 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. ## Render-verified Both packs render crisp at 1920×1080 / 8 steps / cfg 1 / er_sde with the optional loop nodes bypassed (default) — `-manual` on a prose snow-leopard prompt, `-json` on a tea still-life whose teapot/cup/figs each land in their bbox region. **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`).