Nodes/AnimateDiff Evolved/Load AnimateDiff+CameraCtrl Model πŸŽ­πŸ…πŸ…“β‘‘
ComfyUI Node Runs on cloud

Load AnimateDiff+CameraCtrl Model πŸŽ­πŸ…πŸ…“β‘‘

Loading the motion module and camera weights together

By KosinkadinkΒ·Created 3 years agoΒ·Updated 8 days agoΒ· 3,519
Load AnimateDiff+CameraCtrl Model πŸŽ­πŸ…πŸ…“β‘‘
  • ad_settings
  • MOTION_MODEL
β—„model_nameβ–Ύβ–Ί
β—„camera_ctrlβ–Ύβ–Ί

CameraCtrl gives AnimateDiff an actual, directable camera move - pan, tilt, zoom, roll - instead of the loose, undirected drift you get from a plain motion module. Getting there normally means loading a motion module and separately combining it with the CameraCtrl weights. This node does both steps in one call: pick your motion model and your CameraCtrl checkpoint, and get back a single motion model that's already CameraCtrl-ready.

That result then feeds into Apply AnimateDiff+CameraCtrl Model (covered elsewhere in this pack's node list) along with an actual camera trajectory - poses you've either loaded from a file or built procedurally - to produce something you can sample. This node is purely the loading step; it doesn't take poses itself.

Know the setup cost going in

Per the README, CameraCtrl requires a specific pruned checkpoint, CameraCtrl_pruned.safetensors, from Kosinkadink's own HuggingFace repo - not a general CameraCtrl file you might find elsewhere. It also needs an AnimateDiff SD1.5 v3 motion module specifically (v3_sd15_mm); the README is explicit that CameraCtrl "was specifically trained for" that version, and it's Gen2-only - the simpler Gen1 all-in-one loaders can't do CameraCtrl at all. A community thread digging into CameraCtrl pose files confirms this is genuinely thin, hand-rolled territory: people are writing their own scripts to convert Blender camera paths into the pose-file format because there's essentially no official documentation of what the format actually contains.

The inputs and outputs that matter

Required: model_name, a dropdown of your available AnimateDiff motion modules - make sure you pick the v3 SD1.5 one, since anything else silently won't behave like CameraCtrl expects - and camera_ctrl, a dropdown for the CameraCtrl checkpoint file itself.

Optional: ad_settings (AD_SETTINGS), the same advanced motion-model settings bundle available on other Gen2 loaders, if you're already tuning those elsewhere.

Output is a single MOTION_MODEL_ADE - the combined motion+camera model, ready for the Apply node and a set of camera poses.

How to install it

ComfyUI Manager: search AnimateDiff Evolved, confirm the author is Kosinkadink, install, restart. Manually:

cd ComfyUI/custom_nodes
git clone https://github.com/Kosinkadink/ComfyUI-AnimateDiff-Evolved

then restart. Beyond the pack itself: v3_sd15_mm (or another SD1.5 v3 module) in ComfyUI/models/animatediff_models, plus CameraCtrl_pruned.safetensors from the HuggingFace link above.

Common issues & troubleshooting

Loaded successfully but the camera doesn't move, or moves wrong. Check the fundamentals first, in order: is your model_name actually the v3 SD1.5 module rather than v1/v2, is camera_ctrl the pruned checkpoint the README links rather than a different CameraCtrl file, and are you feeding the output into a full Gen2 graph with a real set of poses downstream. Mismatches here tend to fail quietly rather than throw a visible error.

Unsure where to get camera poses in the first place. This node only handles the model side - you'll need a separate pose-loading or pose-building node feeding Apply AnimateDiff+CameraCtrl Model. The pose-file format itself is barely documented officially; expect to lean on trial, error, and whatever community scripts exist for converting a real camera path into it.

Wondering if this is worth the setup. Fair question. CameraCtrl is real and working, but it's one of the least-discussed features in an already niche pack, restricted to a single SD1.5 motion-module version. If you're not already committed to an SD1.5 AnimateDiff pipeline for other reasons, a modern video model's built-in camera control will likely get you a comparable result with less specialized setup.

CategoryAnimate Diff πŸŽ­πŸ…πŸ…“/β‘‘ Gen2 nodes β‘‘/CameraCtrl

Inputs (3)

NameTypeDefaultDescription
model_nameCOMBO0 options:
camera_ctrlCOMBO0 options:
ad_settingsoptAD_SETTINGSβ€”

Outputs (1)

NameTypeDescription
MOTION_MODELMOTION_MODEL_ADEβ€”