Nodes/ComfyUI_Lam/多ControlNet应用
ComfyUI Node

多ControlNet应用

Stack several ControlNets with per-unit strength

By yanlang0123·Created 2 years ago·Updated 11 days ago· 77
多ControlNet应用
  • conditioning
  • image0
  • image1
  • CONDITIONING
control_net_name

MultiControlNetApply ("多ControlNet应用", multi-ControlNet apply) is the ComfyUI_Lam take on running multiple ControlNet units at once. You feed it a conditioning plus several images, and it applies a ControlNet to each - each with its own model and its own strength - and returns the combined conditioning. Where core ComfyUI's ControlNetApplyAdvanced handles one unit per node, this one tries to be the "all your conditions in one place" node.

Multi-ControlNet is a well-trodden move: canny for edges plus depth for layout, pose plus lineart, tile plus canny for upscaling with edge preservation. The community's highest-scoring ControlNet showcase was literally a multi-ControlNet video pipeline. So the concept is proven; the question is whether this node is the best way to express it.

How it works

The backend is a loop: for each wired imageN input it loads a ControlNet file and applies it to the conditioning at the strength you set for that slot. The conditioning chain accumulates - each unit's control gets appended to the previous one, so they stack rather than overwrite. A strength of 0 skips that unit entirely, which is a handy way to leave a slot wired but dormant.

The control-nerd part is the canvas: the node's frontend lets you click between slots and set each unit's model and strength visually, with the values saved into the workflow. That's the real reason to reach for this over chaining core nodes - you get a compact visual editor for a multi-unit rig. It stores per-slot values in the workflow JSON, so the setup travels with the saved file.

The inputs and outputs

  • conditioning - the conditioning to attach the ControlNets to.
  • image0 (required), image1, ... (optional) - one conditioning image per ControlNet unit.
  • control_net_name - which ControlNet model file from models/controlnet to load.
  • Output: CONDITIONING - the stacked result, wired to a sampler's positive input.

You need the ControlNet model files yourself, in the usual ComfyUI/models/controlnet folder - this node doesn't download them.

Installing it

From ComfyUI_Lam: ComfyUI Manager → "ComfyUI_Lam", or:

cd ComfyUI/custom_nodes
git clone https://github.com/yanlang0123/ComfyUI_Lam

Restart, find it in the lam category. No extra models beyond your ControlNet files. The README's heavy install (face-fusion rars, pinned TensorFlow, the Aliyun-mirror requirements) is aimed at other nodes in the pack - leave it alone for this one.

Common issues

The classic multi-ControlNet gotcha applies: units interact. Two strong conditions at 1.0 fight each other and produce mush, so start each new unit around 0.5–0.8 and tune from there - the community's 2026 guidance for union models is even lower (0.65–0.8 overall). Also remember this applies whatever ControlNet files you pick, and SD-era files don't load on newer architectures, so match your model era to your checkpoint.

Two pack quirks worth knowing. First, the per-slot values live in the workflow's saved node properties - if you rebuild the node by hand instead of loading a saved workflow, the canvas values may be empty and the node loads nothing. Second, this is a Chinese-language pack with near-zero community presence; its full install can break your environment, and on uninstall you should delete ComfyUI/web/extensions/lam to clear the leftover frontend popup.

Categorylam

Inputs (4)

NameTypeDefaultDescription
conditioningCONDITIONING
image0IMAGE
image1optIMAGE
control_net_nameoptCOMBO0 options:

Outputs (1)

NameTypeDescription
CONDITIONINGCONDITIONING