Nodes/ComfyUI-Advanced-ControlNet/πŸ§ͺLoad Merged SparseCtrl Model πŸ›‚πŸ…πŸ…’πŸ…
ComfyUI Node Runs on cloud

πŸ§ͺLoad Merged SparseCtrl Model πŸ›‚πŸ…πŸ…’πŸ…

SparseCtrl + ControlNet in ComfyUI

By KosinkadinkΒ·Created 3 years agoΒ·Updated 8 days agoΒ· 993
πŸ§ͺLoad Merged SparseCtrl Model πŸ›‚πŸ…πŸ…’πŸ…
  • sparse_method
  • tk_optional
  • CONTROL_NET
β—„sparsectrl_nameβ–Ύβ–Ί
β—„control_net_nameβ–Ύβ–Ί
β—„use_motiontrueβ–Ί
β—„motion_strength1.000β–Ί
β—„motion_scale1.000β–Ί

This one's flagged experimental (the little test-tube in its name gives it away), and it does something specific: it loads a SparseCtrl model and a regular ControlNet and merges them into one control path. The idea is to combine SparseCtrl's sparse-frame conditioning - keyframe a couple of frames, let the motion module fill the rest - with a normal ControlNet's dense guidance, without wiring two separate control chains.

SparseCtrl came out of AnimateDiff v3 (December 2023) and added encoders that let you condition on a starting frame, an ending frame, or a rough scribble and have the motion module interpolate between them. Merging it with a standard ControlNet is the sort of thing you'd try when you want, say, sparse RGB keyframes plus a canny or depth ControlNet riding along on the frames that have one. It's a power-user combination, hence "experimental."

Inputs and outputs

Required:

  • sparsectrl_name - dropdown of your SparseCtrl models (ComfyUI/models/controlnet).
  • control_net_name - dropdown of the regular ControlNet to merge with it.
  • use_motion (default true) - whether the SparseCtrl's motion component is active.
  • motion_strength (default 1.0) - how strongly that motion component applies.
  • motion_scale (default 1.0) - scales the motion effect.

Optional:

  • sparse_method - a SPARSE_METHOD from the SparseCtrl Index Method (or spread) node, telling it which frames your sparse images map to. Without one it uses the default mapping.
  • tk_optional - a Timestep Keyframe to bake on here; usually unnecessary if you're feeding an Apply Advanced ControlNet downstream (set keyframes there instead).

Output: CONTROL_NET - the merged, Advanced-ified control model, into the control_net input of an Apply Advanced ControlNet node.

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. Kosinkadink's pack, pure ComfyUI. This node needs actual models: a SparseCtrl checkpoint and a ControlNet, both in ComfyUI/models/controlnet, plus an AnimateDiff setup (motion module via AnimateDiff-Evolved) since SparseCtrl is an AnimateDiff feature.

Common gotchas

It's experimental - treat it that way. Behavior and inputs can shift between pack versions, and it's the kind of node where a specific SparseCtrl + ControlNet combination might just not play nicely. If a merge misbehaves, fall back to running the SparseCtrl and the ControlNet as two separate Advanced ControlNet applies; that path is the well-trodden one.

Second, empty dropdowns mean the models aren't downloaded. The node ships with the pack; the SparseCtrl and ControlNet weights don't.

Third, the honest framing from the AnimateDiff KB: this is SD 1.5 / AnimateDiff-era tech, and AnimateDiff is superseded for general video work by Wan-based tooling as of 2026. It still runs and Kosinkadink still maintains the runtime, so it's not dead - but if you're not specifically chasing the AnimateDiff sparse-keyframe workflow, you're probably reaching for the wrong era of tool.

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

Inputs (7)

NameTypeDefaultDescription
sparsectrl_nameCOMBO0 options:
control_net_nameCOMBO0 options:
use_motionBOOLEANtrueβ€”
motion_strengthFLOAT1.0000–10β€”
motion_scaleFLOAT1.0000–10β€”
sparse_methodoptSPARSE_METHODβ€”
tk_optionaloptTIMESTEP_KEYFRAMEβ€”

Outputs (1)

NameTypeDescription
CONTROL_NETCONTROL_NETβ€”