Nodes/ComfyUI/Conditioning (Combine)
ComfyUI Node Runs on cloud

Conditioning (Combine)

Run two prompts at once, and stack your regional and ControlNet branches

By Comfy-Org·Created 4 years ago·Updated 32 minutes ago· 129,926
Conditioning (Combine)
  • conditioning_1
  • conditioning_2
  • CONDITIONING

Here's the thing that confuses everyone the first time: ConditioningCombine doesn't merge your prompts in the "mix them together" sense, and it doesn't concatenate them into one long sentence. It takes two conditioning objects and packages them as two parallel entries that the sampler applies simultaneously. Each entry is its own prompt with its own metadata, and the model sees both at once. That's a small difference in the UI and a huge difference in what you can build with it.

Why parallel entries matter

Because a "conditioning" in ComfyUI is really a list of (embedding, metadata) pairs, and Combine just glues two lists together. The sampler then attends to both. That's the load-bearing behavior behind three big workflows:

  • Regional prompting. Encode a prompt for the left side, annotate it with ConditioningSetArea, do the same for the right, then Combine them. The sampler applies each prompt to its own region - the classic fix for two characters whose attributes bleed into each other.
  • Stacked ControlNets. When ControlNetApplyAdvanced stamps a control hint onto a conditioning, Combine is how you merge the branch that got the canny treatment with the branch that got depth - both structures applied at once.
  • Prompt layering. A "character + style" pair where you want both as first-class citizens rather than one paragraph. Combine keeps them distinct, which some encoders handle better than a fused sentence.

Inputs and behavior

Both inputs are required: conditioning_1 and conditioning_2. The output is a single CONDITIONING with the entries of both, in order. There are no weights - if you want to control how much each side influences the result, that's ConditioningAverage (which blends tensors by strength) or ConditioningSetAreaStrength (which scales a branch's influence). Combine doesn't blend; it stacks. Also note Combine is associative in practice - combine A+B then combine with C and you get three entries.

How you get it and troubleshooting

Core node, no install - "Conditioning (Combine)" is right there in the default menu next to its siblings Concat and Average. The failure mode to know: if you Combine two conditionings and the sampler only seems to honor one of them, check that the upstream nodes actually produced separate entries - if a SetArea node is bypassed or a ControlNet branch zeroed out, you're combining a real prompt with an empty one, which looks like "Combine is broken" but isn't. And a small source-level gotcha that also lives in its sibling Concat: Combine happily takes conditionings that carry multiple entries each, and they all flow through - which is precisely what makes it the natural hub for a graph with several annotated branches.

Categorymodel/conditioning/transform

Inputs (2)

NameTypeDefaultDescription
conditioning_1CONDITIONING
conditioning_2CONDITIONING

Outputs (1)

NameTypeDescription
CONDITIONINGCONDITIONING