ControlNet Custom Weights [SD1.5] ππ π π
Per-block ControlNet control
- cn_extras
- CN_WEIGHTS
- TK_SHORTCUT
This is the full manual mixing board for an SD 1.5 ControlNet - a strength slider for each of the model's blocks. A ControlNet injects guidance at every block of the UNet, and normally they all fire at the same strength. This node lets you set each one independently: emphasize the deep blocks that carry structure, dial back the shallow ones that carry fine detail, or anything in between.
It's the more advanced sibling of the Soft Weights nodes. Where ControlNet Soft Weights [SD1.5] ships a fixed soft curve as its defaults, this node defaults everything to 1.0 (uniform, full control) and hands you the raw sliders to build whatever profile you want from scratch. If you're not sure you need this level of control, you probably don't - Scaled Soft Weights covers the common case. Reach for this when you have a specific per-block idea.
What the blocks mean
- output_0 β¦ output_11 (12 sliders) - the weights for the ControlNet's twelve output blocks, all default 1.0. Roughly, the lower-indexed blocks influence broad structure and the higher ones influence finer detail (the soft-weight profile leans on exactly this by keeping low indices small).
- middle_0 (default 1.0) - the middle block weight.
You don't need a precise mental model of every block to use it well; the practical workflow is to start from all-1.0, then reduce the shallow output blocks if the ControlNet is fighting your prompt on details, or reduce the deeper ones if it's over-imposing structure.
Shared optionals:
- uncond_multiplier - 0.0 gives the "ControlNet is more important" behavior (drops the ControlNet from the uncond pass); between 0 and 1 scales it. Default 1.0.
- cn_extras - chain in extra weight modifiers.
Outputs: CN_WEIGHTS (into a Timestep Keyframe's cn_weights, or weights_override on Apply Advanced ControlNet) and TK_SHORTCUT (a Timestep Keyframe to plug into timestep_kf directly).
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, restart. Pure ComfyUI, from Kosinkadink (the AnimateDiff-Evolved dev). No preprocessors (comfyui_controlnet_aux) and no model files (your models/controlnet folder) are bundled.
Common gotchas
Block count is the trap. This node's 12-output-plus-middle layout matches SD 1.5 ControlNets. Feed it a Flux ControlNet or a T2I-Adapter and the weights won't map - the pack expects a compatible weight type and will error explaining which types the loaded ControlNet accepts. Use the [Flux] or T2IAdapter custom-weights node for those.
Second, this is real rope to hang yourself with. Twelve independent sliders make it easy to build a profile that looks nothing like your reference for reasons that are hard to debug. If per-block tuning stops paying off, the honest move is to go back to Scaled Soft Weights and its single knob. And, as with every weights node here, the numbers you set multiply against the Apply node's strength - so factor that in before pushing a block toward the max.
Inputs (15)
| Name | Type | Default | Description |
|---|---|---|---|
| output_0 | FLOAT | 1.0000β10 | β |
| output_1 | FLOAT | 1.0000β10 | β |
| output_2 | FLOAT | 1.0000β10 | β |
| output_3 | FLOAT | 1.0000β10 | β |
| output_4 | FLOAT | 1.0000β10 | β |
| output_5 | FLOAT | 1.0000β10 | β |
| output_6 | FLOAT | 1.0000β10 | β |
| output_7 | FLOAT | 1.0000β10 | β |
| output_8 | FLOAT | 1.0000β10 | β |
| output_9 | FLOAT | 1.0000β10 | β |
| output_10 | FLOAT | 1.0000β10 | β |
| output_11 | FLOAT | 1.0000β10 | β |
| middle_0 | FLOAT | 1.0000β10 | β |
| uncond_multiplieropt | FLOAT | 1.000β1 | β |
| cn_extrasopt | CN_WEIGHTS_EXTRAS | β |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| CN_WEIGHTS | CONTROL_NET_WEIGHTS | β |
| TK_SHORTCUT | TIMESTEP_KEYFRAME | β |