Adjust Weight [Indiv-AttnβMult] ππ π
Scaling AnimateDiff's Q/K/V attention weights independently
- prev_weight_adjust
- WEIGHT_ADJUST
The multiplicative sibling of ADE_AdjustWeightIndivAttnAdd. Same idea - split attention apart into query, key, value, and output weight/bias, plus positional encoding and "other" - but instead of adding a flat offset to each, this scales them. Multiplicative adjustments preserve the relative structure of a weight category better than additive ones do, which matters a lot once you're operating this deep inside the motion module.
Where it fits in the family
AnimateDiff-Evolved's Weight Adjust nodes give you increasingly fine control over the motion module's actual weights, not just its runtime output strength. ADE_AdjustWeightAllMult scales everything uniformly. ADE_AdjustWeightIndivMult splits that into PE/attention/other. This node goes one level deeper, breaking "attention" apart into its five sub-components - query, key, value, output projection weight, output projection bias - each independently scalable. It's the finest-grained multiplicative control the pack offers, and correspondingly the least likely node in this whole pack you'll need on a normal day. If you've landed here, it's probably either genuine research/tinkering, or you're trying to reproduce settings from a workflow someone else built and shared.
Inputs and output
Eight float fields:
pe_MULT(default 1) - multiplier for positional-encoding weights.attn_MULT(default 1) - a blanket multiplier for attention as a whole.attn_q_MULT,attn_k_MULT,attn_v_MULT(default 1 each) - multipliers for the query, key, and value projections.attn_out_weight_MULT,attn_out_bias_MULT(default 1 each) - multipliers for the output projection's weight and bias.other_MULT(default 1) - multiplier for everything outside PE and attention.
All range 0β2, all default to 1 (no-op). print_adjustment (bool, off by default) logs the computed values - worth enabling given how many fields are in play. prev_weight_adjust (optional, WEIGHT_ADJUST) chains onto a prior adjustment. Output is WEIGHT_ADJUST, which does nothing until wired into whichever node in your graph collects per-model AnimateDiff settings.
Installing the pack
ComfyUI Manager: search AnimateDiff Evolved, confirm Kosinkadink as author, install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/Kosinkadink/ComfyUI-AnimateDiff-Evolved
restart. No model file for this node - it's settings only - but you need a motion module (mm_sd_v15_v2, v3_sd15_mm, etc.) downloaded into ComfyUI/models/animatediff_models for it to have anything to attach to.
Common issues
Zero out a Q/K/V multiplier and things break badly, not subtly. Setting a projection's multiplier to 0 doesn't gently reduce its contribution - it removes that projection's information from the attention computation entirely, which tends to produce obviously broken output rather than a graceful fade. Stay closer to 1 than the 0β2 range suggests, especially at first.
Eight sliders and no baseline to start from. There's no published "good" configuration - this is fine-grained enough that any starting point is empirical. If you haven't already exhausted the coarser options, start there: ADE_AdjustWeightAllMult for a global scale, then ADE_AdjustWeightIndivMult for PE/attention/other, and only drop to per-projection control once you've confirmed attention specifically (not PE, not "other") is where you need to intervene.
No visible change after adjusting. Same gotcha as every node in this family - confirm the WEIGHT_ADJUST output is actually wired into your motion model's settings node before assuming the values don't do anything.
KB gap: we don't have documented cases of what problem scaling an individual attention projection actually solves in practice - that granularity of guidance isn't in our sources and would be worth capturing from the pack's own documentation or real user reports next time.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| pe_MULT | FLOAT | 1.00000β2 | β |
| attn_MULT | FLOAT | 1.00000β2 | β |
| attn_q_MULT | FLOAT | 1.00000β2 | β |
| attn_k_MULT | FLOAT | 1.00000β2 | β |
| attn_v_MULT | FLOAT | 1.00000β2 | β |
| attn_out_weight_MULT | FLOAT | 1.00000β2 | β |
| attn_out_bias_MULT | FLOAT | 1.00000β2 | β |
| other_MULT | FLOAT | 1.00000β2 | β |
| print_adjustment | BOOLEAN | false | β |
| prev_weight_adjustopt | WEIGHT_ADJUST | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| WEIGHT_ADJUST | WEIGHT_ADJUST | β |