Vae Select
Grey Images? Vae Select Is the Dropdown That Fixes Them
- vae_name
Grey, washed-out, desaturated images are the classic "your VAE isn't loaded" symptom. And when the fix involves typing vae-ft-mse-840000-ema-pruned.safetensors from memory into a VAE Loader, people just live with muddy colours. Vae Select (class PgVAESelect) is the two-second version: a dropdown of every VAE ComfyUI can see, one click, done.
It's part of PG Nodes by Piotr Gredka (GizmoR13) - a small, MIT-licensed utility pack, self-published after the author started learning ComfyUI and decided his workflows needed fewer scattered knobs. The Select suite is the pack's plumbing department: dropdowns that hand a model filename to whatever loader you point them at. Vae Select is one of those, tuned for the VAE folder.
Why you'd reach for it
A VAE converts between the latent space the diffusion model actually works in and the pixels you see. Some checkpoints bake their VAE in - SDXL and Flux ship their own - but plenty don't, and SD 1.5 in particular needs vae-ft-mse-840000-ema-pruned bolted on or your output comes out flat and lifeless. So "which VAE file" is a decision you make per checkpoint, per run, and it's a long filename you should never have to type.
There's a subtler reason to reach for it in 2026: people now swap VAEs deliberately, not just to fix washed-out colour. The current drama is that some models' default decoders over-smooth the image - the Qwen-Image VAE gets blamed for mushy texture and weak contrast, and the community's fix is dropping in a different decoder (the Wan 2.1 VAE is the usual candidate). A dropdown makes that swap a trial-and-error exercise of two clicks instead of a filename hunt, which is exactly what you want when you're A/B-testing decoders.
How it works
Like the other Select nodes, it queries ComfyUI's folder_paths registry at startup - trying the vae, vaes and autoencoder keys so it works regardless of what other packs call the folder - and materializes the dropdown once. Its process() function does one thing: pass the chosen filename straight through. No loading, no decoding, no VRAM spent. The node doesn't load a VAE, it just tells you (and your loader) which one to load.
The input and output that matter
One input, one output, both named vae_name. The dropdown lists whatever lives in your ComfyUI/models/vae/ folder; the output is the filename string.
Wire that output into the vae_name input of a VAE Loader, or into the VAE slot of PG Nodes' Unified Loader, and you're set. Swap checkpoints, come back, pick a different VAE from the same dropdown - no retyping.
Installing it
No extra dependencies, no models to download from the pack. Either:
ComfyUI Manager → search "PG Nodes" → Install → Restart
or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/GizmoR13/PG-Nodes
# restart, then search "Vae Select" under PG/Select
Your VAE files go in ComfyUI/models/vae/.
Where people get burned
The dropdown is populated once, at startup - drop a new .safetensors in and it appears only after you refresh or restart. The plain PgVAESelect has no "none" option; if you need an off position for the Unified Loader, that's the "Vae Select (Uni)" variant.
The bigger trap is one no dropdown can fix: a VAE from the wrong architecture. Latent channel counts differ between model families - SD 1.5 and SDXL sit at 4, Flux and Wan at 16 - and crossing them gives you noise or flat colour, not a subtly worse image. Use this node to make picking the right VAE effortless; it can't save you from picking one that doesn't belong to your checkpoint's family. When in doubt, the checkpoint's own docs (or the workflow you downloaded) name the VAE it expects.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| vae_name | COMBO | 0 options: |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| vae_name | — |