ControlNet Custom Weights ππ π π
Per-block ControlNet weights with flip
- cn_extras
- CN_WEIGHTS
- TK_SHORTCUT
This is the original, general-purpose per-block weights node for ControlNets - thirteen strength sliders (weight_00 through weight_12), all defaulting to 1.0, plus a flip_weights toggle the newer architecture-specific nodes don't carry. If you've seen the [SD1.5] and [Flux] custom-weights nodes and wondered where the plain one is, this is it.
The job is the same as any custom-weights node: a ControlNet injects guidance at every block, and this lets you set each block's strength independently instead of applying one uniform strength. Start from all-1.0 and tune from there - pull down the shallow blocks so the prompt keeps control of fine detail, or the deep ones so the ControlNet stops over-imposing structure.
The flip_weights toggle
The distinctive input here is flip_weights (default false). Flip it and the weight array is reversed - the value you set for the first block gets applied to the last and so on. It's a quick way to invert a profile without hand-retyping thirteen numbers: build a ramp that grips deep blocks hard, flip it, and now it grips the shallow ones instead. Handy for experimentation, and it's the main thing this node offers that the block-labeled [SD1.5] variant doesn't.
Inputs and outputs
- weight_00 β¦ weight_12 (13 required) - per-block ControlNet strengths, default 1.0 each.
- flip_weights (required, default false) - reverse the weight order.
- uncond_multiplier (optional) - 0.0 gives "ControlNet is more important" (drops the ControlNet from the uncond pass); scales continuously between 0 and 1. Default 1.0.
- cn_extras (optional) - 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 wire straight into timestep_kf).
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 then restart. Pure ComfyUI, Kosinkadink's pack, actively maintained. No preprocessors (those are in comfyui_controlnet_aux) and no ControlNet models (drop them in ComfyUI/models/controlnet).
Common gotchas
The 13-slider layout is SD-shaped, so this fits SD 1.5 / SDXL-style ControlNets. On Flux or a T2I-Adapter the block counts differ and you'll hit a weight-type compatibility error - use the [Flux] or T2IAdapter custom-weights node there. If your ComfyUI shows both this node and an ACN_-prefixed [SD1.5] version, they overlap heavily; pick whichever your graph or a downloaded workflow already uses, and prefer the labeled one if you want the pre-baked soft-weight defaults.
Second - the honest take on all the per-block nodes - this is more control than most workflows need. If you just want "make the prompt matter more," Scaled Soft Weights does it with one slider. Reach for thirteen sliders (and flip) when you have a specific per-block experiment in mind, not as a starting point. And every value here multiplies against the strength on the Apply node.
Inputs (16)
| Name | Type | Default | Description |
|---|---|---|---|
| weight_00 | FLOAT | 1.0000β10 | β |
| weight_01 | FLOAT | 1.0000β10 | β |
| weight_02 | FLOAT | 1.0000β10 | β |
| weight_03 | FLOAT | 1.0000β10 | β |
| weight_04 | FLOAT | 1.0000β10 | β |
| weight_05 | FLOAT | 1.0000β10 | β |
| weight_06 | FLOAT | 1.0000β10 | β |
| weight_07 | FLOAT | 1.0000β10 | β |
| weight_08 | FLOAT | 1.0000β10 | β |
| weight_09 | FLOAT | 1.0000β10 | β |
| weight_10 | FLOAT | 1.0000β10 | β |
| weight_11 | FLOAT | 1.0000β10 | β |
| weight_12 | FLOAT | 1.0000β10 | β |
| flip_weights | BOOLEAN | false | β |
| 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 | β |