Nodes/ComfyUI-AdvancedTiling/Advanced Tiling VAE Decode
ComfyUI Node

Advanced Tiling VAE Decode

Swap this in for VAE Decode and the tile survives the trip to pixels

By JosefKuchar·Created 2 years ago·Updated 4 months ago· 18
Advanced Tiling VAE Decode
  • settings
  • samples
  • vae
  • IMAGE
croptrue

The model patch in this pack makes your sampler sample seamlessly - but the latent it produces has been wrapped into an odd shape, and a stock VAE Decode node has no idea what to do with it. Advanced Tiling VAE Decode is the node that sits at the end of the pipeline and turns that wrapped latent into a usable image. It's the decode-side twin of Advanced Tiling, and every tiled workflow needs both.

How it works

The node takes your VAE, deep-copies it (copy.deepcopy - so your loaded VAE is never mutated), and applies the same Conv2d tiling patch the model node uses, then decodes your latent with the patched copy. That matters most for hexagon mode, where the content is arranged so the usable tile is in the middle and the corners are wrapped waste. Decode with the patch active, and what comes out is consistent with how the model sampled - the seams line up at the pixel level instead of fighting each other.

The code also tolerates 5D latents (the (B, T, H, W, C) shape some video-family VAEs like WanVAE produce) by squeezing them down to 4D before decoding. This is still an image tiling pack, but it won't choke if you feed it a latent from one of those VAEs.

Inputs and outputs

All four inputs are required:

  • settings - the ADVANCED_TILING_SETTINGS object from Advanced Tiling Settings. Same object as the Advanced Tiling node gets; keep them in sync.
  • samples - the LATENT straight out of your KSampler.
  • vae - the VAE for whatever model you're tiling. For Qwen Image that's qwen_image_vae.safetensors, for FLUX.2 it's flux2-vae.safetensors, and for SD/SDXL the VAE from your checkpoint works. Mismatched VAE, same problems as anywhere else in ComfyUI.
  • crop - a boolean, default true. What it actually does is a bit subtle: it tacks an extra mask channel onto the output image marking the region that maps to itself - i.e. the valid tileable area, the inside of the hexagon. It doesn't physically crop the image for you; it hands you the mask so a downstream node can. The pack's example workflows ship with it off, and off gives you a clean 3-channel image that PreviewImage and SaveImage are happy with. Leave it off unless you specifically want the mask channel.

Output is a single IMAGE, wired into PreviewImage or SaveImage.

How to install

Same pack as the rest, and again there are no extra Python dependencies - the decode node is pure torch. ComfyUI Manager: search "Advanced Tiling". Or:

cd ComfyUI/custom_nodes
git clone https://github.com/JosefKuchar/ComfyUI-AdvancedTiling

Restart ComfyUI. The only "model files" involved are the VAE you were already going to load for your checkpoint.

Common issues

  • The decode is slow. Really slow on the first pass. This is the known cost - the README lists "optimize VAE decode (first pass is very slow)" as an open TODO. It's the node, not your machine. If you're iterating on a prompt, generate a few and decode once.
  • Output has a weird extra channel or looks tinted - you've left crop on and you're feeding the 4-channel output into something expecting RGB. Turn crop off, or consume the mask channel deliberately.
  • Image looks nothing like the tile you wanted. Check that settings here matches the Settings node feeding Advanced Tiling. Drift between the two means the model sampled one wrap and the decoder rendered another.
  • "Advanced Tiling VAE Decode" doesn't exist in your node list. The pack didn't install or ComfyUI wasn't restarted - go back to the install step.

Wire it in place of your normal VAE Decode, keep the settings shared with the model patch, and the seamlessness survives the trip from latent to pixels.

Categorylatent

Inputs (4)

NameTypeDefaultDescription
settingsADVANCED_TILING_SETTINGS
samplesLATENT
vaeVAE
cropBOOLEANtrue

Outputs (1)

NameTypeDescription
IMAGEIMAGE