Krea2 SVDQuant Checkpoint Loader
The 1-click Krea 2 SVDQuant loader
- model
- clip
- vae
- status
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 onauto.classicpins 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 aKREA2_DISABLE_DYNAMIC=1env 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.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| ckpt_name | COMBO | An 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_managementopt | COMBO | auto | Leave 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)
| Name | Type | Description |
|---|---|---|
| model | MODEL | Wire this to a KSampler. |
| clip | CLIP | Wire this to CLIPTextEncode. |
| vae | VAE | Wire this to VAEDecode. |
| status | STRING | Rank, variant, size and which kernel the quantized layers will actually dispatch to. |