Nodes/Eric_Krea2/Eric Krea2 Decode VAE Loader
ComfyUI Node

Eric Krea2 Decode VAE Loader

Swap Krea 2's 'plastic skin' VAE for natural grain — without upscaling

By EricRollei·Created 2 months ago·Updated about a month ago· 11
Eric Krea2 Decode VAE Loader
    • decode_vae
    vae_sourceWan-AI/Wan2.1-T2V-1.3B-Diffusers
    dtypefloat32
    vae_namenone
    decode_vae_presetcustom
    vae_tilingauto
    vae_tile_px0

    Krea 2's own VAE is the Qwen-Image one, and it's the source of the model's signature "plastic" skin and airbrushed texture - Krea's CEO said on the release livestream that for photorealism he'd use the Flux VAE, which is as close to an official admission as you'll get. But there's a cheaper fix than switching VAEs: the Wan 2.1 VAE shares the identical latent space (same latents_mean/std, same 16-channel f8 layout), so it can decode Krea 2 latents directly, and its reconstruction grain reads as more natural. This node is the loader that makes that swap one connection.

    Eric Krea2 Decode VAE Loader loads a plain 1× decode VAE - no upscaling - and hands it out as a KREA2_DECODE_VAE. The community pattern is exactly this: keep generating with Krea's VAE, decode with the Wan one, and trade the plastic look for film-like grain. It's the texture A/B that costs nothing to try.

    Inputs are sparse and self-explanatory. vae_source accepts an HF repo id (default Wan-AI/Wan2.1-T2V-1.3B-Diffusers, which uses its vae subfolder), a local diffusers folder, or a bare .safetensors like a downloaded wan_2.1_vae.safetensors. dtype defaults to float32 - the tooltip is honest that float32 is safest for a clean decode, with bf16/fp16 as lighter options. vae_name lets you instead pick any Wan-2.1-family VAE from ComfyUI's models/vae folders (it takes precedence over vae_source when set) - the warning to heed is that an SD/SDXL/FLUX VAE will fail to load, because this loads as AutoencoderKLWan, and only Wan/Qwen-Image VAEs live in that latent space. decode_vae_preset is the ★ Save Preset recipe dropdown, same pattern as the rest of the pack. And vae_tiling/vae_tile_px give this VAE its own tiled-decode policy - auto tiles above 1024 px, off is the tile-seam diagnostic, and the "move the tile size, see if the pattern pitch moves" trick tells you if you're chasing a decode artifact or a generation one.

    One output: decode_vae. It plugs into Multi-Stage Ultra's decode_vae input (final decode and stage previews) or into the pack's Eric Krea2 VAE Decode node for a plain 1× decode. Note the precedence subtlety from the README: if upscale_vae_mode is doing a VAE 2× final decode, decode_vae is ignored for the final image but still governs the stage previews - so you can have the upscale VAE for the final and a specific grain VAE for previews, and keep both connected without conflict.

    How to install

    Part of EricRollei/Krea2_ComfyUI_Advanced: ComfyUI Manager → search "Krea2_ComfyUI_Advanced", or clone into custom_nodes and restart:

    cd ComfyUI/custom_nodes
    git clone https://github.com/EricRollei/Krea2_ComfyUI_Advanced
    

    The whole pack needs a git-installed diffusers with Krea2Pipeline (--force-reinstall, because the version string never bumped past 0.39.0.dev0) plus transformers>=4.57.0, and your own Krea 2 weights.

    Common issues

    • "Failed to load as AutoencoderKLWan" - you picked an SD/SDXL/FLUX VAE. Only Wan-2.1-family and Qwen-Image VAEs share Krea 2's latent space.
    • Default repo id fails to resolve - the default is a diffusers repo; if you're offline or behind a proxy, pass a local wan_2.1_vae.safetensors instead.
    • Texture doesn't change - check whether upscale_vae_mode is doing a VAE 2× final decode; in that mode this VAE only affects previews.
    CategoryEric/Krea2

    Inputs (6)

    NameTypeDefaultDescription
    vae_sourceSTRINGWan-AI/Wan2.1-T2V-1.3B-DiffusersHF repo id (uses its 'vae' subfolder), a local diffusers folder, or a local .safetensors file (e.g. a downloaded wan_2.1_vae.safetensors).
    dtypeoptCOMBOfloat32float32 is safest for a clean decode; bf16/fp16 are lighter.
    vae_nameoptCOMBOnonePick a VAE from ComfyUI's models/vae folders (takes precedence over vae_source when not 'none'). Must be a Wan-2.1-family / Qwen-Image VAE - an SD/SDXL/FLUX VAE will fail to load as AutoencoderKLWan.
    decode_vae_presetoptCOMBOcustomLoad a saved decode-VAE recipe (source / dropdown / dtype) 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.
    vae_tilingoptCOMBOautoTiled-decode policy for THIS VAE, honored by every node that decodes with it. auto: tile only above 128 latent (>1024 px) - previous behavior. force: always tile. off: never tile - for A/B-testing tile-seam pattern noise; a large non-tiled Wan-family decode can leave a bottom-edge band and spike VRAM, so treat off as a diagnostic, not a daily driver.
    vae_tile_pxoptINT00–2048Custom tile size in PIXELS (0 = the VAE default). Needs >=256 to take effect; stride is 75% of tile (25% overlap). Bigger tiles = fewer seams, more VRAM. Seam diagnostic: if the pattern pitch moves when you move this, it IS the tiling.

    Outputs (1)

    NameTypeDescription
    decode_vaeKREA2_DECODE_VAE