Nodes/ComfyUI/Cond Pair Set Default Combine
ComfyUI Node Runs on cloud

Cond Pair Set Default Combine

The node that fixes the 'stitched together' look

By Comfy-Org·Created 4 years ago·Updated about an hour ago· 129,800
Cond Pair Set Default Combine
  • positive
  • negative
  • positive_DEFAULT
  • negative_DEFAULT
  • hooks
  • positive
  • negative

Try a two-region hook workflow and you'll hit it: the left half and right half come out great, but there's a hard split down the middle and the image reads as two pictures taped together. People post this exact problem constantly. The fix is a third conditioning - a global prompt describing the whole scene - and PairConditioningSetDefaultCombine ("Cond Pair Set Default Combine") is the node that makes that third conditioning legal.

Why you need a "default" at all

In a normal run, conditioning covers the whole canvas. In a regional run with masks, each hooked conditioning only owns its masked area - so anything the masks don't touch gets no direction at all. No prompt is looking after the background, the lighting, the framing. The sampler fills the gap however it likes, and you get that collage feel.

ComfyUI's answer is the default flag on conditioning. When a conditioning is marked default, the sampler computes it last and fills the remaining unmasked area - every pixel no region claimed. That's the "describe the entire picture" prompt people keep being told to add, and this node is the sanctioned way to add it.

How it works

Four inputs: your existing positive / negative, and a positive_DEFAULT / negative_DEFAULT pair - the global prompt, usually plain text-encoded output with no mask and no hook. The node stamps the _DEFAULT conds as default, applies any hooks you pass to them, and combines them with the existing pair. Outputs: one merged positive and one merged negative.

Mechanically it's the same shape as PairConditioningCombine, except the new pair gets tagged default and can carry a HOOKS group. So the classic three-region workflow looks like:

  1. Region A: PairConditioningSetPropertiesAndCombine with left mask + LoRA A + prompt A.
  2. Region B: same node, right mask + LoRA B + prompt B.
  3. PairConditioningSetDefaultCombine: takes the A/B result as positive/negative, adds a plain "two characters in a city street, cinematic lighting" prompt as the _DEFAULT pair, and outputs the final pair.

That third step is what de-seams the image. One thing to know: the default cond fills only what's left over - it won't override the regions - which is exactly what you want.

The hooks input, used right

The hooks input here is worth a look because of what the announcement-era community discovered: attach a timestep-limited hook to the default cond and you can let the global prompt set the composition early, then get out of the way so the region LoRAs take over. Feed a TIMESTEPS_RANGE (via ConditioningTimestepsRange) into the Set Props node on the _DEFAULT path and the global prompt stops interfering partway through the run. Some people found that alone removed the need for a ControlNet to hold the composition together.

The honest caveats

Same family economics apply: every hooked conditioning is a separate model pass, and a workflow with a default plus two hooked regions is several times slower than a plain one. If you only add the default and skip the regional masks, this node degenerates into a fancier ConditioningCombine - the default flag matters because regions exist. And yes, it's experimental, like the whole hooks family, but it's stable enough that this is the node people actually use to fix the seams, not just read about.

Ships with ComfyUI core, nothing to install. Under advanced → hooks → cond pair.

Categoryadvanced/hooks/cond pair

Inputs (5)

NameTypeDefaultDescription
positiveCONDITIONING
negativeCONDITIONING
positive_DEFAULTCONDITIONING
negative_DEFAULTCONDITIONING
hooksoptHOOKS

Outputs (2)

NameTypeDescription
positiveCONDITIONING
negativeCONDITIONING