Eric Krea2 VAE Decode
Decode to pixels — and why you might swap the VAE first
- krea2_pipeline
- latent
- decode_vae
- image
Every Krea 2 latent eventually has to become pixels, and that's this node's whole job: Eric Krea2 VAE Decode takes a KREA2_LATENT and runs it through the pipeline's VAE to produce an IMAGE. It's the plain 1× decode - no upscaling, no re-denoise, just the reconstruction step at the end of the chain. Boring, essential, and the first thing you wire to a Preview or Save node after Generate.
The interesting part: the alternate VAE
The one optional input, decode_vae, is where this node earns its keep. Krea 2's own VAE is the Qwen-Image one, and the KB's VAE panel is blunt about its trade: the decoder was retuned to render legible text, at the cost of fine texture - the source itself calls the default look "plastic skin" in community terms. Because Krea 2, Qwen-Image, and Wan 2.1 share an identical latent space (same latents_mean/std), you can decode Krea 2 latents with a base Wan 2.1 VAE instead. That swaps the grain and texture without touching any pixels upstream - a different reconstruction, not an upscale.
That's the A/B the pack's Decode VAE Loader feeds into: load a Wan-family VAE, plug it into decode_vae, and get the more natural film grain at the same resolution. It's a taste thing, and the tooltip says exactly that - "changes grain/texture without an upscale."
The required inputs are krea2_pipeline (the pipe that owns the default VAE) and latent. Output is image (IMAGE), ready for the usual Preview Image / Save Image nodes.
How it fits the wider flow
The pack keeps Krea 2 latents in a custom packed type (KREA2_LATENT) that stock ComfyUI VAE nodes can't read - that's why there's a dedicated decode node at all. If you do want to hand the latent to ComfyUI's native VAEDecode, there's a separate Latent → ComfyUI LATENT bridge node for that; this one stays in-pack and handles the packed type natively. And note the mode interplay from the Ultra node: when upscale_vae_mode does a VAE final decode, decode_vae is ignored outright for the final image but still governs the stage preview images - so you can run the upscale VAE for the final and a specific grain VAE for previews without them fighting.
Install
Same pack, same story:
cd ComfyUI/custom_nodes
git clone https://github.com/EricRollei/Krea2_ComfyUI_Advanced
Restart (or install via ComfyUI Manager, searching the pack title). The pack drives the genuine Hugging Face Krea2Pipeline - install that diffusers build from source with --force-reinstall per the README, and have Krea 2 weights in diffusers layout.
Gotchas
Don't reach for a random VAE here. An SD/SDXL/FLUX VAE will fail to load as AutoencoderKLWan - it has to be a Wan-2.1-family or Qwen-Image VAE to sit in the same latent space. And remember the round-trip rule from the VAE panel: every encode/decode cycle costs a little, so chained img2img passes grind an image down. Decode once, judge, then decide if you actually want to re-encode it.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| krea2_pipeline | KREA2_PIPELINE | — | |
| latent | KREA2_LATENT | — | |
| decode_vaeopt | KREA2_DECODE_VAE | Optional base Wan 2.1 (or other Wan-family) VAE to decode with instead of the pipeline's Qwen VAE - changes grain/texture without an upscale. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |