AnimateDiff Settings ππ π
The bundle node for tweaking motion module internals
- pe_adjust
- weight_adjust
- AD_SETTINGS
This node doesn't do anything by itself - it's a container. Its whole job is to bundle a couple of optional fine-tune inputs into one AD_SETTINGS object you plug into a loader (model_name-style Gen1 nodes, or the Gen2 ADE_LoadAnimateDiffModel) via their ad_settings slot. If you never plug anything into this node's own inputs, it's a no-op passthrough that changes nothing about your generation.
That makes it a "you'll know when you need it" node. Most AnimateDiff workflows never touch it. It exists for the moment you've got a motion module producing decent motion but you want to nudge its internal behavior beyond what motion_scale or the effect/scale multivals give you - that's when you go looking for this.
How it works
Motion modules are trained weights, and this node exposes two categories of adjustment you can apply to them before they're loaded into the model: position-encoding adjustments (pe_adjust) and weight adjustments (weight_adjust). Neither field is a raw number you type here - they're each their own typed input fed by a separate node. For weight adjustment, that's nodes like ADE_AdjustWeightAllAdd, which lets you add a flat offset to every weight in the module. Position-encoding adjustment nodes work the same way, chaining into pe_adjust.
The inputs and outputs that matter
Both inputs are optional and both are bundle types, not primitives: pe_adjust (type PE_ADJUST) and weight_adjust (type WEIGHT_ADJUST). There's nothing required - you can drop this node with nothing plugged in and it still produces a valid, inert AD_SETTINGS output. The single output, AD_SETTINGS, only fits into the ad_settings optional slot on loader nodes.
If you're chaining multiple weight adjustments (say, stacking an ADE_AdjustWeightAllAdd with something else), that chaining happens on the adjustment nodes themselves via their own prev_weight_adjust inputs - this node just takes the final result of that chain.
How to install it
Standard for the whole pack: ComfyUI Manager, search AnimateDiff Evolved by Kosinkadink, install and restart. Or manually:
cd ComfyUI/custom_nodes && git clone https://github.com/Kosinkadink/ComfyUI-AnimateDiff-Evolved
No extra model downloads are needed for this node specifically - it only matters once you've already got a motion module loaded (see ADE_LoadAnimateDiffModel or one of the Gen1 loaders for that side of setup).
Common issues & troubleshooting
Wired it in but nothing changed. Check that you actually plugged something into pe_adjust or weight_adjust - an empty AnimateDiffSettings node with nothing feeding it does nothing, by design, so if you expected an effect and got none, the adjustment node upstream probably isn't connected or isn't producing what you think.
Not sure whether to reach for this or the scale/effect multivals on the Apply nodes. They're different layers. scale_multival and effect_multival (on ADE_ApplyAnimateDiffModel and friends) act at runtime, per-step, and can be masks or scheduled - they control how strongly the motion module influences sampling. What goes through ADE_AnimateDiffSettings modifies the module's weights themselves before anything runs. If you just want "more or less motion," start with the multivals; this node is for deeper, more surgical adjustments once you know specifically what you're trying to fix.
There isn't much community discussion of this specific node - it's deep enough in the advanced end of the pack that most workflows never surface it, and we don't have a documented failure mode beyond the two above.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| pe_adjustopt | PE_ADJUST | β | |
| weight_adjustopt | WEIGHT_ADJUST | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| AD_SETTINGS | AD_SETTINGS | β |