ComfyUI-Mova node
The ComfyUI custom node is not finished and still needs real work. What it already does well:
it can run FP8 weights and has a workable low-VRAM / high-VRAM strategy (offload, streaming loads, expert swap).
Official MOVA defaults are about cfg 5 and 50 steps. On my hardware that was roughly 19 minutes for a 7 second clip.
LightX2V isn’t an official MOVA stack, it’s a Wan-style 4-step video distill. For experiments I baked it into the FP8 models anyway.
That path is much faster for me (45 seconds for 7s), but quality and audio are the weak spots.
After a lot of back-and-forth (local Qwen3.6 coding assistant + Qwen3.7-plus) and still didn’t get a solid audio path (joint speech + sync, not just video with sound).
The video below is current results with the FP8 LightX2V models, take it as 'what this node can do today, not a polished fully working node'.
If you want a headache (or a starting point), this custom node is a reasonable backbone: Comfy wiring + memory plumbing are there,
generation quality, audio, and LightX2V behavior still need love. If you fix something, please share it.
Your browser does not support the video tag.
Screenshot
360p and 720p
| Pair | Same architecture? | Same weights? |
|------|-------------------|---------------|
| 360p high vs 720p high | Yes (1095 tensors) | No |
| 360p low vs 720p low (BF16) | Yes (1095 tensors) | No |
shared across 360p and 720p
These components are byte-identical between variants:
- Video VAE
- Audio VAE
- Tokenizer (
tokenizer/) - Scheduler (
scheduler/) - Text encoder
/text_encoder/umt5_xxl_bf16_ComfyUI.safetensors(Load CLIPwantype)
Keep separate per resolution
| Component | 360p | 720p |
|-----------|------|------|
| High-noise video DiT | mova_360p_high_noise | mova_720p_high_noise |
| Low-noise video DiT | mova_360p_low_noise | mova_720p_low_noise |
| Dual-tower bridge | mova_360p_dual_tower_bridge | mova_720p_dual_tower_bridge |
| Audio DiT | mova_360p_audio_diffusion | mova-720p-audio-diffusion |