DownloadModelsNode
The node whose only job is downloading gigabytes, so the rest of the pack can work
- FILES
Every node pack has one of these: a node that doesn't generate anything, it just makes sure the heavy files are on disk so the other nodes don't crash on first run. DownloadModelsNode is that node for DiffSynth-ComfyUI. CogVideoNode loads its weights from hardcoded paths, and if those files aren't there, it fails immediately with a confusing error. This node exists to prevent that confusion - run it once, let it pull the weights, and the rest of the pack suddenly works.
How it works
The whole thing is one call wrapped around DiffSynth's download_models(). It takes your comma-separated list, splits it on the commas, and for each model ID looks it up in DiffSynth's preset registry - a hardcoded table mapping friendly names like CogVideoX-5B and RIFE to actual file lists. It downloads from ModelScope first, then falls back to HuggingFace for the same files, so you don't need a ModelScope account and you don't need to be in China - either mirror works.
Where do the files land? That's the part people get wrong. The download paths are relative, like models/CogVideo/CogVideoX-5b/..., and ComfyUI runs from its own root directory - so you end up with ComfyUI/models/CogVideo/ and ComfyUI/models/RIFE/flownet.pkl, not a folder inside the pack. Those are exactly the paths CogVideoNode loads. If you're the kind of person who likes to see where your disk space went, ComfyUI/models/CogVideo is where you'll be staring while it downloads.
The node returns a FILES output - the list of downloaded file paths. It's mostly there to force the download to actually run and to hand the paths to CogVideoNode's models input; wire it in and both jobs are done.
The inputs that matter
There's exactly one:
- model_id_list (
STRING, multiline) - comma-separated DiffSynth preset IDs. The default isCogVideoX-5B,RIFE, which is precisely what CogVideoNode needs (the RIFEflownet.pklis the frame-interpolation network, not a video model).
What else is in the registry? A bunch of DiffSynth's supported models: HunyuanVideo, HunyuanDiT, Kolors, FLUX.1-dev, ESRGAN_x4, stable-video-diffusion-img2vid-xt, and more. So this node is genuinely general-purpose within this pack - but for the three-node workflow you care about, the default is right and you don't need to touch it.
Size, and patience
CogVideoX-5B is a sharded download - text encoder, a two-shard transformer, VAE, plus the RIFE network. Call it a couple of dozen gigabytes in total. There's no progress bar in the node UI; the download status prints to the ComfyUI console, so if it looks frozen, check the terminal. One genuine mercy: the downloader checks whether each file already exists in its destination folder and skips it, so a dropped connection that you re-run won't re-pull everything from scratch.
Installation
Same as the rest of the pack - ComfyUI Manager, search DiffSynth-ComfyUI, or:
cd ComfyUI/custom_nodes
git clone https://github.com/AIFSH/DiffSynth-ComfyUI
then restart. The important bit is in requirements.txt, because this node is where you'll feel the pack's hardware constraint first: cupy-cuda12x is CUDA-only, so this is an NVIDIA-only pack. If you're on AMD, the download itself might run, but the generation nodes behind it will refuse.
Common issues
- It downloads forever / looks stuck. It's not stuck, it's downloading silently into
ComfyUI/models/. Check the console output and the size ofmodels/CogVideo/to confirm movement. - ModelScope unreachable. If you're behind a network that blocks ModelScope, the fallback to HuggingFace covers the same files - both registries carry
CogVideoX-5BandRIFE. Give it time to fail over rather than assuming it's dead. - Running it twice is cheap - the existing-file check makes re-runs near-instant. That's the nice thing about a node that does one job: it does it well.
It's not glamorous and it won't be in anyone's showcase workflow. But for this pack, it's the difference between "works" and "why does my CogVideoNode say the model is missing."
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| model_id_list | STRING | CogVideoX-5B,RIFE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| FILES | FILES | — |