XY Input: VAE
VAE
- X or Y
This XY input generates a set of VAEs to plot against each other. The VAE is the bit that turns the latent into actual pixels, and swapping it changes color, contrast, and fine detail - sometimes subtly, sometimes a lot. If you've got three VAEs and can't decide which one your checkpoint likes best, this node lets you render the same image through each and compare them in a single grid.
As with the rest of the XY family, it's an input generator: it does nothing until it's feeding an XY Plot node.
Why you'd reach for it
VAE differences are the kind of thing that's hard to judge from memory - you switch VAE, regenerate, and try to remember whether the last one had punchier colors. A plot removes the guessing: same seed, same prompt, same everything, only the VAE changes across the row. It's especially worth doing when a checkpoint looks slightly washed out or oddly tinted, since that's often a VAE mismatch rather than the model itself.
The inputs and outputs
vae_count- how many VAE slots to show. Default3.vae_name_1…N- the VAEs to compare, one dropdown per cell, picked from your installed VAEs.input_mode- chooses between listing VAEs individually and the batch-folder approach.batch_path/subdirectories/batch_sort/batch_max- the batch route: point at a folder of VAE files and let the node sweep through them instead of picking each one by hand.subdirectoriesincludes nested folders,batch_sortsets the order, andbatch_maxcaps how many it'll pull in so you don't accidentally plot fifty of them.
The output is labelled X or Y (XY type) → into an XY Plot node's X or Y input.
Installing it
ComfyUI Manager → search Efficiency Nodes for ComfyUI, or:
cd ComfyUI/custom_nodes
git clone https://github.com/jags111/efficiency-nodes-comfyui
Restart after. Your VAE files need to be in ComfyUI's models/vae folder to appear in the dropdowns (or reachable via the batch path).
Common issues
The most common surprise is how small the differences can be - for many modern checkpoints with a baked-in VAE that's already good, swapping VAEs barely moves the needle, and the grid looks nearly identical. That's a real result, not a broken plot; it just means your VAE choice isn't your bottleneck.
If a cell comes out gray, blown out, or wildly off-color, that VAE probably doesn't match your model family (an SD1.5 VAE on an SDXL latent, say). That mismatch is exactly the kind of thing the plot surfaces.
And it only works through an XY Plot feeding an Efficient KSampler. Pack-wide: if the node's missing, check the console for IMPORT FAILED (often a pip freeze error) and update ComfyUI, the packages and the node.
Inputs (56)
| Name | Type | Default | Description |
|---|---|---|---|
| input_mode | COMBO | 2 options: VAE Names, VAE Batch | |
| batch_path | STRING | /example_folder | — |
| subdirectories | BOOLEAN | false | — |
| batch_sort | COMBO | 2 options: ascending, descending | |
| batch_max | INT | -1-1–50 | — |
| vae_count | INT | 30–50 | — |
| vae_name_1 | COMBO | 2 options: None, Baked VAE | |
| vae_name_2 | COMBO | 2 options: None, Baked VAE | |
| vae_name_3 | COMBO | 2 options: None, Baked VAE | |
| vae_name_4 | COMBO | 2 options: None, Baked VAE | |
| vae_name_5 | COMBO | 2 options: None, Baked VAE | |
| vae_name_6 | COMBO | 2 options: None, Baked VAE | |
| vae_name_7 | COMBO | 2 options: None, Baked VAE | |
| vae_name_8 | COMBO | 2 options: None, Baked VAE | |
| vae_name_9 | COMBO | 2 options: None, Baked VAE | |
| vae_name_10 | COMBO | 2 options: None, Baked VAE | |
| vae_name_11 | COMBO | 2 options: None, Baked VAE | |
| vae_name_12 | COMBO | 2 options: None, Baked VAE | |
| vae_name_13 | COMBO | 2 options: None, Baked VAE | |
| vae_name_14 | COMBO | 2 options: None, Baked VAE | |
| vae_name_15 | COMBO | 2 options: None, Baked VAE | |
| vae_name_16 | COMBO | 2 options: None, Baked VAE | |
| vae_name_17 | COMBO | 2 options: None, Baked VAE | |
| vae_name_18 | COMBO | 2 options: None, Baked VAE | |
| vae_name_19 | COMBO | 2 options: None, Baked VAE | |
| vae_name_20 | COMBO | 2 options: None, Baked VAE | |
| vae_name_21 | COMBO | 2 options: None, Baked VAE | |
| vae_name_22 | COMBO | 2 options: None, Baked VAE | |
| vae_name_23 | COMBO | 2 options: None, Baked VAE | |
| vae_name_24 | COMBO | 2 options: None, Baked VAE | |
| vae_name_25 | COMBO | 2 options: None, Baked VAE | |
| vae_name_26 | COMBO | 2 options: None, Baked VAE | |
| vae_name_27 | COMBO | 2 options: None, Baked VAE | |
| vae_name_28 | COMBO | 2 options: None, Baked VAE | |
| vae_name_29 | COMBO | 2 options: None, Baked VAE | |
| vae_name_30 | COMBO | 2 options: None, Baked VAE | |
| vae_name_31 | COMBO | 2 options: None, Baked VAE | |
| vae_name_32 | COMBO | 2 options: None, Baked VAE | |
| vae_name_33 | COMBO | 2 options: None, Baked VAE | |
| vae_name_34 | COMBO | 2 options: None, Baked VAE | |
| vae_name_35 | COMBO | 2 options: None, Baked VAE | |
| vae_name_36 | COMBO | 2 options: None, Baked VAE | |
| vae_name_37 | COMBO | 2 options: None, Baked VAE | |
| vae_name_38 | COMBO | 2 options: None, Baked VAE | |
| vae_name_39 | COMBO | 2 options: None, Baked VAE | |
| vae_name_40 | COMBO | 2 options: None, Baked VAE | |
| vae_name_41 | COMBO | 2 options: None, Baked VAE | |
| vae_name_42 | COMBO | 2 options: None, Baked VAE | |
| vae_name_43 | COMBO | 2 options: None, Baked VAE | |
| vae_name_44 | COMBO | 2 options: None, Baked VAE | |
| vae_name_45 | COMBO | 2 options: None, Baked VAE | |
| vae_name_46 | COMBO | 2 options: None, Baked VAE | |
| vae_name_47 | COMBO | 2 options: None, Baked VAE | |
| vae_name_48 | COMBO | 2 options: None, Baked VAE | |
| vae_name_49 | COMBO | 2 options: None, Baked VAE | |
| vae_name_50 | COMBO | 2 options: None, Baked VAE |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| X or Y | XY | — |