Nodes/DiffSynth-ComfyUI/DiffSynth: MOVA Audio Video Loader
ComfyUI Node

DiffSynth: MOVA Audio Video Loader

MOVA Audio Video Loader — the open AV model that had no ComfyUI path

By modelscope·Created about a month ago·Updated a day ago· 8
DiffSynth: MOVA Audio Video Loader
  • model_configs
  • tokenizer_config
  • vram_limit
  • pipe
◄torch_dtypebfloat16►
◄devicecuda►
◄use_uspfalse►

MOVA is an open-weights audio-video model from OpenMOSS, and if you were around for the mid-2026 "where is everything" complaints, it was one of the names in them - someone would link the weights on HuggingFace and the reply would be, essentially, "if ComfyUI isn't supported, does it count?". This loader is the answer to that thread.

It's also a model assembled from parts, and seeing which parts tells you what it is: MOVA's video and audio towers plus a bridge between them, and Wan's VAE and umt5 text encoder. That's why the pack's MOVA template has two ModelConfigs pointing at DiffSynth-Studio/Wan-Series-Converted-Safetensors.

Required inputs

  • model_configs - the merged list. The template wires openmoss/MOVA-360p for video_dit*/diffusion_pytorch_model-*.safetensors, audio_dit/diffusion_pytorch_model.safetensors and dual_tower_bridge/diffusion_pytorch_model.safetensors, then the audio VAE and tokenizer from openmoss/MOVA-720p, then Wan2.1_VAE.safetensors and models_t5_umt5-xxl-enc-bf16.safetensors from the Wan converted-safetensors repo.
  • torch_dtype - bfloat16 default.
  • device - cuda or cpu.

Note the size mix in that list: the DiTs are the 360p variant, and some surrounding components come from the 720p repo. That's not an error to fix; it's how the template ships.

Optional inputs

tokenizer_config - the tokenizer/ folder, its own ModelConfig.

use_usp (default false) - the sequence-parallel path. On a single GPU this stays off; it's for splitting a long sequence across multiple devices. If you don't know that you need it, you don't need it, and the failure mode when you switch it on without a multi-GPU setup is a load error rather than a magic speedup.

vram_limit - from the VRAM Limit node. Two DiTs plus a bridge plus Wan's encoder stack is a lot of components, and the loader benefits from knowing your actual budget.

Install

ComfyUI Manager, search DiffSynth-ComfyUI, install, restart. Or:

pip install git+https://github.com/modelscope/DiffSynth-Studio.git
cd ComfyUI/custom_nodes
git clone https://github.com/modelscope/DiffSynth-ComfyUI.git

Then open general_mova_360p_i2av from the Template tab. The Wan-side ModelConfigs are the fiddly part; copying beats deriving.

Where people get burned

Wiring only the MOVA repo. Without Wan's VAE and umt5 text encoder in the merge list, the pipeline can't complete. This is the most common failure on this graph.

Treating it as a Wan finetune. It isn't - MOVA has its own towers. The Wan borrowing is the decoder and the text encoder, which is a much narrower dependency than "it's Wan-based."

Assuming 360p in the folder name means a toy. The 360p/720p split here is about the video tower's resolution target; the audio side still runs at 48kHz.

Expecting the same ergonomics as LTX-2. MOVA is younger and less trodden. Fewer people have run it, so fewer people have already hit your problem. That's the cost of being early.

CategoryDiffSynth/loader

Inputs (6)

NameTypeDefaultDescription
torch_dtypeCOMBObfloat163 options: bfloat16, float16, float32
deviceCOMBOcuda2 options: cuda, cpu
model_configsDIFFSYNTH_MODEL_CONFIG_LIST—
tokenizer_configoptDIFFSYNTH_MODEL_CONFIG—
use_uspoptBOOLEANfalse—
vram_limitoptDIFFSYNTH_VRAM_LIMIT—

Outputs (1)

NameTypeDescription
pipeDIFFSYNTH_PIPE—