Neo Krea2 Generate
A whole Krea 2 pipeline behind one node
- image
- images
Krea 2 is the best base model the open ecosystem got in the first half of 2026 - a 12B diffusion transformer Krea trained itself, shipped Raw and Turbo, with the LoRA ecosystem forming in about a week. Running it in stock ComfyUI means assembling a real graph yourself: UNETLoader for the checkpoint, a CLIPLoader for the Qwen3-VL text encoder, a separate VAELoader for the Qwen-Image VAE, then the sampler chain. Three model files, and the third one is the one new users forget.
Neo Krea2 Generate collapses that into one node with a dropdown. You pick a skill, type or wire a prompt, and out comes an IMAGE tensor you can wire into anything.
What a "skill" is here
The dropdown lists image-generation skills - folders with a workflow.json in them. The pack ships three:
- 生图 Krea2 文生图 (Krea 2 text-to-image) - the plain chain: UNETLoader, CLIPLoader, VAELoader, CLIPTextEncode, EmptyLatentImage, KSampler, VAEDecode.
- 生图 Krea2 图生角色图 (image → character sheet) - the interesting one. It takes your
imageinput and runs a four-view character board: a LoadImage,ImageScale,VAEEncode,Krea2EditGroundedEncodeplusKrea2EditModelPatch(vendored from comfyui-krea2edit), aLoraLoaderModelOnlyslot and a KSampler. That's how you get turnaround sheets of an existing character instead of a one-off picture. - 生图 Krea2 文生角色图 - a prompt-generating skill: it produces a staged character-sheet description and renders it.
Since they're just folders, copy one as custom and edit it, or export your own canvas workflow into a skill with the 📋 From Canvas entry at the bottom of the dropdown. That's the real use of this node: your tuned Krea 2 recipe becomes a reusable node.
How it works
There's no hidden server. On execution the node renders the skill's workflow.json - substituting {{PROMPT}}, {{MODEL}}, {{SEED}}, {{REF_IMAGE}} and friends - then runs the resulting graph in-process with a small topological executor: it walks the API-format graph, calls each node's forward directly, skips SaveImage/PreviewImage/SaveVideo, supports the newer V3 API-node classes, and returns whatever the terminal IMAGE output is. No nested PromptExecutor, no queue round-trip, no file written to output/.
The cost: it blocks. The sampling happens inside this node's execution, on your GPU, while the rest of the workflow waits. That's fine - it's a linear graph - but don't expect the neat per-node progress bar you get from stock samplers.
The inputs that matter
skill_id- the generator skill; only ones with a template andgen_image: trueshow up.prompt(optional STRING, multiline) - hand-typed, or wired from a Neo Prompt Agent'sPROMPToutput, which is the intended pairing.image(optional IMAGE) - the reference for the four-view skill. Text-to-image skills ignore it.seed- default 0, i.e. fixed. To roll a new one each run, set the widget'scontrol_after_generatetorandomize. A fixed default is the right call here; chasing variation without control is worse.count- 1 to 8 images per run, returned as one batch.
Output is a single images (IMAGE) - SaveImage, PreviewImage, or an upscaler downstream.
Model files and settings
Resolution order is skill config.json → the pack's image-settings panel → a name-based guess (anything with krea2 in it). In practice: put a Krea 2 diffusion model, the Qwen3-VL text encoder and the Qwen-Image VAE where ComfyUI expects them and the auto-match usually just works. If it doesn't, set them explicitly in the node's generation settings or per-skill in the skill detail dialog.
Two Krea 2 facts worth carrying in: Raw runs at 52 steps/CFG 3.5, Turbo at 8 steps with guidance off, and the configuration most people actually settled on is Raw with the Turbo LoRA at 0.6 weight, ~12 steps on euler_cfg_pp with a beta scheduler. The skills' config.json accepts a per-skill LoRA list, injected into the chain between the UNET loader and the sigma-shift node.
Install
Manager → Neo Nodes, or:
cd ComfyUI/custom_nodes
git clone https://github.com/neoneo-ai/ComfyUI-Neo-Nodes.git ComfyUI-Neo-Nodes
Then restart and download the three Krea 2 files. requirements.txt pulls openai, Pillow, PyYAML, pypinyin - the README's requests line is stale.
Where it goes wrong
New skills don't appear in the dropdown until /object_info is refreshed - the list is built when the node definition is queried, so after adding or renaming a skill, refresh the page. A skill without a workflow.json raises 缺少 workflow.json instead of quietly doing nothing, which is honestly the better failure.
VRAM is the real ceiling. Krea 2 is 12B; the community FP8 conversion lands around 12GB and 8GB cards do run it, but you're sharing that budget with whatever else your workflow loaded. Also, the four-view path loads extra nodes (the edit patch and a LoRA loader), so it's the heavier of the three skills - and if you already installed comfyui-krea2edit separately, the pack detects it and skips registering its own copy rather than fighting it.
The filter is still in the weights. Krea confirmed the open checkpoint went through alignment training the hosted version didn't, and the collateral damage isn't limited to NSFW: prompts about bodies, violence or horror get silently dropped, and expressions flatten. The community's preferred workaround is an uncensor LoRA (lower quality cost than the conditioning-rebalance node), and it stacks fine with these skills since LoRA lists are config-driven.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| skill_id | COMBO | 生图 Krea2 图生角色图 | 3 options: 生图 Krea2 图生角色图, 生图 Krea2 文生图, 生图 Krea2 文生角色图 |
| promptopt | STRING | — | |
| imageopt | IMAGE | — | |
| seedopt | INT | 00–9223372036854776000 | — |
| countopt | INT | 11–8 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |