Nodes/ComfyUI_agilly1989_motorway/VAEDecodeTiled_motorway_edition
ComfyUI Node

VAEDecodeTiled_motorway_edition

Decode the big stuff a tile at a time, on the Motorway

By agilly1989·Created 2 years ago·Updated about a year ago· 7
VAEDecodeTiled_motorway_edition
  • MOTORWAY 🚌💨
  • MOTORWAY 🚌💨
INPUT_samples_keysamples
INPUT_vae_keyvae
tile_size512
overlap64
temporal_size64
temporal_overlap8
OUTPUT_IMAGE_keyIMAGE

A single decode of a 4K latent can eat more VRAM than the sampling that produced it. VAEDecodeTiled exists for exactly that moment: it chops the decode into tiles, runs them one at a time, and stitches the result - turning an OOM into a slow-but-successful run. This _motorway_edition clone brings the same tiled decode to the agilly1989 Motorway pipe, reading the latent and VAE from the shared dict by key instead of from wires.

Motorway primer, short version: start with MotorwayStart, then each _motorway_edition node trades data wires for key strings, reading and writing a shared dict that flows down one MOTORWAY connection. These are auto-generated clones of core ComfyUI nodes, so the tiling math is identical to stock VAEDecodeTiled.

What it does. Same job as a normal decode - latent to pixels - but the node processes the image in overlapping tiles. tile_size (default 512) is the tile edge in pixels, overlap (default 64) is how much tiles overlap so seams don't show. The temporal_size (64) and temporal_overlap (8) fields only matter for video VAEs - they control how many frames get decoded at once and how much they overlap, which is how you decode long video latents without blowing up memory. The stock tooltips say exactly that: temporal fields are "only used for video VAEs."

The inputs that matter. MOTORWAY is required. INPUT_samples_key (default samples) and INPUT_vae_key (default vae) are where the latent and VAE live in the dict - and the recurring Motorway trap applies: a VAE loaded via VAELoader_motorway_edition is stored under VAE uppercase, so retype INPUT_vae_key to match or you'll get 'MotorwayClass' object has no attribute 'hash_'. OUTPUT_IMAGE_key (default IMAGE) is where the decoded image is stored. Output: the MOTORWAY port only.

Common issues. The main one is expecting magic: tiling lowers peak VRAM but adds time and can leave faint seams if overlap is too small relative to tile_size (the node will nudge overlap up automatically if you undercut it, but don't rely on it). On small tiles, decoding is also slightly slower than one big pass. Beyond that, the standard Motorway key/case traps and the standing caveat: the pack's current main branch has the clone registration commented out in __init__.py, so if the node's missing from your menu, that's the version, not a broken install.

Install via ComfyUI Manager (search "ComfyUI_agilly1989_motorway") or clone into custom_nodes, restart, no models to fetch. Solo-dev beta pack - the README's own standard is "it works on my system," which is fine for a VRAM-saving convenience wrapper like this one.

Categoryagilly1989 Nodes/Motorway-ed/_for_testing

Inputs (8)

NameTypeDefaultDescription
MOTORWAY 🚌💨MOTORWAY 🚌💨
INPUT_samples_keySTRINGsamples
INPUT_vae_keySTRINGvae
tile_sizeINT51264–4096
overlapINT640–4096
temporal_sizeINT648–4096Only used for video VAEs: Amount of frames to decode at a time.
temporal_overlapINT84–4096Only used for video VAEs: Amount of frames to overlap.
OUTPUT_IMAGE_keySTRINGIMAGE

Outputs (1)

NameTypeDescription
MOTORWAY 🚌💨MOTORWAY 🚌💨