Eric Krea2 Component Loader
The Krea 2 loader with a save button and a box of spare parts
- krea2_pipeline
- settings
The plain Eric Krea2 Loader gets you running. The Component Loader is for when you want to run your way: it loads the same Krea2Pipeline, but every major component - transformer, text encoder, VAE - can be swapped for a different file, and the whole recipe can be saved as a named preset and recalled with one click.
Start with base_pipeline_path, which is the full Krea 2 diffusers folder. It supplies the model_index.json, scheduler, tokenizer, and any component you don't override. Two things to know about it. First, the default is H:\Training\Krea-2-Turbo - again Eric's machine, so change it to your checkpoint folder. Second, and this matters more than any other knob here: the is_distilled flag in that folder's model_index.json decides the entire sampling regime. A Turbo checkpoint run against a Raw base renders blown and oversaturated, so make sure your base matches the checkpoint you intend to use.
Then come the overrides. Each has a Pick dropdown (populated from ComfyUI's model folders) and a Path field, and the dropdown wins:
- transformer_pick / transformer_path - swap the DiT itself. Single-file
.safetensors/.gguffor the pick; a full diffusers folder via path. The.ggufgets dequantized on load. - text_encoder_pick / text_encoder_path - override the Qwen3-VL encoder, same story.
- vae_pick / vae_path - swap the
AutoencoderKLQwenImageVAE. This is how people run the FP8 conversion or a different VAE build without editing the base folder. - precision -
bf16default; GGUF is dequantized to whatever you set here. - attention_backend -
auto(FlashAttention if present, else SDPA),flash,sage, orsdpa.autois ~3x faster thansdpaon Blackwell and lossless;sageis fastest with a slight quality trade. - device -
cuda,cuda:0,cuda:1, orcpu. - keep_in_vram - cache the assembled pipeline between runs; leave on.
- offload_vae - keep the VAE on CPU during transformer inference to save ~1 GB of VRAM. Worth it on smaller cards.
- vae_tiling / vae_tile_px - tiled decode/encode policy (
autotiles above 1024 px).offis a diagnostic for tile-seam hunting; the tooltip's trick - if the pattern pitch moves when you changevae_tile_px, it's tiling - is genuinely how you tell seam artifacts from generation artifacts.
The loader_preset dropdown is where this node earns its keep over the plain Loader. Pick a saved recipe and the paths, precision, attention backend, and device all load in. The ★ Save button writes the current panel to loader_presets.json, and the dropdown refreshes on graph reload. The samples shipped in the preset list (DarkBeast-..., JibMixV10, Kreamania bf16) show this is a node built by someone who A/Bs fine tunes for a living - you're inheriting his habits, which is fine, but treat them as starting points.
Outputs are krea2_pipeline (into Generate or Multi-Stage Ultra) and settings, a string recipe that Merge Settings can fold into your saved PNG metadata so the whole loader state is reproducible later.
How to install
Same pack as everything else: ComfyUI Manager → search "Krea2_ComfyUI_Advanced", or
cd ComfyUI/custom_nodes
git clone https://github.com/EricRollei/Krea2_ComfyUI_Advanced
then restart. Requires a diffusers build that includes Krea2Pipeline (install from git with --force-reinstall, since the version string never bumped past 0.39.0.dev0) and transformers>=4.57.0 for Qwen3-VL. Weights are yours to supply - this pack drives the real Hugging Face pipeline, it doesn't bundle the model.
Common issues
- Blown/oversaturated Turbo renders. Base path points at a Raw folder (or the
is_distilledflag is being read wrong). Load the matching checkpoint. - Presets not showing up. The dropdown refreshes on graph reload - restart or reload the workflow.
- VAE seams in big decodes. Leave
vae_tilingonauto; only flip tooffto diagnose. Big non-tiled Wan-family decodes can leave a bottom-edge band and spike VRAM.
Inputs (15)
| Name | Type | Default | Description |
|---|---|---|---|
| base_pipeline_path | STRING | H:\Training\Krea-2-Turbo | Full Krea 2 diffusers folder. Supplies model_index.json, scheduler, tokenizer, and any component you don't override below. NOTE: this folder's model_index.json is_distilled flag decides the whole sampling regime (Turbo: guidance forced 0, fixed distilled shift; Raw: real CFG + active negative prompt) - a Turbo checkpoint run against the Raw base renders blown/oversaturated. Default is Turbo as the common case (2026-07-28). |
| loader_presetopt | COMBO | custom | Load a saved loader recipe (paths / precision / attention / device) into the panel for this run. 'custom' = use the panel as-is. Use the ★ Save Preset button to add one; the list refreshes on graph reload. |
| transformer_pickopt | COMBO | none | Pick a transformer from models/diffusion_models/krea2/. When not 'none' this OVERRIDES the transformer_path field below. Single-file .safetensors/.gguf only - use the path field for a diffusers folder. |
| transformer_pathopt | STRING | Override transformer: diffusers folder, bare .safetensors/.bin/.pt, or .gguf (dequantized on load). Empty = use base. Ignored when transformer_pick above is set. | |
| text_encoder_pickopt | COMBO | none | Pick a text encoder from models/text_encoders/. When not 'none' this OVERRIDES the text_encoder_path field below. |
| text_encoder_pathopt | STRING | Override Qwen3-VL text encoder: HF/transformers folder, bare .safetensors, or .gguf. Empty = use base. Ignored when text_encoder_pick above is set. | |
| vae_pickopt | COMBO | none | Pick a VAE from models/vae/. When not 'none' this OVERRIDES the vae_path field below. |
| vae_pathopt | STRING | Override VAE (AutoencoderKLQwenImage): diffusers folder or bare .safetensors. Empty = use base. Ignored when vae_pick above is set. | |
| precisionopt | COMBO | bf16 | Compute dtype (bf16 recommended for Blackwell). GGUF is dequantized to this dtype. |
| attention_backendopt | COMBO | auto | Transformer attention kernel. auto = flash if available else SDPA. |
| deviceopt | COMBO | cuda | 4 options: cuda, cuda:0, cuda:1, cpu |
| keep_in_vramopt | BOOLEAN | true | Cache the assembled pipeline between runs. |
| offload_vaeopt | BOOLEAN | false | Keep the VAE on CPU during transformer inference (saves ~1 GB). |
| vae_tilingopt | COMBO | auto | Tiled-decode/encode policy for the pipeline VAE, honored by standard_decode/standard_encode everywhere. auto: tile only above 128 latent (>1024 px) - previous behavior. force: always tile. off: never tile - tile-seam A/B diagnostic; large non-tiled Wan-family decodes can leave a bottom-edge band and spike VRAM. |
| vae_tile_pxopt | INT | 00–2048 | Custom tile size in PIXELS (0 = VAE default). Needs >=256 to take effect; stride is 75% of tile. If the pattern pitch moves when you move this, the pattern IS tile seams. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| krea2_pipeline | KREA2_PIPELINE | — |
| settings | STRING | — |