多ControlNet应用
Stack several ControlNets with per-unit strength
- conditioning
- image0
- image1
- CONDITIONING
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 frommodels/controlnetto 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.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| conditioning | CONDITIONING | — | |
| image0 | IMAGE | — | |
| image1opt | IMAGE | — | |
| control_net_nameopt | COMBO | 0 options: |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| CONDITIONING | CONDITIONING | — |