K2 Load Krea 2
Three loaders folded into one, with a trap in the text encoder
- model
- clip
- vae
K2 Load Krea 2 is the on-ramp for the K2 Lab suite in comfyui-FVMtools. It's a convenience node that loads all three pieces of Krea 2 - the diffusion transformer, the text encoder, and the VAE - in one place, which saves you from wiring UNETLoader + CLIPLoader(type=krea2) + VAELoader every time you build a Krea 2 graph. That's genuinely useful, because getting Krea 2 running in ComfyUI has a few moving parts and this node makes the right configuration the default.
The inputs
diffusion_model- Krea 2 Turbo or RAW transformer, picked from yourmodels/diffusion_modelsfolder.text_encoder- the Qwen3-VL-4B encoder. This is the one where people get burned. Krea 2's conditioning layout uses twelve pooled Qwen3-VL layers, and a generic text encoder produces the wrong layout, which Krea will refuse. The tooltip is blunt: the encoder must be a Krea-compatible Qwen3-VL-4B. It has to be the VL model, too - the plain Qwen3 LLM that Z-Image uses is not the same thing and won't work here.vae- the Qwen-Image VAE, because Krea 2 shares its autoencoder with Qwen-Image. Don't substitute.weight_dtype-defaultfollows whatever the file is. The FP8 modes (fp8_e4m3fn,fp8_e4m3fn_fast,fp8_e5m2) lower model memory where the device supports it;fp8_e4m3fn_fastalso enables ComfyUI's FP8 matmul. For an INT8-quantized checkpoint you don't need to touch this at all.text_encoder_device-cpukeeps Qwen off the GPU: slower prompt encoding, noticeably less VRAM. On a tight card, that trade is usually worth it - the Qwen3-VL encoder is a big chunk of memory and it's only active during encoding.
Outputs are model, clip, and vae - wire them to K2 Compose (or, if you're not doing regional work, straight to a plain sampler).
When to skip it
The tooltip makes the honest case: use the native loaders instead when your graph needs quantization, caching, or device nodes in between. Everything downstream works with either, because the output types are standard. So if you want to drop a model cache or a device-control node between the loader and Compose, the native UNETLoader/CLIPLoader/VAELoader route is the flexible one, and this node is the tidy one.
Install
Same as the rest of the pack:
cd ComfyUI/custom_nodes
git clone https://github.com/ping1979ping/comfyui-FVMtools
Restart ComfyUI, find it under FVM Tools/K2. The K2 suite adds no Python dependencies beyond what ComfyUI already ships - the only "dependency" is having the right model files, which is exactly what this node's dropdowns load. The tested combination from the pack's own docs is krea2_turbo_int8_convrot + qwen3vl_4b_int8_convrot + qwen_image_vae on ComfyUI 0.28.3.
One thing worth internalizing: Krea 2 Turbo is a distilled model, so the standard recipe is 8 steps, CFG 1.0, euler/simple. The RAW checkpoint, by contrast, wants higher CFG. If your first Turbo render comes out flat or overbaked, check that you're not at CFG 7 out of habit - this is the model that finally makes CFG 1.0 the right call.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| diffusion_model | COMBO | Krea 2 Turbo or RAW transformer. | |
| text_encoder | COMBO | Qwen3-VL-4B encoder for Krea 2. | |
| vae | COMBO | Qwen-Image VAE (Krea 2 shares its autoencoder). | |
| weight_dtype | COMBO | default | 'default' follows the file. FP8 modes lower model memory where the device supports them; fp8_e4m3fn_fast also enables ComfyUI FP8 matmul. |
| text_encoder_device | COMBO | default | 'cpu' keeps Qwen off the GPU — slower prompt encoding, noticeably less VRAM. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |
| clip | CLIP | — |
| vae | VAE | — |