Nodes/SimpleSyrup/Detail SEGS as Regions
ComfyUI Node

Detail SEGS as Regions

The Detailer That Details Everything at Once (and Does It Differently)

By Artificial-Sweetener·Created 3 months ago·Updated 12 days ago· 2
Detail SEGS as Regions
  • image
  • model
  • vae
  • negative
  • positive
  • segs
  • region_positive
  • image
global_prompt_weight0.25
scale_factor1.0
upscale_methodlanczos
seed0
steps20
cfg8.0
sampler_name
scheduler
denoise0.50
feather5
noise_masktrue
noise_mask_feather20
tiled_encodefalse
tiled_decodefalse

You know the classic detailer loop: detect a region, crop it out, resample the crop at proper resolution, paste it back. It works, but it samples each region in isolation - and on a big canvas, isolated crops can drift from the overall scene. Detail SEGS as Regions deliberately takes the other road. It keeps the full image in one pass, uses global conditioning across the whole canvas, and pairs each SEG with its own ordered regional conditioning. Instead of N separate crop-refine cycles, you get one coherent pass where every region gets personal prompting but still answers to the whole image.

It's the pack's answer to a specific complaint about crop-based detailers: they fix faces, but sometimes they fix them out of context. If you've ever seen a detail pass where the improved hand no longer matches the lighting of the body it's attached to, that's the isolated-crop failure. Detail SEGS as Regions is designed so regions stay aware of the full scene.

How it works

The node takes the image, the segs regions, a model and vae, plus global positive and negative conditioning and a region_positive CONDITIONING_BATCH matched to the incoming SEGS order. The key control is global_prompt_weight (default 0.25): inside covered regions, this much of the prediction comes from the global positive prompt, and the rest comes from the regional prompt. Dial it up when you want regions to stay glued to the global scene; dial it down when a region needs to go its own way.

The rest is standard detail-pass plumbing: scale_factor (default 1, up to 5) enlarges each region's contribution for more detail room, upscale_method defaults to lanczos, and the usual sampler controls - seed, steps (20), cfg (8), sampler_name, scheduler, denoise (0.5). Compositing is governed by feather (5) for mask-edge blending, plus noise_mask (on) and noise_mask_feather (20) so sampling noise stays inside the region and unchanged pixels stay stable. tiled_encode / tiled_decode (both off) tile the VAE for big crops at a speed cost. Output is one image with the detailed regions blended back in.

The comparison you actually need

Crop-based (Detail SEGS by Scale Factor) samples each region at its own scale in isolation - great for fixing a small face in an otherwise-fine image, and the closer cousin to ADetailer/FaceDetailer. This node trades that isolation for coherence: one MultiDiffusion-style pass, global context preserved, regional conditioning per SEG. The tradeoff is that it's heavier (it's sampling the full canvas, not just crops) and less forgiving on region masks. Choose by goal: quick surgical fixes → scale-factor detailer; coherent scene-wide refinement with per-region prompts → this one.

Install

Ships in the SimpleSyrup pack. ComfyUI Manager → search SimpleSyrup → Install → restart, or manually:

Set-Location ComfyUI\custom_nodes
git clone https://github.com/Artificial-Sweetener/SimpleSyrup.git
Set-Location SimpleSyrup
..\..\venv\Scripts\python.exe -m pip install -r requirements.txt

Restart ComfyUI; the pack needs a current build (v3 extension API).

Common issues

  • Region prompts pair with the wrong region - region_positive must match SEGS order exactly.
  • Detail pass looks too strong/weak - that's denoise, then global_prompt_weight.
  • Seams at region edges - raise feather and noise_mask_feather.
  • Slow - it's sampling the whole canvas; enable tiled_encode/tiled_decode for large images.

It's the detailer for when per-region prompting matters more than per-region cropping.

CategorySimpleSyrup/Detailing

Inputs (21)

NameTypeDefaultDescription
imageIMAGESource image containing the regions to improve. Detailed crops are blended back into this image.
modelMODELDiffusion model used to resample each detailed crop.
vaeVAEVAE used to encode crops to latents and decode the edited crops.
negativeCONDITIONINGNegative conditioning applied across the full regional pass.
positiveCONDITIONINGPositive conditioning that gives full-image context to the regional pass.
segsSEGSSEGS regions that choose which parts of the image are detailed.
region_positiveCONDITIONING_BATCHPer-region positive conditioning matched to the incoming SEGS order.
global_prompt_weightFLOAT0.250–1Global positive prediction weight inside covered regions; the remaining weight goes to regional prompts.
scale_factorFLOAT1.01–5Crop enlargement multiplier. Larger values give the sampler more detail room but use more memory.
upscale_methodCOMBOlanczosResize method for scaled crops. Sharper methods preserve detail but can show more ringing.
seedINT00–18446744073709550000Seed used to create sampling noise. Reusing it with matching settings makes results repeatable.
stepsINT201–10000Number of denoising steps. More steps can add refinement but take longer.
cfgFLOAT8.00–100Prompt guidance strength. Higher values follow the positive prompt more strongly but can look overcooked.
sampler_nameCOMBOSampling algorithm. It affects the image's look, speed, and stability.
schedulerCOMBONoise schedule used during sampling. It changes how quickly structure and detail form.
denoiseFLOAT0.500–1Sampling strength. Lower values preserve the input more; higher values allow larger changes.
featherINT50–512Mask edge softness in pixels. Higher values blend edits more gently into the image.
noise_maskBOOLEANtrueLimit sampling noise to the selected mask area so unchanged pixels stay more stable.
noise_mask_featherINT200–512Noise mask edge softness in pixels. Higher values make the sampled area fade out more gradually.
tiled_encodeBOOLEANfalseEncode large crops in tiles. This lowers memory use but is usually slower.
tiled_decodeBOOLEANfalseDecode large crops in tiles. This lowers memory use but is usually slower.

Outputs (1)

NameTypeDescription
imageIMAGEImage with the detailed regions blended back into place.