⚡ Quick Answer
A VAE (Variational Autoencoder) converts the AI model's internal, compressed representation of an image into an actual image you can see — and back again for image-to-image workflows. Without it, ComfyUI has no way to turn generation results into a picture.
Diffusion models don't work directly with normal pixel images — that would be too slow. Instead, they generate in a compressed "latent space," a kind of mathematical shorthand for an image. The VAE is the translator: it decodes that shorthand into the final image, and can also encode a real image back into latent space when you're doing image-to-image work.
Where You'll See It
Most checkpoints include a built-in VAE, output from the Load Checkpoint node. It gets used in two places:
- VAE Decode — the last step of generation, turns the sampler's latent output into a final image
- VAE Encode — used at the start of image-to-image workflows, turns your input image into latent space so the sampler can work on it
Quick Example
If your images come out with washed-out colors, faint static, or a slightly grayish tint, a mismatched or broken VAE is one of the most common causes. Loading a dedicated VAE file (like sdxl_vae.safetensors) with a separate Load VAEnode, instead of relying on the checkpoint's built-in one, usually fixes it.
When to Use a Separate VAE
Some checkpoints ship with a low-quality or missing VAE. If your output colors look off across every checkpoint you try, load a known-good VAE manually with the Load VAEnode and connect it in place of the checkpoint's own VAE output.
Frequently Asked Questions
See It In Action
Not sure if your VAE is the problem?
Our interface guide shows exactly where the VAE connects in a full workflow.
Published: 2026-08-25 · Last updated: 2026-08-25
Join the discussion
Sign in to leave a comment or reply
No comments yet
Be the first to share your thoughts!
