Nodes/ComfyUI-Advanced-ControlNet/SparseCtrl Weight Extras πŸ›‚πŸ…πŸ…’πŸ…
ComfyUI Node Runs on cloud

SparseCtrl Weight Extras πŸ›‚πŸ…πŸ…’πŸ…

Tune hint vs non-hint frames in ComfyUI

By KosinkadinkΒ·Created 3 years agoΒ·Updated 12 days agoΒ· 994
SparseCtrl Weight Extras πŸ›‚πŸ…πŸ…’πŸ…
  • cn_extras
  • cn_extras
β—„sparse_hint_mult1.000β–Ί
β—„sparse_nonhint_mult1.000β–Ί
β—„sparse_mask_mult1.000β–Ί

This is a fine-tuning node for SparseCtrl workflows. SparseCtrl conditions a video on a few "hint" frames - the ones you actually provided a control image for - and lets the motion module handle the rest. This node lets you separately scale how strongly the hint frames, the non-hint frames, and the mask contribute. It's a cn_extras modifier, so it doesn't do anything on its own; you attach it to a weights node in the SparseCtrl chain.

The reason it exists: with SparseCtrl you sometimes want the frames you keyframed to be gripped tightly while the interpolated frames stay loose (or vice versa), and a single global strength can't split those apart. These three multipliers can.

What the three multipliers do

  • sparse_hint_mult (default 1.0) - scales the influence on the hint frames (the ones with a control image). Raise it to make your keyframes adhere harder to their control images.
  • sparse_nonhint_mult (default 1.0) - scales the influence on the non-hint frames (the interpolated ones). Lower it to give the motion module more freedom between keyframes.
  • sparse_mask_mult (default 1.0) - scales the mask contribution.

Plus the standard cn_extras (optional) input, so you can chain this together with other extras (like Middle Weight Extras).

Inputs and outputs

Everything is optional here - there are no required inputs, so an untouched node just passes through neutral (all 1.0) extras. Set the multipliers you care about:

  • cn_extras - incoming extras to build on.
  • sparse_hint_mult / sparse_nonhint_mult / sparse_mask_mult - the three scalers above.

Output: cn_extras (CN_WEIGHTS_EXTRAS) - wire into the cn_extras input of a weights node that's feeding your SparseCtrl control path.

Installing the pack

ComfyUI Manager β†’ Install Custom Nodes β†’ "ComfyUI-Advanced-ControlNet" β†’ restart. Or cd ComfyUI/custom_nodes && git clone https://github.com/Kosinkadink/ComfyUI-Advanced-ControlNet then restart. Pure ComfyUI, Kosinkadink's pack (also the AnimateDiff-Evolved author - relevant, since SparseCtrl is an AnimateDiff feature). Needs a SparseCtrl model in ComfyUI/models/controlnet and an AnimateDiff motion module to be doing anything.

Common gotchas

Same as every extras node: it does nothing unattached. The output has to reach a weights node's cn_extras input, and that weights node has to reach your SparseCtrl control path. Dangling output = silent no-op.

Second, this only makes sense in a SparseCtrl workflow. The hint/non-hint distinction is a SparseCtrl concept - feeding these extras into a plain ControlNet chain has nothing meaningful to scale. If you're not running SparseCtrl, you don't want this node.

Third, the era caveat that applies to all the SparseCtrl nodes: per the AnimateDiff KB, AnimateDiff (and therefore SparseCtrl) is superseded for new video projects by Wan-based tooling. It still works and is still maintained, but reach for it deliberately - because you want the AnimateDiff sparse-keyframe result specifically - rather than as your default video path in 2026.

CategoryAdv-ControlNet πŸ›‚πŸ…πŸ…’πŸ…/SparseCtrl/extras

Inputs (4)

NameTypeDefaultDescription
cn_extrasoptCN_WEIGHTS_EXTRASβ€”
sparse_hint_multoptFLOAT1.0000–10β€”
sparse_nonhint_multoptFLOAT1.0000–10β€”
sparse_mask_multoptFLOAT1.0000–10β€”

Outputs (1)

NameTypeDescription
cn_extrasCN_WEIGHTS_EXTRASβ€”