Vae Selector + String
Pick a VAE by hand, by seed, or by index
- vae_name
- STRING
This is a VAE dropdown with a trick up its sleeve. A standard ComfyUI VAELoader just gives you a fixed dropdown of files in models/vae - you pick one, that's it. This node is one of JNodes' "Selector" family, and per the README those are all built to be randomizable by seed, so instead of hand-picking a VAE every time, you can let the node roll one for you based on a seed value. Handy if you're batch-testing which VAE a checkpoint actually likes, or doing generation sweeps where you want the VAE choice itself to vary run to run.
Why the VAE choice even matters
Worth a quick reminder if you're newer to this: the VAE is the codec between the compressed space where diffusion actually happens and the pixels you see on screen. On old SD 1.5 checkpoints picking the wrong (or no) VAE gave you washed-out colors - the classic fix was bolting on the 840k VAE. Modern checkpoints have mostly flipped this: they usually bake a matching VAE in already, so attaching the wrong external one is now the more common mistake, not skipping one. The safe move is "Baked VAE" (use whatever's already in the checkpoint) unless you have a specific reason to swap - different architectures use incompatible latent formats, so pairing a VAE with a model it wasn't trained against tends to produce noise or flat color rather than a subtly-off image.
Inputs and outputs
vae_name- the dropdown of available VAE choices, includingBaked VAEas an option to fall back to whatever's built into your checkpoint rather than loading a separate file.mode- one ofselect,seed, orindex.selectjust uses whatever you picked invae_namemanually.seedandindexhand the choice off to randomization instead -seedderives the pick from the seed value below,indexpresumably steps through the list by position (useful for deterministic sweeps rather than pure randomness).seed- an integer, defaults to 0, only relevant whenmodeis set toseed.
Two outputs come out the other end:
vae_name- the resolved selection in its native type, meant to be wired directly into a standard VAE-consuming node the same way you'd wire a normal VAELoader's dropdown.STRING- the same resolved value as plain text, useful for logging, filenames, or feeding into JNodes' metadata nodes so you can tell after the fact which VAE actually got used on a given run.
One thing to keep in mind: this node picks a name, it doesn't load the VAE itself. You still need a loader downstream that actually reads the file into memory.
Installing it
Standard pack install, no extra dependency specific to this node:
- ComfyUI Manager - search "JNodes", install, restart.
- Manual -
cd ComfyUI/custom_nodes && git clone https://github.com/JaredTherriault/ComfyUI-JNodes, thenpip install -r requirements.txt, then restart ComfyUI.
Your VAE files themselves aren't something this pack fetches for you - they still need to already be sitting in models/vae (or baked into your checkpoint) for the dropdown to have anything real to offer.
Common issues
If vae_name only shows Baked VAE and nothing else, that's not a bug - it means ComfyUI didn't find any files in models/vae, so drop a .safetensors VAE in there and refresh the node (or restart) to populate the list. If you switch mode to seed or index and the output doesn't seem to match what you'd expect from vae_name, remember those modes override your manual dropdown pick entirely - set mode back to select if you want your choice respected exactly as shown. And the usual VAE trap still applies regardless of how you picked it: loading a VAE from a different model family than your checkpoint (say, an SDXL-era VAE against a newer 16-channel-latent model) tends to produce visible noise or flat color rather than a subtle quality difference, so if output looks broken right after adding this node, check that the VAE you selected actually matches your checkpoint's architecture before debugging anything else.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| vae_name | COMBO | 1 options: Baked VAE | |
| mode | COMBO | 3 options: select, seed, index | |
| seed | INT | 0 | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| vae_name | — | |
| STRING | STRING | — |