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, six ready 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 node is Load LightVAE (TLR), and the important part is that the packed exports replace a normal Load VAE, not the standard VAELoader path:

  1. Keep the original Load VAE node and connect it to LightVAE's base_vae.
  2. Select the Pro or Lite decoder for your backbone and leave encoder = none (Wan), or select both H3 Lite files.
  3. Connect LightVAE's VAE output to the encode and decode nodes in the workflow.

For Wan only the decode side changes, and reference conditioning keeps using the original encoder. For H3 the optional Lite encoder replaces both the reference-encoding path and decoding, and no original video VAE is needed in that setup. Setting both selections to none restores the original VAE exactly.

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

WorkflowTaskLightVAE components
wan21_t2v_lightvae.jsonWan2.1 1.3B text to video, 832x480, 81 frameswan21 Pro / Lite decoder
wan22_5b_t2v_lightvae.jsonWan2.2 5B text to video, 1280x704, 121 frameswan22 Pro / Lite decoder
wan22_5b_i2v_lightvae.jsonWan2.2 5B image to videowan22 Pro / Lite decoder
wan22_14b_i2v_lightvae.jsonWan2.2 14B image to video, two expertswan21 Pro / Lite decoder
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 six 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