Sequential VAE Loader
Swap in a dedicated VAE for the final decode, only when you need it
- trigger
- VAE
- Bypass(Relay)
Sequential VAE Loader does for the VAE what the pack's other loaders do for the checkpoint, CLIP, and LoRA: it loads a VAE on a trigger, so it only appears in memory when the workflow is ready for it. Every checkpoint carries its own VAE, so like the sequential CLIP loader, this one exists for the cases where you deliberately want a different one for the final decode.
The classic setup: your rough pass decodes through the checkpoint's baked-in VAE just fine for a quick preview, but the finish pass should decode through a dedicated fp16-fixed VAE - a notoriously common upgrade, since a bad built-in VAE produces washed-out or broken colors on decode. On a small card you don't want that second VAE resident during the whole run, so you load it after the FREE VRAM node cleared the first pass's models, right before the final VAE Decode.
How it works
It scans models/vae for .safetensors and .pt files, then loads your pick with comfy.utils.load_torch_file and wraps it in comfy.sd.VAE - the same path ComfyUI's core VAE Loader takes. The quirk is the extra candidates it offers: the TAESD variants (taesd, taesdxl, taesd3, taef1). For those it stitches together the taesd_encoder.pt / taesd_decoder.pt files from models/vae_approx into a state dict and applies the variant's scale/shift. These are the tiny preview autoencoders that ship with ComfyUI, and this node is one of the few places you can load them directly.
Inputs and outputs
- vae_name (required) - dropdown of your VAE files plus any detected TAESD variants. "No VAE files found" means nothing matching in the folder.
- trigger (optional, any type) - ordering control, relayed through.
- Outputs: VAE (wire to VAE Decode or VAE Encode) and Bypass(Relay).
Typical placement in the pack's two-pass workflow:
[FREE VRAM] → [Seq Checkpoint Loader] → [Seq LoRA] → [KSampler]
└─→ [Seq VAE Loader] → [VAE Decode]
Installing it
Ships in the u5 FreeVRAM pack. ComfyUI Manager → search "u5 FreeVRAM" → Install, or:
cd ComfyUI/custom_nodes
git clone https://github.com/u5dev/comfyUI_u5_VramFREE
# restart ComfyUI
No model downloads and no dependencies beyond ComfyUI's own loading code.
Where people get burned
- TAESD is a preview tool, not a finishing tool. Those tiny VAEs exist for speed - thumbnails, live previews, fast iteration. Decoding a final image through
taesdlooks visibly worse than the real VAE, so don't finish a piece with it unless you're deliberately testing speed. Use it for the rough pass, real VAE for the final. - TAESD options depend on ComfyUI's
vae_approxfolder. The encoder/decoder pairs normally ship with ComfyUI, but if you've pruned a minimal install, the variants silently disappear from the dropdown. - It only controls the VAE. The model's own VAE stays loaded until ComfyUI unloads it, so this node is about when the dedicated VAE loads, not a magic memory reducer. Pair it with the FREE VRAM node, as the README's example workflow does, or you've missed the point.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| vae_name | COMBO | 1 options: No VAE files found | |
| triggeropt | IMAGE,LATENT,MODEL,CONDITIONING,CLIP,VAE,MASK,INT,FLOAT,STRING,BOOLEAN | Trigger(Any): Connect from previous node to control execution order |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| VAE | VAE | — |
| Bypass(Relay) | IMAGE,LATENT,MODEL,CONDITIONING,CLIP,VAE,MASK,INT,FLOAT,STRING,BOOLEAN | — |