Simple Detector (SEGS/pipe)
One node that turns an image into detected regions
- detailer_pipe
- image
- SEGS
If you've ever built a detailing workflow in ComfyUI and drowned in wires - a bbox detector here, a SAM loader there, a segm detector as backup - this node is the mop. Simple Detector (SEGS/pipe) takes an image, runs detection, and hands you back a SEGS object: the little bundle of "here's where the faces are, here's their masks, here are the crop boxes" that every detailer downstream wants. It's the whole detection stage folded into one node.
The "/pipe" part is the trick. Instead of plugging a detector straight into this node, it reads the detectors out of a DETAILER_PIPE you already assembled (usually with BasicPipe -> DetailerPipe). So if your pipe already carries a bbox detector and maybe a SAM model, this node just uses them. Less to wire, fewer places to get the connections wrong.
How it works
Under the hood it's the detect-crop-refine loop that made Impact Pack the ComfyUI answer to ADetailer. A face that's 80x80 pixels in a 1024px frame gets almost no model attention and comes out mangled; the fix is always to find that region, crop it, and give it a fresh full-resolution pass. This node handles the find step. Per the README, it "operates primarily with BBOX_DETECTOR, and with the additional provision of SAM_MODEL or SEGM_DETECTOR... internally generates improved SEGS through mask operations on both bbox and silhouette." Translation: the bounding box says roughly where the thing is, and SAM or a segmentation model (if your pipe has one) tightens the mask to the actual outline so your detail pass doesn't leave a rectangular seam.
The inputs that matter
detailer_pipe- the required input carrying your detectors. No detector in the pipe, no detections.image- what you're detecting on, usually your freshly generated image.bbox_threshold(default 0.5) - detection confidence cutoff. Lower it toward 0.3 if it's missing faces; raise it if it's hallucinating faces in the wallpaper.crop_factor(default 3) - how much surrounding context to include around each hit. Three is a sane default; nudge it up when a face needs its hair and neck in the crop to blend cleanly.bbox_dilationanddrop_size- grow/shrink the boxes, and ignore detections smaller than N pixels so specks don't become work.
The sub_threshold, sub_dilation, sub_bbox_expansion and sam_mask_hint_threshold inputs only do anything when your pipe also carries a SAM or segm detector for the silhouette pass - leave them at defaults otherwise. The output is a single SEGS, which you feed into a Detailer (SEGS) or SEGSDetailer node.
How to install it
Grab it through ComfyUI Manager - search ComfyUI Impact Pack, install, restart. Manual route: cd ComfyUI/custom_nodes && git clone https://github.com/ltdrdata/ComfyUI-Impact-Pack, then install the requirements into ComfyUI's own Python (pip install -r requirements.txt, or ..\..\..\python_embeded\python.exe -m pip install -r requirements.txt on Windows portable) and restart. Since v7.6 there's no auto-install, so don't skip the requirements step. First launch quietly downloads a small SAM model into ComfyUI/models/sams.
Common issues
The big one: your detector dropdown is empty because the YOLO detector node isn't in this pack anymore. Since v8.0, UltralyticsDetectorProvider - the node that loads face/hand YOLO models - lives in the separately-installed ComfyUI-Impact-Subpack. If you can't build a detailer pipe with a real detector, install the Subpack. (This split isn't cosmetic: Impact Pack was the route a compromised Ultralytics package took to reach ComfyUI users in December 2024, so keeping that dependency opt-in is a feature.)
Getting empty SEGS out the far end usually means your bbox_threshold is too high or the detector never found anything at that confidence - drop the threshold and retry. And because so much of this pack keys off exact ComfyUI versions (the README is a wall of "requires version X" notices), a fresh detector error right after an update usually means the pack and ComfyUI core are out of sync; update both.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| detailer_pipe | DETAILER_PIPE | — | |
| image | IMAGE | — | |
| bbox_threshold | FLOAT | 0.500–1 | — |
| bbox_dilation | INT | 0-512–512 | — |
| crop_factor | FLOAT | 3.01–100 | — |
| drop_size | INT | 101–16384 | — |
| sub_threshold | FLOAT | 0.500–1 | — |
| sub_dilation | INT | 0-512–512 | — |
| sub_bbox_expansion | INT | 00–1000 | — |
| sam_mask_hint_threshold | FLOAT | 0.700–1 | — |
| post_dilationopt | INT | 0-512–512 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| SEGS | SEGS | — |