- segs_inputs
- segs
Every time you run a detail pass on a face, you're using the same basic loop Impact Pack made famous: detect a region, crop it, resample it at proper resolution, paste it back. SimpleSyrup speaks that language too - it built its whole regional system around Impact's SEGS value so regions can move between detectors, detailers, and masks without rebuilding anything. The snag: what if you want to detail two kinds of region in one pass, say faces from one detector and hands from another? Most SEGS-consuming nodes take a single SEGS input. Batch SEGS exists so you don't have to run the detailer twice.
How it works
It's a Combine node for SEGS. The single segs_inputs socket is COMFY_AUTOGROW_V3 - expandable - so you keep dragging out new wires and each one adds another SEGS input. The node joins every segment from every input, in socket order, into one combined SEGS payload that comes out the other side. Downstream, Detail SEGS by Scale Factor (or any SimpleSyrup or Impact detailer) sees one flat list of regions and treats them all as a single pass.
Order matters, the same way it does everywhere else in this pack. SEGS regions come with a defined order, and per-region conditioning batches pair with them by position. If you're also feeding a CONDITIONING_BATCH to the detailer, the combined order here decides which prompt lands on which region. So plug in the detectors in the order you want regions processed, and you'll know exactly what the batch alignment is doing.
The one input, the one output
- segs_inputs (
COMFY_AUTOGROW_V3): expandable list of SEGS values. Each can be a single-detector result, an already-combined SEGS, or even output fromMask to SEGSif you're mixing detected and hand-drawn regions. - output
segs(SEGS): all input segments concatenated in order. Wire straight intoDetail SEGS as Regions,Detail SEGS by Scale Factor,Simple Preview SEGS, orKSampler (Contextual Diffusion)'s optional SEGS input.
There's no configuration here at all. It's plumbing - one of those "70% of your workflow is plumbing" nodes that never touches a pixel but keeps the graph from turning into a second job.
Why you'd reach for it
The realistic use is a workflow where you want faces and hands (or people and a specific prop) fixed in a single pass, because running the detailer twice doubles the sampling time and risks double-editing overlapping areas. Batch SEGS gives you one combined region set, one VAE round-trip per region, one composite. It also plays nicely with the pack's SEGS preview node if you want to eyeball what actually got detected before the expensive sampling starts.
Install
SimpleSyrup is one pack; install it once and all its nodes appear. Easiest route is ComfyUI Manager → search SimpleSyrup → Install → restart. Manual route:
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
Then restart ComfyUI. Keep ComfyUI itself current - SimpleSyrup uses the v3 extension API and simply won't register its nodes on an old build. Requirements are modest: the pack installs TorchLanc, Ultralytics, ONNX Runtime, Segment Anything and a few smaller helpers.
Common issues
- Regions come out in the wrong order / wrong prompt per region - check socket order into Batch SEGS; it's positional, and rewiring silently changes pairing.
- Nothing appears after install - update ComfyUI, then check Manager's log for the pip install step. If the node list is missing the whole SimpleSyrup category, it's almost always the stale-ComfyUI problem.
That's the whole node. Small, boring, and it's the thing that lets one detail pass cover regions from five different detectors.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| segs_inputs | COMFY_AUTOGROW_V3 | Expandable SEGS inputs joined in socket order. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| segs | SEGS | Combined SEGS with all input segments in order. |