Conditioning Multi Combine
Merge many conditionings without a node pyramid
- conditioning_1
- conditioning_2
- combined
- inputcount
ComfyUI's built-in ConditioningCombine takes exactly two inputs. So the moment you want to merge four or five conditionings - a few regional prompts, a stack of ControlNet-conditioned branches - you end up building a little pyramid of Combine nodes feeding into each other. It works, it's ugly, and it's easy to miswire. This node collapses the whole pyramid into one: set how many inputs you want, and merge them all at once.
What it does
It merges multiple CONDITIONING streams into a single one. Conditioning in ComfyUI is the encoded, guidance-ready form of your prompt (plus anything else layered on - area conditioning, ControlNet, style), and combining several is how you get the model to attend to more than one instruction at a time. The classic case is regional prompting: prompt A masked to the left half, prompt B to the right, both combined so a single sampler pass renders both. Or you're stacking several ControlNet-applied conditionings and need them all in one line into the sampler.
The node is the many-input version of the native tool, with one extra choice about how it merges.
The inputs and outputs that matter
inputcount- how many conditioning inputs the node shows, from 2 up to 20. Set the number, click to update, and the sockets appear. This is the whole ergonomic win: one node, N inputs.operation-combineorconcat, and the distinction matters.combinekeeps each conditioning as a separate instruction the model applies in parallel - this is what you want for regional/masked prompts where each one owns its area.concatjoins them into a single longer conditioning sequence, which behaves more like extending one prompt. When in doubt,combineis the ComfyUI default behavior most workflows assume.conditioning_1,conditioning_2, … - the streams to merge, however manyinputcountexposed.
Outputs are combined (the merged CONDITIONING you send to the sampler) and inputcount (an INT echoing the count, handy if something downstream needs to know how many you merged).
How to install it
It's in kijai's KJNodes pack.
- ComfyUI Manager - search KJNodes for ComfyUI, install, restart.
- Manual -
cd ComfyUI/custom_nodes && git clone https://github.com/kijai/ComfyUI-KJNodes, thenpip install -r ComfyUI-KJNodes/requirements.txt, restart.
No downloads or dependencies.
Common issues & troubleshooting
Regions bleed into each other. If you're doing masked regional prompts, the masking has to happen before this node - each conditioning needs its area set (via a ConditioningSetMask or area node) first, then you combine. This node merges; it doesn't assign regions. And use combine, not concat, for regional work.
concat gives weird results. concat splices the conditioning tensors together, which only makes sense when the shapes are compatible and you actually want one long sequence. For most "I have several prompts, blend them" cases that's not what you want - switch to combine.
Increasing inputcount didn't add sockets. You usually have to trigger the update after changing the number for the new inputs to render. Bump the count and let the node refresh; if a socket stays hidden, toggling the value again forces it.
Empty inputs. Leaving one of the exposed conditioning sockets unconnected can error or quietly skip it depending on version. Set inputcount to exactly how many you're wiring, so there are no dangling inputs.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| inputcount | INT | 22–20 | — |
| operation | COMBO | combine | 2 options: combine, concat |
| conditioning_1 | CONDITIONING | — | |
| conditioning_2 | CONDITIONING | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| combined | CONDITIONING | — |
| inputcount | INT | — |