LightVAE: Faster Video VAE Decoding for Wan and H3

ComfyUI Wikinews

ModelTC releases LightVAE, compressed Wan2.1, Wan2.2 and MiniMax-H3 video VAE decoders that keep the original latent interface, up to 2.94x faster in ComfyUI.

<strong>LightVAE</strong> from the LightX2V team compresses pretrained video VAE decoders with temporal low-rank convolutions and block pruning while keeping the original latent interface, so the original encoder still works. It covers Wan2.1, Wan2.2 and MiniMax-H3, ships as six checkpoints on Hugging Face, and comes with a ComfyUI node, three H3 generation workflows and measured decode benchmarks.
Architecture comparison of Wan2.1 VAE, Turbo-VAED, Flash-VAED and LightVAE

From the project repository: the Wan2.1 VAE next to Turbo-VAED, Flash-VAED and LightVAE.

What LightVAE does

Video VAE decoding is a large part of the cost of a video generation run: a latent clip has to be turned back into hundreds of frames every time. LightVAE keeps the decoder's job identical and shrinks the network that does it:

  • LightVAE-Pro uses temporal low-rank convolutions at the original decoder depth, so reconstruction fidelity stays close to the original.
  • LightVAE-Lite adds block pruning on top, trading a little fidelity for more speed.
  • Original latent interface. Wan models keep their own uncompressed encoder, so an existing workflow only swaps the decode side. MiniMax-H3 gets both a pruned decoder and a separate Lite encoder.
Table 1: decoder throughput and reconstruction quality

Table 1 of the paper: decoder throughput against reconstruction PSNR.

Decode speed

Measured by the authors in ComfyUI on an H200 at 768 x 1344, batch size 1, with 125 frames for Wan and 124 for H3, one warmup and the median of three runs:

BackboneOriginal VAELightVAE-ProLightVAE-Lite
Wan2.16.844 s / 18.26 FPS3.754 s / 33.30 FPS (1.82x)2.330 s / 53.64 FPS (2.94x)
Wan2.26.886 s / 18.15 FPS4.420 s / 28.28 FPS (1.56x)2.999 s / 41.68 FPS (2.30x)
MiniMax-H36.303 s / 19.67 FPSnot provided3.574 s / 34.69 FPS (1.76x)

The measurement covers GPU-synchronized VAE.decode only, so it is a decode speedup rather than a full-generation speedup. LightVAE does not reduce the diffusion model's or the text encoder's memory cost.

Choosing a checkpoint

Generation modelLightVAE decoderEncoder
Wan2.1 / Wan2.2 14Blightvae-{pro,lite}-wan21-decoder-comfy.safetensorsOriginal Wan2.1 VAE
Wan2.2 5B TI2Vlightvae-{pro,lite}-wan22-decoder-comfy.safetensorsOriginal Wan2.2 VAE
MiniMax-H3lightvae-lite-h3-decoder-comfy.safetensorslightvae-lite-h3-encoder-comfy.safetensors or the original H3 video VAE

Wan2.2 14B uses the Wan2.1 VAE (16 latent channels) while the 5B model uses the Wan2.2 VAE (48 channels), so the choice is not a free pick. Wan encoders and the H3 audio VAE stay unchanged in every configuration.

Using it in ComfyUI

python comfyui/install.py --comfy-root /path/to/ComfyUI copies the adapter to ComfyUI/custom_nodes/ComfyUI-LightVAE/, and the *-comfy.safetensors weights go in ComfyUI/models/vae/LightVAE/. The ComfyUI adapter now covers MiniMax-H3 only, and the H3 weights use block pruning rather than TLR. The node is Load H3 LightVAE, and the important part is that it loads the retained blocks into ComfyUI's native H3 video VAE: the original video VAE goes into its base_vae, and the Lite components are picked here rather than in the standard Load VAE node:

  1. Keep the original Load VAE node and connect it to LightVAE's base_vae.
  2. Select the H3 Lite decoder, and leave encoder = none unless you also want Lite encoding.
  3. Connect LightVAE's VAE output to the encode and decode nodes in the workflow.

For H3 the optional Lite encoder replaces both the reference-encoding path and decoding, so a LightVAE encoder plus decoder covers the whole VAE. Setting both selections to none restores the original VAE exactly.

The repository ships three flat H3 workflows for this node, and they need nothing beyond ComfyUI core:

WorkflowTaskLightVAE components
h3_fl2v_lightvae.jsonH3 first and last frame to video, 1344x768H3 Lite decoder only, the original VAE encodes the keyframes
h3_ref_image_lightvae.jsonH3 reference image to video and audio, 1344x768H3 Lite encoder + decoder
h3_ref_video_lightvae.jsonH3 reference video plus soundtrack to video and audioH3 Lite encoder + decoder

All three are also in the workflows directory.

Hardware support

LightVAE is not limited to Hopper. On NVIDIA BF16 with Triton it uses fused kernels; without a working Triton compiler, or on other PyTorch devices, the TLR convolutions stay factored and run through a PyTorch fallback, and there is a CPU FP32 path for debugging. The H3 path uses PyTorch convolutions and attention rather than the Wan Triton kernels, and the authors note that untested GPU families are not speed-guaranteed. The node was validated against ComfyUI e8665ca at Python 3.11, with a complete H3 generation verified at 1344x768, 362 frames, 24 FPS.

Availability

Weights: lightx2v/LightVAE on Hugging Face. Code, benchmarks and workflows: ModelTC/LightVAE on GitHub.

Comments

Sign in with GitHub to join the discussion.

Loading comments…
LightVAE: Faster Video VAE Decoding for Wan and H3 | ComfyUI Wiki