Detailer (SEGS/pipe)
The Impact-style detail loop, inside Eclipse
- image
- segs
- basic_pipe
- scheduler_func_opt
- image
- segs
- basic_pipe
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:
- Crop each SEG region from the image.
- Resize to guide -
guide_size(default 512) is the target for the cropped area, andguide_size_forchooses whether that applies to the bbox or the crop region.max_size(default 1024) caps it. - Re-render with the basic_pipe's model and your sampler settings (
steps20,cfg8,denoise0.5 defaults - typical detail-pass values). - Paste back with feathering (
feather5) to soften the seam, optionallycyclepasses, and anoise_mask(noise_mask_feather20) 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
denoiseto ~0.3-0.4, raisenoise_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_decodeon and lowermax_size.
Inputs (22)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | Input image frames (can be batch or list). | |
| segs | SEGS | SEGS data to detail. | |
| guide_size | FLOAT | 51264β8192 | Guide size for resizing cropped areas. |
| guide_size_for | BOOLEAN | true | Whether guide size is for bbox or crop region. |
| max_size | FLOAT | 102464β8192 | Maximum size of the cropped area. |
| steps | INT | 201β10000 | Steps for sampler. |
| cfg | FLOAT | 8.00β100 | CFG for sampler. |
| sampler_name | COMBO | euler | Sampler name. |
| scheduler | COMBO | normal | Scheduler name. |
| denoise | FLOAT | 0.500.0001β1 | Denoise level. |
| feather | INT | 50β100 | Feather level for blending. |
| cycle | INT | 11β10 | Detailer cycle count. |
| noise_mask | BOOLEAN | true | Use noise mask for sampling. |
| force_inpaint | BOOLEAN | true | Force inpainting even if mask is empty. |
| basic_pipe | BASIC_PIPE | Basic pipe containing model, clip, vae, positive, negative. | |
| inpaint_model | BOOLEAN | true | Force using inpaint model. |
| noise_mask_feather | INT | 200β100 | Feather level for noise mask. |
| tiled_encode | BOOLEAN | true | Use tiled encode. |
| tiled_decode | BOOLEAN | true | Use tiled decode. |
| seed | INT | 0-3β18446744073709550000 | Seed for sampler. Use -1 for random, -2 to increment, -3 to decrement. |
| live_preview | BOOLEAN | true | Show intermediate latent previews while detailing. |
| scheduler_func_optopt | SCHEDULER_FUNC | Scheduler function option. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | β |
| segs | SEGS | β |
| basic_pipe | BASIC_PIPE | β |