Nodes/SimpleSyrup/VAE Decode (Options)
ComfyUI Node

VAE Decode (Options)

A decode node that owns its tiling

By Artificial-Sweetener·Created 3 months ago·Updated 12 days ago· 2
VAE Decode (Options)
  • samples
  • vae
  • image
use_tilingfalse
tile_size512
overlap64
temporal_size64
temporal_overlap8

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.
  • samples and vae - 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) and temporal_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.

CategorySimpleSyrup/Latent

Inputs (7)

NameTypeDefaultDescription
use_tilingBOOLEANfalseUse ComfyUI's tiled VAE node. Disabled uses normal ComfyUI VAE behavior, including its automatic tiled retry after out-of-memory.
samplesLATENTLatent samples to decode into an image.
vaeVAEVAE used for the selected encode or decode operation.
tile_sizeINT51264–4096Tile size in pixels. Larger tiles are faster but use more memory.
overlapINT640–4096Overlap between tiles in pixels. Larger overlaps reduce seams but do more work.
temporal_sizeINT648–4096For video VAEs, number of frames to decode at once.
temporal_overlapINT84–4096For video VAEs, number of overlapping frames between temporal tiles.

Outputs (1)

NameTypeDescription
imageIMAGEImage produced by ComfyUI's selected VAE decode node.