SEGSDetailer
Refine detected regions without pasting back yet
- image
- segs
- basic_pipe
- refiner_basic_pipe_opt
- scheduler_func_opt
- segs
- cnet_images
SEGSDetailer is the composable heart of Impact Pack's detailing. It takes your detected regions (SEGS), crops each one, upscales it to a workable resolution, runs a fresh sampling pass to add detail, and stores the improved result back into the SEGS - crucially, without pasting it onto the original image. That last part is the whole point of this node versus the one-click FaceDetailer: it hands you the refined regions as data, so you can preview, filter, pick, or paste on your own terms.
This is the detect-crop-refine loop that Impact Pack made standard, broken into the "refine" step you can control. A face that's 80x80 pixels in a 1024x1024 frame gets 80x80 worth of the model's attention and comes out mangled; SEGSDetailer crops that region, gives it real resolution, resamples it, and the face comes back sharp. It's the same idea as ADetailer in the A1111 world - and yes, ComfyUI makes it more setup - but the payoff is that you get to insert steps ADetailer can't: choose which regions to keep, batch several candidates, preview before committing.
The inputs that matter
It's a full sampler plus a detailer, so there are a lot of widgets. The ones you actually set:
- image - the source picture.
- segs - the regions to refine, from a detector.
- basic_pipe - the bundle carrying model/clip/vae/prompts.
- denoise (default 0.5) - the master dial. Low (0.3–0.4) sharpens while staying faithful; high starts changing the region rather than refining it. This is where most results are won or lost.
- guide_size (default 512) / max_size (default 768) - the resolution each cropped region is scaled to for its pass. Bigger means more detail and more compute.
- cfg / steps / sampler_name / scheduler / seed - ordinary sampling controls; match them to what your base generation liked.
Two more worth knowing. batch_size (default 1) generates several candidate versions of each region in one go - turn it up when you want options to pick from with a Picker (SEGS) node afterward. And cycle (default 1) runs the detail pass multiple times in sequence for progressively stronger refinement.
Outputs are segs (the same regions, now carrying the refined images) and cnet_images (per-region control images, mostly for debugging). Because the result stays in the SEGS, you pass it onward to SEGSPaste to composite it onto the original when you're ready.
Why "don't paste yet" is the feature
The design choice that defines this node - leaving the result in the SEGS instead of on the image - is exactly what makes it powerful. It means you can SEGSPreview the improvement before merging, run a Picker to keep only the good ones, filter by label or size, or batch and choose. FaceDetailer does the crop-refine-paste in one shot, which is lovely until you want a say in the middle. SEGSDetailer is for when you want that say.
It also sidesteps ADetailer's most famous failure. In A1111 every detection inpaints on the same base seed, which is how a crowd turns into a room of identical clones. Because SEGSDetailer hands you the regions separately (and lets you batch and pick), you have room to keep faces distinct rather than accepting whatever the shared seed produced.
Common issues
Denoise is the usual culprit: too high and the "refined" face stops resembling the original - it invents instead of sharpens. Pull it back to 0.3–0.4 for faithful detail. Empty output means empty or bad SEGS - check the detector actually found something. And keep in mind the honest ceiling from people who use these tools daily: a detail pass only helps where the flaw is genuinely visible (small, broken faces, eyes, hands). On a face that's already large and sharp, a second pass mostly costs time and drifts the style - the most-upvoted reaction to plenty of detailing demos is that the before and after look identical. Reach for it when something's actually wrong, not reflexively. VRAM scales with guide_size, batch_size, and cycle, so back those off if you OOM.
Installing it
SEGSDetailer ships with ComfyUI Impact Pack. Install via ComfyUI-Manager (search ComfyUI Impact Pack, Install, restart), or manually: cd ComfyUI/custom_nodes && git clone https://github.com/ltdrdata/ComfyUI-Impact-Pack, install its requirements.txt in ComfyUI's Python environment (portable: ..\..\..\python_embeded\python.exe -m pip install -r requirements.txt), restart. First run auto-downloads a SAM model to ComfyUI/models/sams. To produce the SEGS this node refines you need a detector - the YOLO UltralyticsDetectorProvider now lives in the separate ComfyUI-Impact-Subpack since v8.0, so install that too if you want YOLO detection. Impact Pack is ltdrdata's, the ComfyUI-Manager author, so it's well-maintained and safe.
Inputs (21)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| segs | SEGS | — | |
| guide_size | FLOAT | 51264–16384 | — |
| guide_size_for | BOOLEAN | true | — |
| max_size | FLOAT | 76864–16384 | — |
| seed | INT | 00–18446744073709550000 | — |
| steps | INT | 201–10000 | — |
| cfg | FLOAT | 8.000–100 | — |
| sampler_name | COMBO | 44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38 | |
| scheduler | COMBO | 17 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +11 | |
| denoise | FLOAT | 0.500.0001–1 | — |
| noise_mask | BOOLEAN | true | — |
| force_inpaint | BOOLEAN | true | — |
| basic_pipe | BASIC_PIPE | If the `ImpactDummyInput` is connected to the model in the basic_pipe, the inference stage is skipped. | |
| refiner_ratio | FLOAT | 0.200–1 | — |
| batch_size | INT | 11–100 | — |
| cycle | INT | 11–10 | — |
| refiner_basic_pipe_optopt | BASIC_PIPE | — | |
| inpaint_modelopt | BOOLEAN | false | — |
| noise_mask_featheropt | INT | 200–100 | — |
| scheduler_func_optopt | SCHEDULER_FUNC | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| segs | SEGS | — |
| cnet_images | IMAGE | — |