Nodes/KJNodes for ComfyUI/Conditioning Multi Combine
ComfyUI Node Runs on cloud

Conditioning Multi Combine

Merge many conditionings without a node pyramid

By kijai·Created 3 years ago·Updated a day ago· 2,908
Conditioning Multi Combine
  • conditioning_1
  • conditioning_2
  • combined
  • inputcount
inputcount2
operationcombine

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 - combine or concat, and the distinction matters. combine keeps 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. concat joins them into a single longer conditioning sequence, which behaves more like extending one prompt. When in doubt, combine is the ComfyUI default behavior most workflows assume.
  • conditioning_1, conditioning_2, … - the streams to merge, however many inputcount exposed.

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, then pip 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.

CategoryKJNodes/masking/conditioning

Inputs (4)

NameTypeDefaultDescription
inputcountINT22–20
operationCOMBOcombine2 options: combine, concat
conditioning_1CONDITIONING
conditioning_2CONDITIONING

Outputs (2)

NameTypeDescription
combinedCONDITIONING
inputcountINT