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

Load Advanced ControlNet Model πŸ›‚πŸ…πŸ…’πŸ…

The current Load Advanced ControlNet loader

By KosinkadinkΒ·Created 3 years agoΒ·Updated 8 days agoΒ· 993
Load Advanced ControlNet Model πŸ›‚πŸ…πŸ…’πŸ…
  • _tk_opt
  • CONTROL_NET
β—„cnetβ–Ύβ–Ί

If you landed here because your graph shows a "Load Advanced ControlNet Model" node whose class is ACN_ControlNetLoaderAdvanced and you're wondering how it differs from the plain ControlNetLoaderAdvanced: it doesn't, really. This is the newer, namespaced version of the same loader. Same display name, same job - read a ControlNet checkpoint off disk and return it as the Advanced version that supports the pack's timestep/latent scheduling, masks, and custom weights. The pack keeps the older class name working too, which is why you'll sometimes see both.

How it works

It loads the ControlNet file you select and wraps it so downstream Advanced nodes recognize it. That wrapper is the thing that lets an Apply Advanced ControlNet node schedule strength across sampling steps, run per-frame latent keyframes, and work inside AnimateDiff-Evolved's sliding context window. At least one Advanced node - this loader or an Advanced apply node - has to be in your graph for any of that to be available; that's the reason the pack ships its own loader instead of leaning on ComfyUI's built-in one.

The inputs and outputs that matter

  • cnet (required) - the dropdown of ControlNet files in your ComfyUI/models/controlnet folder. Choose one that matches your base model and the condition you want (depth, canny, pose, and so on). ControlNet files are architecture-specific; a model trained for one base won't load on another.

The optional _tk_opt accepts a Timestep Keyframe. You only need it when this loader isn't feeding an Advanced apply node but you still want a schedule (or a TK_SHORTCUT from a soft-weight node) attached to the ControlNet. When an Advanced apply node is present, its timestep input overrides this and you can leave it empty.

Output is CONTROL_NET, wired into the control_net input of your apply node.

How to install it

ComfyUI Manager: search ComfyUI-Advanced-ControlNet, install, restart. Manually:

cd ComfyUI/custom_nodes
git clone https://github.com/Kosinkadink/ComfyUI-Advanced-ControlNet

then restart. No heavy dependencies. The pack doesn't ship ControlNet weights - download the model for your base (the Fun unions for Z-Image and Flux 2, Shakker's Flux union, InstantX's Qwen union, xinsir's SDXL union) into ComfyUI/models/controlnet.

Common issues & troubleshooting

You see two "Load Advanced ControlNet Model" nodes and don't know which to use. Either works. This ACN-prefixed one is the current class; the unprefixed ControlNetLoaderAdvanced is the legacy alias kept for old workflows. New graphs will pick this one up automatically.

Empty dropdown. No files in ComfyUI/models/controlnet, or you need to refresh. Restart ComfyUI after adding a model.

Shape mismatch at sampling. You loaded a ControlNet built for a different architecture than your checkpoint. Match the ControlNet to the base - an SD 1.5 file will not run on SDXL or a DiT model, and vice versa.

CategoryAdv-ControlNet πŸ›‚πŸ…πŸ…’πŸ…

Inputs (2)

NameTypeDefaultDescription
cnetCOMBO0 options:
_tk_optoptTIMESTEP_KEYFRAMEβ€”

Outputs (1)

NameTypeDescription
CONTROL_NETCONTROL_NETβ€”