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

Load ControlNet++ Model (Multi) πŸ›‚πŸ…πŸ…’πŸ…

Stack several conditions in one model

By KosinkadinkΒ·Created 3 years agoΒ·Updated 8 days agoΒ· 993
Load ControlNet++ Model (Multi) πŸ›‚πŸ…πŸ…’πŸ…
  • plus_input
  • CONTROL_NET
  • IMAGE
β—„nameβ–Ύβ–Ί

This is the loader that makes ControlNet++'s headline trick actually work: several conditions, one model, one pass. You feed it a chain of tagged condition images (built with ControlNet++ Input nodes) and it loads the union model, routes each condition to its slot, and hands back both the ControlNet and a combined image to drive it. If you've wanted depth and pose and canny holding a composition together without loading three separate ControlNets, this is how.

The whole point of a union model is learned condition fusion - it was trained to blend conditions without you tuning how they mix - so this is genuinely cheaper and cleaner than stacking three independent ControlNets.

How it works

You build your conditions upstream with ControlNet++ Input nodes: each pairs one preprocessed map with its type, and they chain into a single PLUS_INPUT. This loader takes that bundle plus the model file, loads the union network, and configures it to apply all the listed conditions together. Because it also needs to present the combined conditioning to the sampler, it outputs an assembled IMAGE alongside the ControlNet - that image is what goes into the apply node, rather than any single one of your source maps.

The inputs and outputs that matter

Two required inputs:

  • plus_input (PLUS_INPUT) - the chained bundle of tagged conditions from your ControlNet++ Input nodes. This carries every condition and its type.
  • name (dropdown) - the ControlNet++ / union model file from ComfyUI/models/controlnet.

Two outputs: CONTROL_NET, into your Apply Advanced ControlNet node, and IMAGE, the combined condition image - wire this into the apply node's image input, not your individual maps.

How to install it

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

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

then restart. Put a ControlNet++ / union model (xinsir's SDXL union ProMax being the standard one) in ComfyUI/models/controlnet, and generate your condition maps with Fannovel16/comfyui_controlnet_aux.

Common issues & troubleshooting

You wired a source map into the apply node and it looks wrong. Use the loader's IMAGE output as the apply node's image, not one of your individual condition maps. The Multi loader assembles the combined conditioning and that's what the model expects.

Only one condition takes effect. The problem is upstream in the Input-node chain - each Input node's PLUS_INPUT has to feed the next, with the last feeding this loader's plus_input. A broken link drops conditions silently.

One condition is overpowering the rest. Union models fuse conditions well, but if the balance is off, schedule them differently at the apply stage (strength and end_percent) or reconsider whether you need that condition at full strength. And make sure each Input node's control_type correctly labels its map - a mislabel throws the fusion off.

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

Inputs (2)

NameTypeDefaultDescription
plus_inputPLUS_INPUTβ€”
nameCOMBO0 options:

Outputs (2)

NameTypeDescription
CONTROL_NETCONTROL_NETβ€”
IMAGEIMAGEβ€”