Nodes/ComfyUI-Creepy_nodes/Dynamic VAE Switch (Creepybits)
ComfyUI Node

Dynamic VAE Switch (Creepybits)

Let the First Connected VAE Through

By Creepybits·Created about a year ago·Updated 2 months ago· 32
Dynamic VAE Switch (Creepybits)
  • vae1
  • vae2
  • vae3
  • VAE
  • show_help

The Dynamic VAE Switch completes the pack's set of "first non-empty wins" switches - this one for VAEs. It takes up to three VAE inputs (vae1, vae2, vae3) and passes through the first one that has something connected. No selector, no settings, no active choice. If you've met the Dynamic Model or Image switches, you know this node; it's the same idea wearing a VAE-shaped hat.

When you'd want a VAE fallback

VAEs decode your latents into viewable images, and different model families want different VAEs - SDXL usually bundles its own, while Flux and video models (Wan, LTX-Video) frequently want a dedicated VAE file. That makes a priority chain genuinely handy in two spots:

  • Shared/portable workflows. Wire the specialized VAE (say, a sdxl_vae or a model-specific one) into vae1 and a generic fallback into vae2. Machines that have the right file use it; machines that don't still get a working decode.
  • Multi-model graphs. One graph that can run both SDXL and Flux flavors gets both VAEs wired in order, and the decode always uses whichever one is actually loaded this run.

Outputs: VAE and the pack's standard show_help string - which, like every node in this family, is a rotating proverb rather than instructions. Ignore it and move on.

The limits, stated plainly

As with the whole dynamic family: this is a priority pass-through, not a router. If both vae1 and vae2 are connected, vae1 wins no matter what - there's no integer selector, so you can't actively choose between two live VAEs on the same run. For active selection, you'd want a VAE switch with an index input (the pack's Multi switches give you that pattern for models and CLIPs; for VAEs you may end up reaching for a core-comfyui or third-party switcher). And the None trap applies: all three slots empty → None out, and a VAE Decode fed None fails. Keep vae2 or vae3 as your always-wired default.

Where it fits in the pack

This node exists because the pack ships a whole family of dynamic switches - Model, CLIP, VAE, Latent, Image - and they share one code pattern. Once you internalize "first connected, positional priority, None propagates," you've learned all five. They're utility plumbing, not flashy features: you add them when a shared graph needs "prefer this, else that" without manual rewiring.

Installing it

It ships with the whole Creepybits pack:

cd ComfyUI/custom_nodes
git clone https://github.com/Creepybits/ComfyUI-Creepy_nodes.git

Restart ComfyUI, or find "Creepy" in ComfyUI Manager. No model downloads; the pack's requirements install on first launch. It's not the node that'll show up in a screenshot, but in a multi-model workflow it's the silent wire that keeps the decode from erroring on machines with different setups.

CategoryCreepybits/Switches

Inputs (3)

NameTypeDefaultDescription
vae1optVAE
vae2optVAE
vae3optVAE

Outputs (2)

NameTypeDescription
VAEVAE
show_helpSTRING