Load TAESD
Swap in a tiny VAE for near-instant decoding
- VAE
If your images are taking forever to actually appear after the diffusion steps finish, the VAE decode is probably why. Load TAESD swaps your normal, full-size VAE for TAESD - Tiny AutoEncoder for Stable Diffusion - a much smaller network trained to approximate the real decoder's job. Same idea as distilling a diffusion model into fewer steps, just applied to the other end of the pipeline: instead of collapsing 20 denoising steps into 4, TAESD collapses an 80-million-parameter decoder into something you barely notice running.
The tradeoff is exactly what you'd expect from a distilled component: it's fast, and it's a little dumb about fine detail. Intricate textures and small text get smoothed over; painterly or low-detail styles barely show a difference. That makes it a genuinely good fit for prototyping - burn through seeds and prompts fast, then decode your keeper with the real VAE for the final pass. It's also a natural pairing with this same pack's LCM sampler: once your sampling step count drops to 4-8, the VAE decode stops being a rounding error in your total generation time and starts being a real chunk of it, so a cheap decoder matters more than it used to.
How it works
TAESD isn't a compressed version of the real VAE's weights - it's a separate, much smaller network trained from scratch to mimic the real decoder's latent-to-pixel mapping (and encoder, for the reverse direction). It comes from the same author, madebyollin, behind the SDXL VAE fp16 fix - someone who's spent a lot of time on the "the VAE is quietly the bottleneck" problem from different angles. Because it's a from-scratch approximation, TAESD is architecture-specific: the version trained against SD 1.5 latents won't make sense of an SDXL or Flux latent, and vice versa. Grab the file that matches whatever checkpoint you're actually running.
The inputs that matter
- file_name - a dropdown of whatever TAESD weight files you've got sitting locally. Download the pair for your architecture (SD 1.5 vs SDXL vs newer models have separate TAESD releases) and drop them where ComfyUI expects VAE-approximation weights; restart, and they'll show up here. An empty dropdown means nothing's installed yet.
- max_batch_size (default 16, 1-1024) - how many images it decodes in one batch pass. Higher is faster per-image but eats more VRAM; the README's own advice is to bring this down if you're running out of memory. Start at the default and only touch it if you hit an OOM.
The single output is a VAE - wire it anywhere a normal VAE would go, most commonly straight into VAE Decode, exactly as if it were the checkpoint's built-in decoder.
Installing it
This node ships inside the LCMSampler-ComfyUI pack, so you install the whole pack to get it:
- ComfyUI Manager - search "LCMSampler-ComfyUI", install, restart.
- Manual -
cd ComfyUI/custom_nodes && git clone https://github.com/laksjdjf/LCMSampler-ComfyUI, then restart.
There's nothing to pip install here, but you do need the TAESD model weights themselves, which aren't bundled with the node - they're a separate download that has to match your base model's architecture.
Common issues
Garbled, noisy, or flat-out wrong-looking output almost always means an architecture mismatch - you loaded an SD 1.5 TAESD file against an SDXL (or newer) latent, or vice versa. The VAE and the model it decodes for have to agree on the latent shape; there's no cross-compatibility here any more than there is with a full-size VAE.
Out of VRAM - drop max_batch_size. It defaults to 16, which assumes some headroom; if you're on a smaller card, pull it down.
Details look smeared even where you didn't expect it - that's the tradeoff working as designed, not a bug. TAESD sacrifices fine detail for speed everywhere, not just where you want it to. If a shot needs to look sharp, decode it with the full VAE instead - TAESD is a prototyping tool, not a final-output one.
The dropdown is empty - no TAESD weight files were found on disk. This node only loads what you've already downloaded; it doesn't fetch anything for you.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| file_name | COMBO | 0 options: | |
| max_batch_size | INT | 161–1024 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| VAE | VAE | — |