Ard 4Vae Decode
Decode up to four latents with one VAE and one node
- samples_1
- vae
- samples_2
- samples_3
- samples_4
- image_1
- image_2
- image_3
- image_4
The VAE is what turns a latent back into pixels you can actually look at, and in the four-tile workflow you finish with four latents that all need decoding. Ard 4Vae Decode does that in a single node: feed it one VAE and up to four latents, and it returns four images. It's four VAE decodes wearing a trench coat, which is either exactly what you want or a waste of a node slot, depending on how much you value a tidy graph.
The inputs: samples_1 is required, samples_2 through samples_4 are optional - so it also works fine for one, two, or three latents, and unused outputs come back as None. vae is the VAE to decode with, and tile_size (default 512, step 64) is the interesting one.
That tile_size is why this node is worth more than its trivial wrapper suggests: it uses vae.decode_tiled, decoding the latent in tiles rather than all at once. Latent space is 8× smaller per side than pixels, so a 512 tile size means a 64×64 latent tile per decode pass. For a big image on a modest GPU, tiled decode is the difference between "it works" and an out-of-memory crash - the KB's troubleshooting material on VRAM covers exactly this pattern. Set tile_size roughly in line with what a single decode pass can fit; smaller tiles = less VRAM, and 512 is a safe starting point.
Outputs are image_1 through image_4, matching the input order. From there they typically feed Ard 4Img Combine for the final stitch, or go straight to a Save/Preview.
Gotchas worth knowing:
- The four latents don't need to be the same size - each is decoded independently with the same tile setting.
- If you only connect
samples_1, the other three image outputs areNone; wire downstream nodes accordingly or you'll get connection errors on the unused ports. - This is decode-only. If you need to encode pixels back into latents, that's a different node.
Honest verdict: the built-in VAE Decode (Tiled) does everything this node does for a single latent, and four of them would do what this does in one shot - just with four nodes cluttering your canvas. If you've already bought into the pack's four-tile pipeline, this node slots in cleanly and gives you tiled decode as a bonus. If you decode one latent at a time, there's no reason to switch.
Install is the standard pack route - ComfyUI Manager → search ComfyUI-Ardenius, or:
cd ComfyUI/custom_nodes
git clone https://github.com/ArdeniusAI/ComfyUI-Ardenius
then restart ComfyUI. Pack-wide notes: civitai and moviepy come along in requirements, and a stray import error at startup is the Save Image node wanting comfyui_controlnet_aux - the rest of the pack still loads.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| samples_1 | LATENT | — | |
| vae | VAE | — | |
| tile_size | INT | 512320–4096 | — |
| samples_2opt | LATENT | — | |
| samples_3opt | LATENT | — | |
| samples_4opt | LATENT | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| image_1 | IMAGE | — |
| image_2 | IMAGE | — |
| image_3 | IMAGE | — |
| image_4 | IMAGE | — |