Nodes/AnimateDiff Evolved/AnimateDiff Loader πŸŽ­πŸ…πŸ…“β‘ 
ComfyUI Node Runs on cloud

AnimateDiff Loader πŸŽ­πŸ…πŸ…“β‘ 

The current recommended one-node AnimateDiff setup

By KosinkadinkΒ·Created 3 years agoΒ·Updated 23 days agoΒ· 3,523
AnimateDiff Loader πŸŽ­πŸ…πŸ…“β‘ 
  • model
  • context_options
  • motion_lora
  • ad_settings
  • ad_keyframes
  • sample_settings
  • scale_multival
  • effect_multival
  • per_block
  • MODEL
β—„model_nameβ–Ύβ–Ί
β—„beta_scheduleautoselectβ–Ί

Displayed simply as AnimateDiff Loader, this is the node to reach for if you want AnimateDiff working in one drop with the least amount of graph-wiring. It's a sibling of ADE_AnimateDiffLoaderWithContext (the one tagged [Legacy]) but a step ahead - same one-box load-and-apply shape, plus scale_multival, effect_multival, and per_block controls the legacy node never got. If you're building a new AnimateDiff workflow from scratch and don't need the modular flexibility of the Gen2 split (ADE_LoadAnimateDiffModel β†’ ADE_ApplyAnimateDiffModel β†’ ADE_UseEvolvedSampling), start here.

How it works

Same core mechanism as everything else in this pack: it injects a temporal motion module - attention layers trained once on WebVid-10M - into your frozen SD 1.5 UNet, giving it frame-to-frame coherence without retraining anything. Because the spatial weights never change, every checkpoint, LoRA, and embedding you already have keeps working. This node does the loading and the applying in one step, which is the "Gen1" philosophy: fewer nodes, less flexibility, faster to wire.

The inputs and outputs that matter

Required: model (your checkpoint), model_name (dropdown of motion modules on disk), and beta_schedule (defaults to autoselect, correct for almost everyone - the exceptions are HotshotXL and AnimateDiff-SDXL modules, which the README says need their own dedicated schedules).

Optional, and this is where Gen1 gets real teeth: context_options for sliding-window generation past the native 16-frame limit, motion_lora for camera-movement LoRAs, ad_settings and sample_settings for advanced tweak bundles, and - the two this node has that the legacy loader lacks - scale_multival and effect_multival, which control motion strength and how strongly the module overrides the base model respectively, either as a flat number or a schedulable/maskable input. There's also per_block for block-level customization and ad_keyframes for scheduling scale/effect over the course of the animation. Output is a single MODEL, wired straight to your KSampler.

How to install it

ComfyUI Manager: search AnimateDiff Evolved, confirm author Kosinkadink, install, restart. Manual install:

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

Then get at least one motion module - the pack ships zero models. mm_sd_v15_v2 or v3_sd15_mm are the safe defaults (links to HuggingFace, Google Drive, and CivitAI are in the README). Drop the file in ComfyUI/models/animatediff_models or ComfyUI/custom_nodes/ComfyUI-AnimateDiff-Evolved/models - either populates the model_name dropdown. Nothing else to install; it's pure Python, no separate binary dependency.

Common issues & troubleshooting

Garbled, flickery, or morphing output. The most common root cause in community reports is a beta_schedule mismatch - leaving autoselect on with a HotshotXL/SDXL module, or (separately) using an SD 1.5-trained VAE against an SDXL checkpoint. Match schedule to module family and double-check your VAE is architecture-correct before you start blaming the motion module.

Visible seams every 16 frames on long clips. That's the sliding-context boundary. Wire a Context Options node into context_options with generous overlap, or lower your sampler's denoise a little - both reduce the visible morph at window edges.

Checkpoint "doesn't play well with AnimateDiff." Not every SD 1.5 finetune reacts the same way to motion injection; some produce weird artifacts regardless of settings. If you've ruled out beta_schedule and VAE and it still looks wrong, try a different checkpoint before assuming your workflow is broken - this is a known, reported behavior, not just you.

Old baked-in watermark on mm_sd_v15 output. Training data (WebVid-10M) had Shutterstock watermarks; mm_sd_v15's finer motion tuning makes it more visible than mm_sd_v14. Switch modules if it's bothering your output.

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

Inputs (11)

NameTypeDefaultDescription
modelMODELβ€”
model_nameCOMBO0 options:
beta_scheduleCOMBOautoselect13 options: autoselect, use existing, sqrt_linear (AnimateDiff), linear (AnimateDiff-SDXL), linear (HotshotXL/default), avg(sqrt_linear,linear), +7
context_optionsoptCONTEXT_OPTIONSβ€”
motion_loraoptMOTION_LORAβ€”
ad_settingsoptAD_SETTINGSβ€”
ad_keyframesoptAD_KEYFRAMESβ€”
sample_settingsoptSAMPLE_SETTINGSβ€”
scale_multivaloptMULTIVALβ€”
effect_multivaloptMULTIVALβ€”
per_blockoptPER_BLOCKβ€”

Outputs (1)

NameTypeDescription
MODELMODELβ€”