VAE Processor
Switch your VAE from a dropdown instead of rewiring your whole graph
- latent
- baked_vae
- IMAGE
Images coming out grey and washed out? That's almost never a sampler problem. It's the VAE - specifically, the VAE baked into your checkpoint being the wrong one or none at all. The classic fix is to load a standalone VAE and rewire it into your graph, which is fiddly every single time you want to try a different one. VAE Processor exists so you don't have to.
It's a VAEDecode with a dropdown. One node takes your latent, your checkpoint's VAE, and a VAE name, and decodes straight to an IMAGE - with the twist that the dropdown decides which VAE does the decoding. Set it to "Baked VAE" and it decodes with whatever came out of your checkpoint loader. Pick any other entry and it loads that file from ComfyUI/models/vae/ and uses that instead. Same output, no rewiring, A/B tests become a two-second toggle.
Under the hood there's no magic to respect: the node just wraps ComfyUI's own VAELoader and VAEDecode. If you choose "Baked VAE" it calls decode(baked_vae, latent); otherwise it loads the named VAE via core VAELoader.load_vae() and decodes with that. It is core ComfyUI with a switch glued on - which is exactly why it works reliably and needs no extra dependencies.
Three inputs, and honestly only one of them is the interesting one:
- latent - the LATENT from your sampler. Nothing weird here.
- baked_vae - required, even if you plan to override it. You still pull this out of Load Checkpoint, because the "Baked VAE" option needs it.
- vae_name - the dropdown. "Baked VAE" plus every
.safetensorssitting in yourmodels/vae/folder.
Output is a single IMAGE, ready for a preview, Save Image, or the start of an img2img or compositing chain.
Where people get burned: the dropdown only shows VAEs that are physically in models/vae/. If you've never downloaded vae-ft-mse-840000-ema-pruned (the standard SD 1.5 VAE - most SD 1.5 checkpoints don't bake one), it won't be in the list, and you'll stare at an empty dropdown wondering where "Load VAE" went. The baked_vae input being required also trips people up - this node is decode-only, so there's no "generate from latent" mode and no encode direction. If you want to encode an image into latent space with a chosen VAE, this isn't the node.
Install is the same for the whole pack, which is tiny. ComfyUI Manager → search "comfyui-custom-nodes" (or "rcsaquino"), or:
cd ComfyUI/custom_nodes
git clone https://github.com/rcsaquino/comfyui-custom-nodes
# restart ComfyUI
One quirk worth knowing: the pack's requirements.txt installs rembg, which this node never touches - that's for the sibling Background Remover. So installing the pack drags in onnxruntime even if you only use the VAE nodes. Annoying, but harmless.
Is it a quality tool? No, and it's not trying to be. It's a convenience layer for the most common VAE troubleshooting loop in the whole ecosystem: grey output → swap VAE → check. When that's your workflow, this node turns a five-minute rewiring chore into one dropdown click.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| latent | LATENT | — | |
| baked_vae | VAE | — | |
| vae_name | COMBO | 1 options: Baked VAE |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |