Simple Load Krea 2
One node for the three-file problem that breaks everyone's first Krea run
- model
- clip
- vae
Krea 2 isn't one file, and that's the whole reason this exists
Krea 2 is a 12B diffusion transformer plus a Qwen3-VL 4B text encoder plus the Qwen-Image VAE. The most common way to break your first Krea run is to download the checkpoint, wire up a stock loader, and then stare at a missing-CLIP error or at mush. New model families ship their components as separate downloads and people skip the companions the model card lists.
Simple Load Krea 2 is the boring fix. One node, one dropdown for the thing you actually chose, and the two files everyone forgets resolved for you. By hand you'd build UNETLoader + CLIPLoader (type krea2) + VAELoader and get the type dropdown wrong; this is the version where you don't have to remember which encoder belongs to which base.
What it actually does
It loads three things in the right configuration and returns three sockets. First the diffusion model, whose metadata it inspects - anything ComfyUI doesn't recognize as Krea 2 is rejected before the big downloads start, so a wrong file fails fast instead of pulling 5GB first. Then it requires ComfyUI's KREA2 CLIP type, because this encoder doesn't load like CLIP-L or T5. Encoder in, optionally on CPU, VAE last.
The real work is resolution. Auto choices are pinned to a specific revision of Comfy-Org/Krea-2 with SHA-256 hashes, so you get the file the official templates use. It checks its cache, then any matching file already on disk - including one you renamed, since matching is by size and checksum, not filename - and downloads only if both miss. Auto encoder lands as qwen3vl_4b_fp8_scaled.safetensors (~5.2GB) in models/text_encoders/krea2/, the auto VAE as qwen_image_vae.safetensors (254MB) in models/vae/qwen/.
What it doesn't do is download the diffusion model. You install Raw or Turbo yourself and pick it from models/diffusion_models.
The inputs that matter
diffusion_model is the only non-advanced input, and it lists your diffusion_models folder - an empty dropdown means your checkpoint is still in Downloads. The four advanced ones are right at their defaults for most people:
diffusion_weight_dtype- leave it ondefault, which preserves the file's stored precision (BF16, FP8, INT8, MXFP8, NVFP4). That's what you want for a community FP8 or INT8 conversion; the other options cast at load time, and casting an already-quantized file buys you nothing and costs quality.text_encoder-autopicks the official FP8-scaled encoder. BF16 is ~8.9GB and slightly more detailed, but if it and a 12GB model are fighting for room, FP8 is the difference between both fitting and neither doing so.text_encoder_device-defaultorcpu, the cheapest memory lever here. CPU costs a few seconds of prompt encoding and nothing in generation time.vae-auto. You can pick another VAE from your folder, but Krea 2's latent space is Qwen-Image's, and a Wan VAE there gives you washed-out output you'll wrongly blame on the sampler.
Outputs are model, clip, and vae: MODEL into your sampler or guider, CLIP into your conditioning, VAE into VAEDecode (and VAEEncode for img2img).
Installing it
Manager: search the node pack list for SimpleSyrup, install, restart. The legacy Manager UI hides it under Custom Nodes Manager.
cd ComfyUI/custom_nodes
git clone https://github.com/Artificial-Sweetener/SimpleSyrup.git
cd SimpleSyrup
..\..\venv\Scripts\python.exe -m pip install -r requirements.txt # Windows venv
.\python_embeded\python.exe -m pip install .\ComfyUI\custom_nodes\SimpleSyrup\requirements.txt # portable
Restart after. Honest warning: this is a whole workflow pack, and requirements.txt is what installs - TorchLanc, Ultralytics, ONNX Runtime, Segment Anything, timm, huggingface-hub, keyring. Use only this loader and you're still paying for the segmentation half. Two things you can't skip: ComfyUI needs the KREA2 CLIP type (native Krea 2 support landed in 0.25.0), and the pack uses ComfyUI's V3 node API, so an old install means the nodes never appear. There's no setting to flip for Krea 2 either - its components resolve through their own loaders regardless of the "show downloadable models" option.
When it goes wrong
"This loader requires ComfyUI CLIP type 'KREA2'. Update ComfyUI." Do exactly that. Reinstalling the pack won't help.
"Simple Load Krea 2 requires a diffusion model ComfyUI recognizes as Krea 2." You pointed it at a non-Krea checkpoint, or at a Krea file renamed or merged past identification. It stops before the encoder download, on purpose.
A download stalls or dies partway. Failures re-verify the checksum next run instead of trusting a partial file, so you won't end up with a truncated encoder that loads and then generates garbage. The first successful run is slower than the rest - download plus load, then cache plus disk hit.
It runs, but output is soft and flat. Check the VAE before the sampler. Partly the Qwen-Image VAE's character, partly a non-Qwen VAE in the slot.
One thing no loader fixes: the open Krea 2 weights went through an alignment pass the hosted version didn't get, so prompts about bodies, violence, or expressive faces get quietly dropped. That's the model, not your graph.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| diffusion_model | COMBO | Krea 2 Raw or Turbo diffusion model to load. This node validates the architecture and never downloads this file. | |
| diffusion_weight_dtype | COMBO | default | Load-time diffusion precision; default preserves the selected file's stored BF16, FP8, INT8, MXFP8, or NVFP4 format. |
| text_encoder | COMBO | auto | Qwen3-VL 4B encoder loaded with Krea 2's required 12-layer conditioning. Auto uses FP8; selecting official FP8 or BF16 downloads that checksum-pinned file when missing. |
| text_encoder_device | COMBO | default | Device for Qwen3-VL; CPU saves GPU memory but makes prompt encoding slower. |
| vae | COMBO | auto | VAE used to decode Krea 2 latents. Auto finds or downloads the checksum-pinned Qwen Image VAE with visible progress. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| model | MODEL | Loaded diffusion model for downstream MODEL inputs. |
| clip | CLIP | Loaded text encoder for downstream CLIP inputs. |
| vae | VAE | Loaded VAE used to encode images to latents and decode latents to images. |