Nodes/ComfyUI Impact Pack/Detailer (SEGS/pipe)
ComfyUI Node Runs on cloud

Detailer (SEGS/pipe)

The node that re-renders every detected region at full resolution

By ltdrdata·Created 3 years ago·Updated 4 months ago· 3,242
Detailer (SEGS/pipe)
  • image
  • segs
  • basic_pipe
  • detailer_hook
  • refiner_basic_pipe_opt
  • scheduler_func_opt
  • image
  • segs
  • basic_pipe
  • cnet_images
guide_size512
guide_size_fortrue
max_size1024
seed0
steps20
cfg8.00
sampler_name
scheduler
denoise0.50
feather5
noise_masktrue
force_inpainttrue
wildcard
refiner_ratio0.20
cycle1
inpaint_modelfalse
noise_mask_feather20
tiled_encodefalse
tiled_decodefalse

A face that takes up 80×80 pixels of a 1024×1024 render gets 80×80 pixels of the model's attention, and it comes out as mush no matter how good your checkpoint is. DetailerForEachPipe - "Detailer (SEGS/pipe)" in the menu - is the fix. It takes a bundle of detected regions, crops each one out, upscales it to a proper working size, runs a fresh sampling pass on it, and pastes it back. Do that on the faces and hands and you turn a good-composition-but-smeared-details image into a finished one.

This is the composable core of the same detect-crop-refine idea behind FaceDetailer, and it's the ComfyUI answer to A1111's ADetailer. It's more powerful and, honestly, more of a pain to set up - that ergonomics gap is a real and recurring community complaint. The upside is control: you decide exactly what gets detected, how hard it gets re-rendered, and with what prompt.

How it works

You feed it the original image and a segs (the detected regions, from a detector node like Simple Detector or a MASK-to-SEGS conversion). For each region it checks the size against guide_size, upscales the crop toward that target, does a masked inpaint pass at the settings you give it, then composites the result back onto the source. The "pipe" in the name means the model, CLIP, VAE and both conditionings arrive bundled in a single basic_pipe wire instead of five separate inputs - tidier once your graph gets busy.

The inputs and outputs that matter

  • segs (SEGS) - the regions to detail. No detections, nothing happens.
  • basic_pipe (BASIC_PIPE) - your model, CLIP, VAE, positive and negative conditioning, bundled by ToBasicPipe.
  • guide_size (default 512) - the size each cropped region gets worked at. This is the lever that makes small faces sharp; 512–768 is the usual range.
  • denoise (default 0.5) - how much the region gets rewritten. This is the one people set wrong. High denoise re-invents the face and drifts the style; drop it to 0.3–0.4 for a detail pass that improves the region without turning it into a different person.
  • wildcard - an optional prompt applied to the detailed regions, so you can say "detailed face, sharp eyes" without touching your main prompt.
  • cycle (default 1) - run the pass more than once per region for progressively stronger refinement.

Outputs: image (your detailed result - the one you save), segs passed through, basic_pipe passed through for chaining a second detailer, and cnet_images (a list, only populated if you fed in ControlNet via a detailer hook).

How to install it

ComfyUI Manager: search ComfyUI Impact Pack, Install, restart.

Manual:

cd ComfyUI/custom_nodes
git clone https://github.com/ltdrdata/ComfyUI-Impact-Pack
cd ComfyUI-Impact-Pack
pip install -r requirements.txt

Run that in ComfyUI's Python environment, then restart. To actually get SEGS to feed this node you'll usually want a detector, and the YOLO detectors (UltralyticsDetectorProvider) now live in the separately-installed Impact Subpack - grab ComfyUI-Impact-Subpack from the Manager too if you want face/hand detection.

Common issues & troubleshooting

Grey box or color-mismatched patch around the fixed region. Same failure ADetailer users know: the crop round-trips through the VAE and shifts slightly. Raise feather and noise_mask_feather to blend the seam, and confirm you loaded the right VAE.

The detailed face looks like a different person / the style drifted. Your denoise is too high. Bring it to 0.3–0.4. A detail pass should sharpen, not regenerate.

Do this before upscaling, never after. Fix faces and hands at native resolution first - upscaling bakes defects in and then costs more to repair. That's the standard multi-stage order, and it's not optional.

Nothing changed. Almost always an empty segs - your detector found nothing. Lower the detector's threshold or check it's pointed at the right image.

CategoryImpactPack/Detailer

Inputs (25)

NameTypeDefaultDescription
imageIMAGE
segsSEGS
guide_sizeFLOAT51264–16384
guide_size_forBOOLEANtrue
max_sizeFLOAT102464–16384
seedINT00–18446744073709550000
stepsINT201–10000
cfgFLOAT8.000–100
sampler_nameCOMBO44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38
schedulerCOMBO17 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +11
denoiseFLOAT0.500.0001–1
featherINT50–100
noise_maskBOOLEANtrue
force_inpaintBOOLEANtrue
basic_pipeBASIC_PIPEIf the `ImpactDummyInput` is connected to the model in the basic_pipe, the inference stage is skipped.
wildcardSTRING
refiner_ratioFLOAT0.200–1
cycleINT11–10
detailer_hookoptDETAILER_HOOK
refiner_basic_pipe_optoptBASIC_PIPE
inpaint_modeloptBOOLEANfalse
noise_mask_featheroptINT200–100
scheduler_func_optoptSCHEDULER_FUNC
tiled_encodeoptBOOLEANfalse
tiled_decodeoptBOOLEANfalse

Outputs (4)

NameTypeDescription
imageIMAGE
segsSEGS
basic_pipeBASIC_PIPE
cnet_imagesIMAGE