Nodes/AnimateDiff Evolved/🧪Inject I2V into AnimateDiff Model 🎭🅐🅓②
ComfyUI Node Runs on cloud

🧪Inject I2V into AnimateDiff Model 🎭🅐🅓②

Experimental, and the node's own name tells you

By Kosinkadink·Created 3 years ago·Updated 7 days ago· 3,520
🧪Inject I2V into AnimateDiff Model 🎭🅐🅓②
  • motion_model
  • ad_settings
  • MOTION_MODEL
model_name

The node's own category path buries it three levels deep under 🧪experimental, and its display name opens with a test-tube emoji. Take that seriously - this isn't the standard way to get AnimateLCM-I2V working, it's a variant path for a specific case: you already have a MOTION_MODEL_ADE loaded from somewhere, and instead of loading the I2V model fresh, you want to inject the I2V weights onto the model you've already got.

For the normal, documented AnimateLCM-I2V workflow, you'd load the I2V motion module directly through ADE_LoadAnimateDiffModel and then use ADE_ApplyAnimateLCMI2VModel. This node exists for when that straightforward path doesn't fit your graph shape - say, you're chaining or reusing an already-loaded motion model object rather than starting from a file.

How it works

AnimateLCM-I2V (image-to-video, built on the AnimateLCM distillation lineage, credited in the README to Fu-Yun Wang's original diffusers work) needs specific weights that differ from a standard motion module. This node takes an existing loaded motion_model and injects the I2V-specific weights from a named model file into it, producing a new MOTION_MODEL that's now I2V-capable, rather than requiring you to load the I2V file as your starting point.

The inputs and outputs that matter

Required: model_name (dropdown - the I2V weights file to inject) and motion_model (type MOTION_MODEL_ADE, the already-loaded motion model you're injecting into). Optional: ad_settings, same bundle type as everywhere else in the pack for weight/position-encoding tweaks. Output is MOTION_MODEL (type MOTION_MODEL_ADE) - same type as ADE_LoadAnimateDiffModel's output, so it slots into the same downstream nodes: an Apply node, most usefully ADE_ApplyAnimateLCMI2VModel, which is where ref_latent and the rest of the I2V-specific controls actually live.

How to install it

Standard for the pack - ComfyUI Manager, search AnimateDiff Evolved by Kosinkadink, or:

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

You'll need the AnimateLCM-I2V model file itself - the README links it via HuggingFace (wangfuyun/AnimateLCM-I2V) - placed wherever your other motion modules live.

Common issues & troubleshooting

Should I use this or just load the I2V model directly? For a first AnimateLCM-I2V workflow, load it directly through ADE_LoadAnimateDiffModel and skip this node entirely - it's simpler and it's the path the README actually documents in detail. Come back to this one only if you have a specific reason to inject onto an already-loaded model.

Settings from the README apply here too, since they're module-level, not node-level. AnimateLCM-I2V needs the autoselect/lcm/lcm[100_ots] beta schedule family, an appropriate LCM LoRA, the lcm sampler in your KSampler, and CFG down around 1.0–2.0 with a low step count (README's own recommendation, minimum ~4 steps). None of that is configured on this node - it all still needs to be set correctly downstream or the injected model won't behave like AnimateLCM at all.

"Experimental" tag worries me. That's honest labeling from the maintainer, not a red flag hiding a known bug - it means the code path gets less testing than the mainline Load/Apply flow, not that it's broken. If you hit something odd, the safer debugging move is falling back to the direct-load path first to isolate whether the problem is this node or something else in your graph.

CategoryAnimate Diff 🎭🅐🅓/② Gen2 nodes ②/AnimateLCM-I2V/🧪experimental

Inputs (3)

NameTypeDefaultDescription
model_nameCOMBO0 options:
motion_modelMOTION_MODEL_ADE
ad_settingsoptAD_SETTINGS

Outputs (1)

NameTypeDescription
MOTION_MODELMOTION_MODEL_ADE