Nodes/Krea 2 SVDQuant/Krea2 SVDQuant Checkpoint Loader
ComfyUI Node

Krea2 SVDQuant Checkpoint Loader

The 1-click Krea 2 SVDQuant loader

By alperktt·Created 2 months ago·Updated 25 days ago· 13
Krea2 SVDQuant Checkpoint Loader
    • model
    • clip
    • vae
    • status
    ckpt_name
    vram_managementauto

    The short version

    Normally, running Krea 2 in ComfyUI means juggling three separate files: the DiT, the Qwen3-VL text encoder (~8 GB), and the Qwen-Image VAE. People miss the second two all the time and then report the model as broken. This node exists to end that: it loads an all-in-one checkpoint that bundles the quantized diffusion model, a 4-bit text encoder, and the VAE into a single 12.77 GB file - and hands you model, clip, and vae from one loader.

    It's the recommended starting point in the pack's README for exactly that reason: download one file, drag in one workflow, press Queue. If you'd rather keep the three-file modular setup, use Krea2 SVDQuant W4A4 Loader plus stock CLIPLoader / VAELoader instead - this node is the convenience option, and it's a genuinely good one.

    How it works

    Under the hood it's load_state_dict_guess_config on the combined file. If the checkpoint carries SVDQuant low-rank branches (the *.svdq_l1 / *.svdq_l2 tensors), they're pulled out, the model is built, and the 224 low-rank branches get attached on top of ComfyUI's native convrot_w4a4 kernel - same mechanism as the standalone W4A4 loader, just with the text encoder and VAE in the same container. If you point it at a branchless all-in-one file instead, it loads cleanly without branches.

    The file to get is Krea2-Turbo-AllInOne-SVDQuant-W4A4-rank256-actaware-TEW4A4.safetensors from AlperKTS/Krea-2-SVDQuant-ComfyUI on Hugging Face, dropped into models/checkpoints/. The author picked that exact build (rank 256, activation-aware) because it's the one that holds up when you stack a LoRA on top.

    The inputs that matter

    • ckpt_name - the all-in-one checkpoint from your models/checkpoints/ folder. That's it for required inputs.
    • vram_management - auto / classic, same as the W4A4 loader. Leave it on auto. classic pins the older patcher, and past the point where the model stops fitting VRAM that means per-module weight streaming at 30–100s an iteration. If you ever see that, it's this setting (or a KREA2_DISABLE_DYNAMIC=1 env var someone left in your launch script).

    Outputs: model → KSampler, clip → CLIPTextEncode, vae → VAEDecode, plus a status string reporting rank, variant, size, and which kernel the quantized layers dispatch to. Read that status line once on your first run - it tells you whether the fast int4 kernel is actually in play, which is the difference between 2.4x speedup and a silent pure-Python fallback.

    Install and gotchas

    Same pack, same install:

    cd ComfyUI/custom_nodes && git clone https://github.com/alperktt/Krea-2-SVDQuant-ComfyUI krea-2-svdquant
    

    No extra Python dependencies - it uses ComfyUI's own comfy_kitchen backend. The one real gotcha is environmental and it's the pack's single most common support issue: quantized checkpoints need a cu130+ (CUDA 13) PyTorch build. Below that, ComfyUI disables the CUDA backend for these kernels and the whole thing runs slower than bf16. Verify with python -c "import torch; print(torch.version.cuda)" before you blame the file. Krea 2's weights also carry a trained-in safety filter (the open release went through an alignment pass the hosted model never got), which is a property of the model, not this loader - a LoRA-based uncensor is the community's usual answer if that's a problem for you.

    CategoryKrea2/SVDQuant

    Inputs (2)

    NameTypeDefaultDescription
    ckpt_nameCOMBOAn all-in-one Krea2 checkpoint containing diffusion model, quantized text encoder, and VAE. If it carries SVDQuant branches (*.svdq_l1/*.svdq_l2), they will be attached automatically.
    vram_managementoptCOMBOautoLeave on "auto" unless something is wrong. "auto" lets ComfyUI manage this model the way it manages any other, which on an ordinary launch means the dynamic-VRAM streaming patcher -- that is what keeps iteration time flat once the model stops fitting in VRAM. "classic" pins it to the older patcher, where a model that no longer fits falls back to streaming weights per module per step and an iteration goes from ~1 s to 30-100 s. KREA2_DISABLE_DYNAMIC=1 forces classic for a whole server run.

    Outputs (4)

    NameTypeDescription
    modelMODELWire this to a KSampler.
    clipCLIPWire this to CLIPTextEncode.
    vaeVAEWire this to VAEDecode.
    statusSTRINGRank, variant, size and which kernel the quantized layers will actually dispatch to.