Nodes/SimpleSyrup/Simple Load Krea 2
ComfyUI Node

Simple Load Krea 2

One node for the three-file problem that breaks everyone's first Krea run

By Artificial-Sweetener·Created 4 months ago·Updated 3 days ago· 2
Simple Load Krea 2
    • model
    • clip
    • vae
    diffusion_model
    diffusion_weight_dtypedefault
    text_encoderauto
    text_encoder_devicedefault
    vaeauto

    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 on default, 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 - auto picks 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 - default or cpu, 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.

    CategorySimpleSyrup/Loaders

    Inputs (5)

    NameTypeDefaultDescription
    diffusion_modelCOMBOKrea 2 Raw or Turbo diffusion model to load. This node validates the architecture and never downloads this file.
    diffusion_weight_dtypeCOMBOdefaultLoad-time diffusion precision; default preserves the selected file's stored BF16, FP8, INT8, MXFP8, or NVFP4 format.
    text_encoderCOMBOautoQwen3-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_deviceCOMBOdefaultDevice for Qwen3-VL; CPU saves GPU memory but makes prompt encoding slower.
    vaeCOMBOautoVAE used to decode Krea 2 latents. Auto finds or downloads the checksum-pinned Qwen Image VAE with visible progress.

    Outputs (3)

    NameTypeDescription
    modelMODELLoaded diffusion model for downstream MODEL inputs.
    clipCLIPLoaded text encoder for downstream CLIP inputs.
    vaeVAELoaded VAE used to encode images to latents and decode latents to images.