Nodes/ComfyUI-YogurtKiwiEdit/Kiwi Edit VAE Decode (Yogurt Kiwi Edit)
ComfyUI Node

Kiwi Edit VAE Decode (Yogurt Kiwi Edit)

The last stage of a Kiwi-Edit run

By yogurt7771·Created 6 months ago·Updated 6 months ago· 1
Kiwi Edit VAE Decode (Yogurt Kiwi Edit)
  • pipeline
  • latents
  • video
tiledtrue

Every diffusion workflow ends the same way: latents back into pixels. This node is that last mile for Kiwi-Edit - it takes the latents from Generate Latents and returns a real VIDEO you can preview, save, or hand to the rest of your graph. It's the simplest node in the pack, and honestly the one you'll think about the least. That's the point.

It's also stage four of the pack's split design, and the bookend to VAE Encode Inputs. While it runs, only the Wan VAE sits on the GPU; the transformer and the MLLM encoder stay parked in RAM from the stages before. The decode uses the VAE's tiled path by default (enable_tiling()), which keeps peak memory down on the widest part of the decode.

The inputs

  • pipeline - the loader handle, which the node checks against the latents' own model path.
  • latents - the output of Kiwi Edit Generate Latents.
  • tiled (on by default) - controls whether the VAE decodes tiled or not. Keep it on unless you're chasing a tiny speed bump on a card with headroom; the VRAM savings are worth more than the few percent of speed.

The single output is video, a native ComfyUI VIDEO. You can wire it into SaveVideo, preview nodes, or any VIDEO-consuming node further down the graph. It carries the original clip's fps and audio through - the conditioning bundle recorded them way back in VAE Encode Inputs and they've been riding along ever since.

What happens under the hood

The node moves the VAE onto the accelerator, decodes the latent tensor with pipe.vae.decode(), converts the result through the pipeline's own output helper, and normalizes it into a [frames, height, width, 3] tensor. Then it reassembles a VIDEO with the stored audio, fps, and metadata. The author's caveat: metadata gets passed through, but whether it survives the full round-trip depends on the current ComfyUI VIDEO implementation. If you see the right frames but metadata behaving oddly, that's an upstream question, not this node.

Installing it

Same routine as every node in this pack: ComfyUI Manager (search "ComfyUI-YogurtKiwiEdit") or git clone https://github.com/yogurt7771/ComfyUI-YogurtKiwiEdit into custom_nodes, pip install -r requirements.txt, restart. It needs the loader and a Kiwi-Edit model folder under models/KiwiEdit - on its own it has nothing to decode.

Where people get stuck

Not much to trip over here - the decode either works or it doesn't, and failures usually trace back upstream (a conditioning/latents/pipeline mismatch throws a clear error naming the model paths, which is the pack's nicest diagnostic). The realistic complaints are the ones that aren't this node's fault: audio or fps that don't match the source because of the ComfyUI VIDEO layer, and the plain fact that a 5B model's decode of an edited clip takes real seconds. If your output looks rough, it's the model's reputation showing - the community verdict on Kiwi-Edit's actual results is still mixed - not a sign your decode node is broken.

CategoryYogurtKiwiEdit/Video

Inputs (3)

NameTypeDefaultDescription
pipelineKIWI_EDIT_PIPELINE
latentsKIWI_EDIT_LATENTS
tiledBOOLEANtrueEnable diffusers VAE tiled decode for the final latent decode step.

Outputs (1)

NameTypeDescription
videoVIDEO