SEGS Enhancer Multi (CRT)
SEGS Enhancer Multi (CRT)
- image
- segs
- model
- positive
- negative
- vae
- enhanced_image
- enhanced_face
- cropped_face_before
- enhanced_face_alpha
- base_face_alpha
SEGS Enhancer Multi (CRT) is the composable version of the CRT face detailer. Where Ultralytics Enhancer (CRT) runs its own YOLO detection, this node consumes a SEGS input - you bring the detections, it does the enhancing. That one swap is the whole story, and it's what makes this node more powerful than its sibling: SEGS can describe faces, hands, people, or anything else a detector or mask pipeline found, so this becomes a general "refine every detected region" node rather than a face-only tool.
SEGS is Impact Pack's structured segmentation format - a list of detected regions, each carrying a bounding box, a mask, and confidence. If you've built any Impact Pack graph, you've already got SEGS flowing around (from a BBOX or SAM detector provider, or a SEGM (Ultralytics) node). The KB treats SEGS as the composable backbone of ComfyUI detailing: Detailer (SEGS) is the go-to when you want detection and refinement controlled separately. This node is in that same family - it takes your SEGS, and for every entry it runs the same two-stage, noise-injection-enabled refine-and-composite loop as the face enhancer.
The execution per region is identical to its sibling: crop the region, upscale it to upscale_megapixel (default 1.5) so the refine pass has real budget, run the low-step sampler (defaults: lcm, cfg 1.0, steps 2 - tuned for distilled models), then feather the result back with enhancement_mix and color_match_strength over a masked blend controlled by post_mask_expand, post_mask_blur and post_mask_taper_borders. The full stage1/stage2 sigma and details_amount_* controls are here too, along with the noise-injection block (enable_noise_injection, injection_point, injection_strength, normalize_injected_noise) and edit_model_flux2klein for edit-model reference conditioning.
Inputs that matter: image, segs (from your detector), model, positive, and the sampler quartet - plus upscale_megapixel, resize_back_to_original, enhancement_mix, color_match_strength. Optional negative and vae again. The outputs are the same five as the face version: enhanced_image (use this), enhanced_face, cropped_face_before, and the enhanced_face_alpha / base_face_alpha layers for custom compositing.
The honest difference from the face-only node: garbage in, garbage out. Since detection is upstream, the regions you enhance are exactly what your SEGS source hands you - if your detector emits noise, this node will happily "enhance" noise. That's also its superpower: feed it SEGS for hands, or clothing seams, or product regions, and you've built a general region-detailer without writing a new node. The common trap is double-detecting - if you already ran a face-detailing pass, don't feed those same SEGS back in; the "second pass on an already-fine region" problem the KB flags applies here too.
Install is the pack's: ComfyUI Manager → search "CRT-Nodes", or clone https://github.com/plugcrypt/CRT-Nodes.git into custom_nodes, pip install -r requirements.txt, restart. You'll also want Impact Pack installed (for the SEGS generators) and, if you're doing your own detection with the pack's Ultralytics nodes, a model in models/ultralytics/segm or bbox. Given the December 2024 Ultralytics supply-chain incident documented in the KB, pin your ultralytics install to a post-incident version. If regions come back unchanged or the console complains about a missing SEGS producer, check that your detector's threshold is sane before blaming the enhancer.
Inputs (32)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| segs | SEGS | — | |
| model | MODEL | — | |
| positive | CONDITIONING | — | |
| sampler_name | COMBO | lcm | 44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38 |
| scheduler | COMBO | simple | 9 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +3 |
| cfg | FLOAT | 1.00–100 | Classifier Free Guidance scale. Higher values follow the prompt more closely. |
| steps | INT | 21–100 | — |
| denoise | FLOAT | 1.000–1 | Amount of denoising to apply. 1.0 = full denoising (txt2img), 0.5-0.8 typical for img2img. |
| seed | INT | 10–18446744073709550000 | — |
| edit_model_flux2klein | BOOLEAN | false | Enable per-crop reference latent conditioning for edit models like flux2klein |
| upscale_megapixel | FLOAT | 1.50.1–16 | Target megapixels used to upscale each crop before enhancement |
| resize_back_to_original | BOOLEAN | false | If disabled, the whole input is upscaled so refined crops can keep higher detail |
| multi_face_resolution_strategy | COMBO | optimal | Used only when resize_back_to_original is False to decide global upscale for multi-face inputs |
| pre_crop_factor | FLOAT | 1.000.1–1 | Tightens each SEGS crop around its center before enhancement. Lower is tighter. |
| post_mask_expand | INT | 10-64–64 | — |
| post_mask_blur | FLOAT | 12.00–64 | — |
| post_mask_taper_borders | INT | 80–128 | Fades the mask edges to black to prevent hard clipping lines |
| stage1_sigma_factor | FLOAT | 1.0100–100 | — |
| stage2_sigma_factor | FLOAT | 0.9900–100 | — |
| stage1_sigma_start | FLOAT | 0.1000–1 | — |
| stage2_sigma_end | FLOAT | 1.0000–1 | — |
| details_amount_stage1 | FLOAT | 0.05-5–5 | — |
| details_amount_stage2 | FLOAT | 0.10-5–5 | — |
| enable_noise_injection | COMBO | enable | Enable noise injection during sampling |
| injection_point | FLOAT | 0.500–1 | Percentage of steps after which to inject noise |
| injection_strength | FLOAT | 0.05-20–20 | Strength of injected noise |
| normalize_injected_noise | COMBO | enable | Normalize injected noise to match latent statistics |
| enhancement_mix | FLOAT | 1.000–1 | Mix between original (0.0) and enhanced (1.0) face. 0.5 = 50/50 blend |
| color_match_strength | FLOAT | 1.000–2 | Strength of color matching between original and enhanced face. 0.0 = disabled, 1.0 = full matching |
| negativeopt | CONDITIONING | — | |
| vaeopt | VAE | — |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| enhanced_image | IMAGE | — |
| enhanced_face | IMAGE | — |
| cropped_face_before | IMAGE | — |
| enhanced_face_alpha | IMAGE | — |
| base_face_alpha | IMAGE | — |