Load Motionctrl-SVD Checkpoint
The 9.6GB loader that does all the heavy lifting
- model
Sample Simple gets all the glory, but this is the node that actually makes the machine groan. It loads motionctrl_svd.ckpt - a ~9.6GB checkpoint - and instantiates the full MotionCtrl-on-SVD model into memory. When you hit Queue, the slowdown you feel before any video appears is this node, and it's doing it on purpose: the model gets built here, once, then handed to the sampler.
The checkpoint is TencentARC's MotionCtrl adapter trained on top of Stable Video Diffusion - Stability's image-to-video model - so it can take SVD's UNet and additionally steer it with camera poses. What comes out is a MOTIONCTRLSVD object, a type that only this pack's Motionctrl-SVD Sample Simple node understands. There's nothing else in ComfyUI that accepts it, so the wiring is forced: this node → Sample Simple.
What you actually set
Three inputs, two of them worth caring about:
- ckpt_name - a dropdown over everything in your
ComfyUI/models/checkpointsfolder, defaulting tomotionctrl_svd.ckpt. Drop the file there and it'll show up. - frame_length - default 14. This sets the model's native frame count. It must match the
frame_lengthon the Sample node; mismatch is a classic silent-fail source. - steps - default 25. Denoising steps. More is cleaner and slower, fewer is faster and mushier. This is your quality dial.
The auto-download quirk (read this before you're confused)
If the checkpoint isn't in your checkpoints folder, this node doesn't just error out - it shells out to wget, pulls the file from HuggingFace, and moves the (oddly named) download into place. Nice in theory. In practice you want the file beforehand anyway, so you control the 9.6GB and know it actually finished:
cd ComfyUI/models/checkpoints
wget https://huggingface.co/TencentARC/MotionCtrl/resolve/main/motionctrl_svd.ckpt?download=true -O motionctrl_svd.ckpt
Yes, that's a big download, and it stays big - this predates GGUF quantization in this pack, so there's no small variant to reach for.
The real gotcha is the dependencies
Install the pack via ComfyUI Manager (search ComfyUI-MotionCtrl-SVD) or clone into custom_nodes, then the pain begins: pip install -r requirements.txt pins a stack that fights a modern ComfyUI - Pytorch-Lightning==1.9.0, opencv-python==4.8.0.74, imageio==2.14.1, plus moviepy, wandb, and a build of OpenAI's CLIP from source. The original demo was a Gradio app, and the requirements were shipped as-is. People posted "could not get it to install" and "error installing the requirements.txt" almost immediately after release, and it's usually one of these pins clobbering something ComfyUI needs. If a fresh ComfyUI breaks after install, the usual move is a separate Python environment or a venv for this pack's deps, and un-pinning the ones that conflict.
A lighter caveat: changing steps or frame_length re-instantiates the whole model through the loader, so treat parameter fiddling as "rebuild model" time - it's a minute of loading, not a tweak on the fly.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| ckpt_name | COMBO | motionctrl_svd.ckpt | 0 options: |
| frame_length | INT | 14 | — |
| steps | INT | 25 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| model | MOTIONCTRLSVD | — |