JoyAI_Image_SM_VAE
The tiny loader that reminds you JoyAI-Image runs on Wan 2.1's VAE
- vae
JoyAI_Image_SM_VAE is the most boring node in this pack, and that's fine - boring is what you want from a VAE loader. One dropdown, one file, one VAE output. You'll wire it into JoyAI_Image_LATENTS (for encoding your reference image) and into JoyAI_Vae_Decoder (for turning latents back into pixels). It exists because JoyAI-Image doesn't use a stock ComfyUI VAE - it uses the Wan 2.1 VAE, and stock ComfyUI doesn't know what to do with that file on its own.
The dropdown lists files in ComfyUI/models/vae, and the file you want is Wan2.1_VAE.pth. That's the giveaway to what JoyAI-Image actually is: architecturally a heavily retrained Wan 2.1-class DiT - 40 double blocks, 16-channel latents - with a Qwen3-VL text encoder bolted on. The VAE is the one component it kept stock, which is good news for you: the Wan 2.1 VAE is battle-tested across the whole Wan video ecosystem, and a file you can also grab from any Wan 2.1 repo. Under the hood the loader wraps it in the pack's WanxVAE and loads it in bf16.
The inputs
Just one: vae, a combo. Pick Wan2.1_VAE.pth. There's no GGUF option and no none default that does anything useful - leave it empty and downstream nodes will fail when they try to encode or decode. If you're coming from the stock VAELoader, the only real difference is where the dropdown scans from; the file lives in the standard models/vae folder either way.
Wiring it
JoyAI_Image_SM_VAE → JoyAI_Image_LATENTS
JoyAI_Image_SM_VAE → JoyAI_Vae_Decoder
One loader can feed both. And remember the LATENTS node's own rule: pass an image and it requires a VAE - "When use image,you must provide a vae" - so this loader isn't optional in image-edit workflows, it's mandatory.
Install
Pack install as usual:
cd ComfyUI/custom_nodes
git clone https://github.com/smthemex/ComfyUI_JoyAI_Image
cd ComfyUI_JoyAI_Image
pip install -r requirements.txt
restart, then drop Wan2.1_VAE.pth into ComfyUI/models/vae. You can pull it from https://huggingface.co/jdopensource/JoyAI-Image-Edit (it's bundled there under vae/) or from the merged GGUF repo. It's a couple hundred megabytes, the cheapest part of this pack's model shopping list.
Where people get burned
Two things, both quick to hit. First: because this pack skips ComfyUI's memory management, the loader's cache-clear call evicts other loaded models every time you run it - re-running the workflow is slightly rude to whatever else you had resident. Second, and more practically: this is a different VAE from whatever your other checkpoints use. If you're the kind of person who keeps one SDXL VAE around and hopes it works everywhere, that habit will produce color-shifted, glitchy decodes here. Use the Wan 2.1 file. There's no way around it, and there's no reason to want one.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| vae | COMBO | 1 options: none |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| vae | VAE | — |