Load VAE node in ComfyUI
Load VAE (VAELoader) loads a standalone VAE file from models/vae so a checkpoint with a missing or weak VAE decodes clean colours, and so split models like Flux and Wan get their decoder.
Node pack: ComfyUI core
Category: Loaders
What Load VAE does
The VAE turns the latent image into pixels (decode) and pixels into latents (encode). Many SD 1.5 and SDXL checkpoints include one, but some were trained or merged without it and produce dull, washed-out or blotchy images. Load VAE lets you plug in a known good VAE (vae-ft-mse-840000 for SD 1.5, sdxl_vae for SDXL) in place of the checkpoint VAE.
Split model families always need it: Flux uses ae.safetensors, Wan 2.1 uses wan_2.1_vae.safetensors, HunyuanVideo and LTX have their own. The output replaces the VAE wire into VAE Decode and VAE Encode.
Inputs
Name | Type | What it is |
|---|---|---|
vae_name | COMBO | The VAE file from models/vae. taesd and taesdxl entries are the tiny preview decoders. |
Outputs
Name | Type | What it is |
|---|---|---|
VAE | VAE | The decoder/encoder for VAE Decode, VAE Encode and inpaint encode nodes. |
AD

Skip the setup: ComfyUI workflows preinstalled on the cloud
BitVector runs ready-made ComfyUI workflows on its own GPUs. No install, no missing nodes, no red boxes. Open it on your phone or laptop and generate in a minute.
How to use Load VAE
- Download the VAE for your model family into ComfyUI/models/vae.
- Add Load VAE and pick the file.
- Connect its VAE output to VAE Decode (and to VAE Encode if you do img2img).
- Leave the checkpoint VAE output unconnected.
Settings and tips
- SDXL: use the fp16-fix VAE (sdxl_vae_fp16_fix) if you see black images in fp16 mode.
- SD 1.5 anime checkpoints often look best with kl-f8-anime2 or the Orangemix VAE; realistic ones with vae-ft-mse-840000.
- Never mix families: an SDXL VAE on SD 1.5 latents produces garbage colours, a Flux VAE on SDXL latents errors.
- The taesd entries are fast approximations for previews only; final images should use the real VAE.
Troubleshooting Load VAE
Images are washed out, grey or low contrast
Why it happens
The checkpoint has no baked VAE or a poor one, and the graph uses the checkpoint VAE output.
How to fix it
Add Load VAE with the standard VAE for the family and wire it into VAE Decode instead of the checkpoint VAE.
The decoded image is a block of colour noise
Why it happens
VAE and latent families do not match (for example Flux ae.safetensors decoding SDXL latents, or an SDXL VAE decoding Wan video latents).
How to fix it
Use the VAE that belongs to the model that produced the latent. The error "Given groups=1, weight of size ..." in the console confirms a family mismatch.
Black image after decode on SDXL
Why it happens
The original SDXL VAE overflows in fp16 and returns NaN values that decode to black.
How to fix it
Load sdxl_vae_fp16_fix.safetensors, or start ComfyUI with --fp32-vae.
VAE decode runs out of memory on large images
Why it happens
Decoding a 2048x2048 image needs several GB for the activations.
How to fix it
Replace VAE Decode with VAE Decode (Tiled) and a tile size of 512, or decode before the final upscale step.
AD

Run this workflow from your phone
Every workflow on this page is preinstalled on BitVector with the models and custom nodes already in place. Pick one, type a prompt, done. Zero setup, nothing to download.
Questions about Load VAE
Do I always need Load VAE?
Only when the checkpoint has no good VAE or the model ships without one. Many SDXL checkpoints are fine with their own.
Where do I find the right VAE?
The model page normally names it. For Flux it is ae.safetensors from the Flux repository, for Wan it is in the Wan 2.1 repackaged files.
Related nodes
VAE Decode
ComfyUI core
VAE Decode converts the sampled LATENT into a pixel IMAGE with the VAE; VAE Decode (Tiled) does the same in tiles for very large images.
VAE Encode and VAE Encode (for Inpainting)
ComfyUI core
VAE Encode converts a pixel IMAGE into a LATENT for img2img; VAE Encode (for Inpainting) does the same while blanking the masked area so an inpainting model can repaint it.
Load Checkpoint
ComfyUI core
Load Checkpoint (CheckpointLoaderSimple) opens a .safetensors or .ckpt model file and hands out the three parts every workflow needs: the diffusion MODEL, the CLIP text encoder and the VAE.
Load Diffusion Model
ComfyUI core
Load Diffusion Model (UNETLoader) loads a bare denoising network such as Flux, SD3.5, Wan or HunyuanVideo from models/diffusion_models, with a weight_dtype option for fp8 to save VRAM.
AD

Tired of fixing nodes? Let the cloud do it
BitVector keeps hundreds of ComfyUI workflows installed, updated and tested on fast cloud GPUs. No Python, no CUDA errors, no VRAM limits. Works from any browser.
More ComfyUI nodes
CLIP Text Encode (Prompt)
ComfyUI core
CLIP Text Encode turns a text prompt into CONDITIONING using the model text encoder. One node holds the positive prompt, a second one the negative prompt.
ComfyUI Manager
ComfyUI-Manager
ComfyUI Manager is the extension that installs, updates and fixes custom node packs and models from inside the interface, resolves missing nodes in imported workflows and snapshots your setup.
KSampler
ComfyUI core
KSampler runs the denoising loop: it takes the model, prompts and a latent and produces the finished latent image, controlled by seed, steps, cfg, sampler, scheduler and denoise.
Save Image
ComfyUI core
Save Image writes the IMAGE tensor to ComfyUI/output as a PNG, with the whole workflow embedded in the file metadata so the picture can be dragged back into ComfyUI to restore the graph.
Empty Latent Image
ComfyUI core
Empty Latent Image creates the blank latent canvas (width, height, batch_size) that text-to-image sampling starts from; dimensions must be multiples of 8 and match the model family.
Load Image
ComfyUI core
Load Image reads a picture from the ComfyUI input folder (or an upload) and outputs an IMAGE tensor plus a MASK taken from the alpha channel, the starting point for img2img, inpainting, ControlNet and IP-Adapter graphs.

Model
Trends
.ai
© ModelTrends.ai
|
Made in Japan
|
© 2026