Nodes/ComfyUI_Eclipse/Detailer (SEGS/pipe)
ComfyUI Node

Detailer (SEGS/pipe)

The Impact-style detail loop, inside Eclipse

By r-vageΒ·Created 10 months agoΒ·Updated a day agoΒ· 31
Detailer (SEGS/pipe)
  • image
  • segs
  • basic_pipe
  • scheduler_func_opt
  • image
  • segs
  • basic_pipe
β—„guide_size512β–Ί
β—„guide_size_fortrueβ–Ί
β—„max_size1024β–Ί
β—„steps20β–Ί
β—„cfg8.0β–Ί
β—„sampler_nameeulerβ–Ί
β—„schedulernormalβ–Ί
β—„denoise0.50β–Ί
β—„feather5β–Ί
β—„cycle1β–Ί
β—„noise_masktrueβ–Ί
β—„force_inpainttrueβ–Ί
β—„inpaint_modeltrueβ–Ί
β—„noise_mask_feather20β–Ί
β—„tiled_encodetrueβ–Ί
β—„tiled_decodetrueβ–Ί
β—„seed0β–Ί
β—„live_previewtrueβ–Ί

When a face is 70 pixels of a 1024px frame, no checkpoint fixes it - the latent simply has no budget for detail there. The fix is the detect-crop-refine-paste loop: find the region, upscale the crop, run a fresh sampling pass, blend it back. Detailer (SEGS/pipe) is Eclipse's version of that loop, wrapping the Impact Pack's DetailerForEach machinery (the pack vendors its own copy) so you can run the whole refinement pass inside the Eclipse ecosystem without installing Impact Pack.

What it is

A detailer node in the classic Impact shape. It takes an image and SEGS - the detected-segment container that comes out of a detector node (Impact's BBOX/SEGM detectors, a Mask-to-SEGS converter, SAM-based segmenters, etc.) - and for each detected region it crops, re-renders, and pastes back. The "pipe" in the name means it takes a basic_pipe (model, clip, vae, positive, negative bundled) instead of five loose wires.

It's built to handle batches and lists, with a fixed-coordinate scaling path that keeps crop regions and bounding boxes consistent when input frames differ in size - a detailer-friendly touch for video-frame lists where your first frame and last frame aren't the same resolution.

How it works

The loop is identical to the one the KB documents for all detailers:

  1. Crop each SEG region from the image.
  2. Resize to guide - guide_size (default 512) is the target for the cropped area, and guide_size_for chooses whether that applies to the bbox or the crop region. max_size (default 1024) caps it.
  3. Re-render with the basic_pipe's model and your sampler settings (steps 20, cfg 8, denoise 0.5 defaults - typical detail-pass values).
  4. Paste back with feathering (feather 5) to soften the seam, optionally cycle passes, and a noise_mask (noise_mask_feather 20) to confine re-rendering to the mask.

Extra controls worth knowing: force_inpaint and inpaint_model push inpainting behavior even on empty masks; tiled_encode/tiled_decode (both on by default) keep VRAM in check for large crops; live_preview shows the intermediate latent; seed supports -1 random / -2 increment / -3 decrement; and an optional scheduler_func_opt lets you plug in a custom scheduler function.

Inputs that matter

  • image - the frames to detail (batch or list).
  • segs - the detected segments to refine. This is the input that makes it automatic.
  • basic_pipe - the model bundle. In Eclipse, a Pipe Out / context node gives you this.
  • guide_size / max_size / denoise / steps / cfg - the settings you'll actually tune.
  • feather / noise_mask_feather - seam control when the paste is visible.

Outputs

image (the detailed result), segs (updated segments), and basic_pipe (passed through) - all list-aware, so a batch of frames comes back as a batch.

Install

Part of ComfyUI_Eclipse. Manager β†’ ComfyUI_Eclipse β†’ install β†’ restart, or:

cd ComfyUI/custom_nodes
git clone https://github.com/r-vage/ComfyUI_Eclipse

Under Eclipse β†’ Sampler. You still need a detector upstream to produce SEGS - Impact Pack's detectors, or the pack's own Mask to SEGS node, work.

Troubleshooting

  • Nothing gets detailed: no SEGS, or SEGS with empty regions. Check the detector's output - a detector that found nothing produces nothing to refine.
  • Visible seams / grey patches: classic detailer failure. Lower denoise to ~0.3-0.4, raise noise_mask_feather, and confirm the right VAE is in the pipe. A polygon (segmentation) detector produces far better seams than a bbox detector.
  • Clone faces in a crowd: every region re-renders on the same base seed - the known detailer trap. Vary the seed per region (or per pass) if a crowd converges into one person.
  • VRAM pressure: keep tiled_encode/tiled_decode on and lower max_size.
CategoryπŸŒ’ Eclipse/ Sampler

Inputs (22)

NameTypeDefaultDescription
imageIMAGEInput image frames (can be batch or list).
segsSEGSSEGS data to detail.
guide_sizeFLOAT51264–8192Guide size for resizing cropped areas.
guide_size_forBOOLEANtrueWhether guide size is for bbox or crop region.
max_sizeFLOAT102464–8192Maximum size of the cropped area.
stepsINT201–10000Steps for sampler.
cfgFLOAT8.00–100CFG for sampler.
sampler_nameCOMBOeulerSampler name.
schedulerCOMBOnormalScheduler name.
denoiseFLOAT0.500.0001–1Denoise level.
featherINT50–100Feather level for blending.
cycleINT11–10Detailer cycle count.
noise_maskBOOLEANtrueUse noise mask for sampling.
force_inpaintBOOLEANtrueForce inpainting even if mask is empty.
basic_pipeBASIC_PIPEBasic pipe containing model, clip, vae, positive, negative.
inpaint_modelBOOLEANtrueForce using inpaint model.
noise_mask_featherINT200–100Feather level for noise mask.
tiled_encodeBOOLEANtrueUse tiled encode.
tiled_decodeBOOLEANtrueUse tiled decode.
seedINT0-3–18446744073709550000Seed for sampler. Use -1 for random, -2 to increment, -3 to decrement.
live_previewBOOLEANtrueShow intermediate latent previews while detailing.
scheduler_func_optoptSCHEDULER_FUNCScheduler function option.

Outputs (3)

NameTypeDescription
imageIMAGEβ€”
segsSEGSβ€”
basic_pipeBASIC_PIPEβ€”