XB-BOX - VAE分块解码(原版优化)
The decoder you actually want on a 16GB card
- samples
- vae
- IMAGE
Here's the thing nobody tells you when you start running video models on a consumer GPU: the sampler can behave, and the decoder is what takes you down. XB_VAEDecodeTiled is the pack's honest version of ComfyUI's VAEDecodeTiled - a wrapper that chops the decode into spatial and temporal chunks so the full latent never has to exist in VRAM at once, with the standard cleanup dropdown on top.
This is the node to reach for when the plain XB_VAEDecode (or the stock VAEDecode) dies on a big latent. It's the same family as the ROCm-prefixed temporal decoder but with modern parameter names, and it's the one you'll probably want in a fresh workflow.
The knobs that matter
- samples / vae - your latent and your VAE, same as any decode.
- tile_size - spatial chunk size, default 512. Smaller = less VRAM, more tiles, marginally more stitching. This is your first lever.
- overlap - pixels of overlap between spatial tiles to prevent seams, default 64.
- temporal_size - frames decoded per pass, default 64. Only used for video VAEs - for a still image it's inert. Lower it when a long clip OOMs on the temporal axis.
- temporal_overlap - frames of overlap between temporal chunks, default 8. Raise it if you see flicker at chunk boundaries.
- cleanup - the pack's four-level memory ladder.
Output is one IMAGE batch - all frames, stitched - ready for preview or video combine.
Setting it up: a sane starting point
For a beginner, don't overthink. Defaults are 512/64/64/8, which is a reasonable all-rounder. If a decode OOMs, halve tile_size first (and temporal_size for video); if you start seeing tile-boundary artifacts, raise overlap/temporal_overlap before you touch tile size back up. The reddit consensus on small cards is basically "tiled decode is the answer," and the exact numbers are a dial you tune per-model - Wan tolerates aggressive tiling, some VAEs seam more easily, and your VRAM is the constraint that wins.
The honest framing
This node is a faithful wrapper - ComfyUI's own VAEDecodeTiled does the identical work. What you're paying for (in the zero-cost sense) is having it in the pack with the cleanup option and the pack's naming scheme, so old and new XB_ToolBox workflows stay consistent. If you prefer vanilla, use the stock node; if you're already in this pack's ecosystem, this one fits.
Install: ComfyUI Manager → search XB_ToolBox, or
cd ComfyUI/custom_nodes
git clone https://github.com/wjluoxiao/XB_ToolBox.git
restart, find it under "XB_ToolBox/原版优化". No extra pip dependencies for this node.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| samples | LATENT | — | |
| vae | VAE | — | |
| tile_size | INT | 51264–4096 | — |
| overlap | INT | 640–4096 | — |
| temporal_size | INT | 648–4096 | Only used for video VAEs: Amount of frames to decode at a time. |
| temporal_overlap | INT | 84–4096 | Only used for video VAEs: Amount of frames to overlap. |
| cleanup | COMBO | 不做任何清理 | 4 options: 不做任何清理, 单次缓存清理, 卸载显存模型, 卸载全量模型 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |