ControlNetApply (SEGS) - DEPRECATED
The older per-region ControlNet node
- segs
- control_net
- segs_preprocessor
- control_image
- SEGS
Right in ComfyUI's own node picker, this one's display name carries its status: ControlNetApply (SEGS) - DEPRECATED. It still does what the name says - attaches a ControlNet to a SEGS so each detected region gets steered by a control signal during its detail pass - but the pack has moved on to a newer node with more control over when in the sampling schedule that guidance applies, and this is the older, simpler version it superseded.
If you're starting a workflow from scratch, use ControlNetApply (SEGS) without the deprecated tag - ImpactControlNetApplyAdvancedSEGS in class-name terms - which does the same job plus start_percent/end_percent scheduling. This article covers the deprecated node for anyone maintaining or opening an older workflow that still uses it.
How it works
Same mechanism as the current version: instead of applying a ControlNet to the whole image once, it attaches the ControlNet to each SEG so the detailer applies it per-region during refinement. You supply the control signal one of two ways, and the README is specific about the precedence - a control_image "will be cropped and used as input," giving each region a matching crop of one full-frame control image; a segs_preprocessor (from the Inspire Pack) "operates by applying preprocessing on-the-fly based on the cropped image during the detailing process." If you provide both, "segs_preprocessor will be ignored" - the image wins.
The inputs and outputs that matter
segs,control_net- required. The detections to steer and the ControlNet model to apply.strength(default 1, range 0–10, step 0.01) - how hard the ControlNet pulls. For subtle guidance on a detail pass, dropping this under 0.6 is common so it constrains without flattening the added detail.
Optional: segs_preprocessor (needs the Inspire Pack for the preprocessor provider) and control_image (the crop-and-apply route). Output is a SEGS carrying the attached ControlNet, ready for a detailer.
Notably absent compared to the current version: no start_percent/end_percent. This node applies the ControlNet across the whole sampling schedule for the region - you can't have it guide early and step aside later, which is exactly the gap the Advanced version fills.
How to install it
Ships with the Impact Pack. ComfyUI Manager: search ComfyUI Impact Pack, install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/ltdrdata/ComfyUI-Impact-Pack comfyui-impact-pack
cd comfyui-impact-pack
pip install -r requirements.txt
then restart. For the segs_preprocessor path you'll also want the Inspire Pack installed (same author, ltdrdata).
Common issues & troubleshooting
You're being nudged to migrate off this node. That's the deprecation notice doing its job. Functionally the two nodes overlap almost entirely - same segs/control_net/strength inputs, same control_image/segs_preprocessor precedence rule - so migrating is usually a drop-in swap plus deciding whether you want start_percent/end_percent scheduling (you probably do).
ControlNet doesn't seem to apply. Same root cause as the current version: you need either a control_image or a segs_preprocessor connected - with neither, there's no control signal, regardless of strength.
Can't find a SEGS preprocessor node. It's not in Impact Pack itself - the README points to the Inspire Pack's Preprocessor Provider for the segs_preprocessor input.
Old workflow using this throws an error after updating Impact Pack. Deprecated nodes occasionally get removed outright in a future major version, not just flagged. If a saved workflow using this node stops loading after an update, that's the likely cause - rebuild the ControlNet-on-SEGS portion with the current Advanced node rather than pinning an old pack version to keep the deprecated one alive.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| segs | SEGS | — | |
| control_net | CONTROL_NET | — | |
| strength | FLOAT | 1.000–10 | — |
| segs_preprocessoropt | SEGS_PREPROCESSOR | — | |
| control_imageopt | IMAGE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| SEGS | SEGS | — |