Nodes/SimpleSyrup/Batch Region Conditioning
ComfyUI Node

Batch Region Conditioning

Merge All Your Regional Conditioning Without the Noodle Surgery

By Artificial-Sweetener·Created 3 months ago·Updated 12 days ago· 2
Batch Region Conditioning
  • conditioning_inputs
  • batch

Let's say you have three masks on a canvas - face, hands, background - and each one deserves its own prompt. SimpleSyrup is built around the idea that those per-region prompts travel through your graph as one ordered CONDITIONING_BATCH (the [SEP]-style structure inherited from ADetailer). The problem appears when your regions don't come from one source: maybe the face conditioning comes from one branch and the hands conditioning from another, and you want them in a single batch for a regional sampler downstream. That's this node's entire job. Give it several CONDITIONING or CONDITIONING_BATCH inputs, and it flattens them, in socket order, into one CONDITIONING_BATCH.

How it works

The batch here isn't a fancy object - it's just an ordered list, where position matters. What position means depends on the consumer downstream: SimpleSyrup's regional samplers and Compose Regional Conditioning treat entry 0 as the global prompt and each later entry as a region (mask 0 ↔ entry 1, mask 1 ↔ entry 2...), while the SEGS detailers match a batch one-to-one against SEGS order. Batch Region Conditioning preserves whatever order you wire in, because it concatenates in the order you plug sockets in. The tooltip says it plainly: "Expandable conditioning inputs flattened in socket order."

That ordering contract is also the part that bites people. If you connect your face conditioning to socket 2 and your hands conditioning to socket 1, your hands prompt lands on the face region and vice versa. Ask anyone who's used ADetailer's [SEP] feature how much fun wrong ordering is - it's the classic failure mode.

The inputs and output that matter

  • conditioning_inputs (COMFY_AUTOGROW_V3): a dynamic, expandable list of conditioning sockets. Click and drag out another wire and a new socket appears. Feed it single CONDITIONING values or existing batches - both get flattened the same way.
  • output batch (CONDITIONING_BATCH): everything, in order. Wire this into a batch-aware consumer like KSampler (Prompt by Region) or Compose Regional Conditioning (global-first convention) or a SEGS detailer's conditioning input (per-SEGS convention).

There's nothing else here. It's a Combine node for conditioning batches, no settings, no gotchas beyond ordering.

Where it fits

Typical setup: you've already got a CONDITIONING_BATCH from Encode Prompt Batch (the [SEP] text splitter) or you've built one by hand from Conditioning Batch Start + Conditioning Batch Append. This node is the merge utility for when a workflow has several batch sources - say one detector feeding a face region and another feeding a hand region, each with its own conditioning chain - and you need one combined batch before the sampler.

Install

SimpleSyrup installs as a pack, not per-node. In ComfyUI Manager, search the node pack list for SimpleSyrup and click Install, then restart ComfyUI (needs a current ComfyUI build, since the pack uses the v3 extension API). 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

Then restart. For a Windows Portable install, run .\python_embeded\python.exe -m pip install -r .\ComfyUI\custom_nodes\SimpleSyrup\requirements.txt from the portable folder. The pack pulls in TorchLanc, Ultralytics, ONNX Runtime, and Segment Anything alongside its own runtime - normal ComfyUI installs already have PyTorch, so you only get what the pack's features actually need.

Common issues

  • Wrong region gets the wrong prompt - almost always an ordering problem, not a bug. Unplug and re-plug the inputs in the exact order the masks/SEGS arrive downstream, or use [SEP|name] labels upstream so you can read which batch entry is which.
  • Node doesn't appear after install - SimpleSyrup requires the ComfyUI v3 extension API, so an outdated ComfyUI build hides all of its nodes, not just this one. Update ComfyUI first.

It's a boring utility node, and that's the point. When regional workflows start to sprawl, this is the part that keeps the graph readable.

CategorySimpleSyrup/Conditioning

Inputs (1)

NameTypeDefaultDescription
conditioning_inputsCOMFY_AUTOGROW_V3Expandable conditioning inputs flattened in socket order.

Outputs (1)

NameTypeDescription
batchCONDITIONING_BATCHConditioning batch containing all input entries in order.