VAE Decode (Options)
A decode node that owns its tiling
- samples
- vae
- image
The stock VAEDecode in ComfyUI has a hidden coping mechanism: when a decode blows through VRAM, it silently retries in tiled mode. That usually saves you from an OOM crash - and it means you have zero control over the tiling when it happens. VAE Decode (Options) puts that decision out in the open. It's a single decode node with an explicit use_tiling switch, plus the tile parameters Comfy's native tiled decoder accepts, including the temporal ones for video VAEs.
How it works
It's not a new VAE implementation. The node is a thin orchestration layer: when use_tiling is off it expands into Comfy's normal VAEDecode - which still keeps its automatic tiled retry after OOM, so nothing is lost by leaving it off. When you flip it on, it expands into VAEDecodeTiled, forwarding your tile_size, overlap, temporal_size, and temporal_overlap. You get Comfy's battle-tested tiled decode, just with the parameters you actually chose instead of whatever the fallback picked.
The practical upside is memory control for big latents. Tiled VAE decode is the standard trick for getting a large render out on a modest card, and knowing your tile size and overlap up front beats discovering the seam artifacts afterwards and guessing what the automatic mode chose.
The inputs
use_tiling- the master switch. Default off, which is plain Comfy behavior.samplesandvae- exactly what they say; latent in, and the VAE that matches your checkpoint (the wrong VAE, or no VAE at all, is how you get grey or washed-out decodes).tile_size(default 512) - bigger tiles decode faster but eat more memory; 512 is the safe starting point, drop toward 256 when you're near OOM.overlap(default 64) - how much adjacent tiles share. Too little and you get visible seams; too much and you're re-decoding the same pixels twice.temporal_size(default 64) andtemporal_overlap(default 8) - only matter for video VAEs: how many frames to decode per temporal tile, and how many overlap. Ignore them for stills.
The single image output feeds whatever consumes pixels next - a save node, an upscaler, or an img2img pass.
When you'd bother
Honestly, for SD 1.5 or SDXL at normal resolutions, this node is overkill - the stock decode handles it. You reach for it when the latent is big enough that you want tiling deliberately: a 2K+ render on a 6-8GB card, or a video decode where you want to bound the frames-per-tile. The whole "tiled diffusion and tiled VAE" family exists because models make bad decisions far outside their training resolution and because memory is finite; this node is the VAE half of that story.
Installing it
It ships in the SimpleSyrup pack. ComfyUI Manager: search SimpleSyrup, install, restart. Or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/Artificial-Sweetener/SimpleSyrup.git
cd SimpleSyrup
../venv/bin/python -m pip install -r requirements.txt
No model files needed - it delegates entirely to Comfy's built-in VAE nodes. And if you ever find yourself hand-wiring VAEDecode and VAEDecodeTiled behind a switch just to toggle them, this is the node that replaces that whole contraption. Its encode-side twin, VAE Encode (Options), does the same thing for getting images into latent space.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| use_tiling | BOOLEAN | false | Use ComfyUI's tiled VAE node. Disabled uses normal ComfyUI VAE behavior, including its automatic tiled retry after out-of-memory. |
| samples | LATENT | Latent samples to decode into an image. | |
| vae | VAE | VAE used for the selected encode or decode operation. | |
| tile_size | INT | 51264–4096 | Tile size in pixels. Larger tiles are faster but use more memory. |
| overlap | INT | 640–4096 | Overlap between tiles in pixels. Larger overlaps reduce seams but do more work. |
| temporal_size | INT | 648–4096 | For video VAEs, number of frames to decode at once. |
| temporal_overlap | INT | 84–4096 | For video VAEs, number of overlapping frames between temporal tiles. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | Image produced by ComfyUI's selected VAE decode node. |