Nodes/AnimateDiff Evolved/Load AnimateDiff LoRA πŸŽ­πŸ…πŸ…“
ComfyUI Node Runs on cloud

Load AnimateDiff LoRA πŸŽ­πŸ…πŸ…“

Camera-movement LoRAs, and why they don't always do much

By KosinkadinkΒ·Created 3 years agoΒ·Updated 8 days agoΒ· 3,519
Load AnimateDiff LoRA πŸŽ­πŸ…πŸ…“
  • prev_motion_lora
  • MOTION_LORA
β—„nameβ–Ύβ–Ί
β—„strength1.000β–Ί

Displayed as Load AnimateDiff LoRA, this loads a Motion LoRA - a small (77MB, per the original release) adapter trained specifically to push the motion module toward a particular camera movement: zoom in, zoom out, pan left, pan right, tilt up, tilt down, roll clockwise, roll counterclockwise. Eight of them shipped in the original AnimateDiff release back in September 2023. You're not training these yourself; you download one and plug it in.

Don't confuse this with a regular SD LoRA. This LoRA doesn't touch your checkpoint's style or subject at all - it only modifies the motion module's behavior, nudging the whole frame in a particular direction of camera-style movement rather than changing what's being drawn.

How it works

The motion module already knows how to produce coherent frame-to-frame motion; a Motion LoRA is a small delta applied on top of that, biasing it toward one specific movement pattern rather than generic motion. You plug this node's output into a loader's or Apply node's motion_lora input, and it rides along with the base motion module during sampling.

The inputs and outputs that matter

Required: name (a dropdown of Motion LoRA files ComfyUI found on disk) and strength (default 1, range 0–10). Push it up for a more pronounced camera move, down for something subtler layered under your prompt's own implied motion.

Optional: prev_motion_lora, which lets you chain multiple Motion LoRAs together - feed the output of one ADE_AnimateDiffLoRALoader into the next node's prev_motion_lora to stack, say, a zoom and a pan. Output is MOTION_LORA, which fits into the motion_lora optional slot on the Gen1 loaders and every Gen2 Apply node.

How to install it

Same pack as everything else - ComfyUI Manager, search AnimateDiff Evolved by Kosinkadink, or:

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

Motion LoRAs are a separate download from motion modules. Get them from the same README section that lists motion modules (Google Drive/HuggingFace/CivitAI links), and drop them in ComfyUI/custom_nodes/ComfyUI-AnimateDiff-Evolved/motion_lora or ComfyUI/models/animatediff_motion_lora - either populates this node's name dropdown.

Common issues & troubleshooting

Plugged it in, strength cranked up, camera doesn't visibly move. This is the README's own documented caveat, and it's the most important thing to know before you spend time debugging: the original Motion LoRAs only really work on v2-based motion modules - mm_sd_v15_v2, mm-p_0.5.pth, mm-p_0.75.pth. If your base motion module is v1 or v3, don't expect much from these; that's expected behavior, not a broken node.

Want the same effect without the v2 limitation. The README points at the community AnimateDiff-MotionDirector project (by ExponentialML) for training new Motion LoRAs without that restriction. That's a separate training pipeline, not something this loader node does - this node only loads whatever .safetensors file you point it at.

Empty name dropdown. Wrong folder or ComfyUI hasn't rescanned since you added the file - restart the server, don't just refresh the page.

CategoryAnimate Diff πŸŽ­πŸ…πŸ…“

Inputs (3)

NameTypeDefaultDescription
nameCOMBO0 options:
strengthFLOAT1.0000–10β€”
prev_motion_loraoptMOTION_LORAβ€”

Outputs (1)

NameTypeDescription
MOTION_LORAMOTION_LORAβ€”