Nodes/ComfyUI_agilly1989_motorway/PairConditioningCombine_motorway_edition
ComfyUI Node

PairConditioningCombine_motorway_edition

Merge two cond pairs without leaving the pipe

By agilly1989·Created 2 years ago·Updated about a year ago· 7
PairConditioningCombine_motorway_edition
  • MOTORWAY 🚌💨
  • MOTORWAY 🚌💨
INPUT_positive_A_keypositive_A
INPUT_negative_A_keynegative_A
INPUT_positive_B_keypositive_B
INPUT_negative_B_keynegative_B
OUTPUT_positive_keypositive
OUTPUT_negative_keynegative

PairConditioningCombine_motorway_edition is one of this pack's "motorway edition" clones: instead of exposing conditioning inputs and outputs directly, it reads them out of the Motorway by key, does its thing, and writes the results back by key. The thing it does is combine two conditioning pairs - two positives and two negatives - into one positive/negative pair. If you're building a workflow where you merge two prompt sources before sampling, this is the bus-friendly way to do it.

Let's read the schema like the contract it is. Required inputs are all key names: INPUT_positive_A_key (default positive_A), INPUT_negative_A_key (negative_A), INPUT_positive_B_key (positive_B), INPUT_negative_B_key (negative_B), plus OUTPUT_positive_key (positive) and OUTPUT_negative_key (negative). Plus the MOTORWAY input. That's it - no widget parameters. The node fetches the conditionings stored under the A and B keys, concatenates the two positives into one and the two negatives into one (the same operation core ConditioningCombine performs), and writes the results back into the bag under the output keys. One Motorway in, one Motorway out, all conditioning traffic internal.

The "edition" mechanism is worth understanding because it explains both how these nodes work and why they're fragile. This pack shipped an experiment that cloned ComfyUI's core nodes and rewired every complex input and output to read/write the Motorway by key. Widget inputs stay widgets; everything else becomes an INPUT_*_key / OUTPUT_*_key text field. So this node isn't a bespoke creation - it's the author's fork of a "pair combine" conditioning node, adapted to the pipe.

And here's the honest part: in the currently released version of the pack these motorway-edition nodes are not registered. The import that activates them is commented out in the pack's __init__.py, and the release notes call it a hotfix that removed the node-cloning. If you have the latest version, you won't find this node in your menu. You'll only see it referenced if you load an older workflow (or an old version of the pack) that used it. Worth knowing before you hunt through your node list wondering why it's missing.

If you do run it (old pack version, or you re-enable the clone module), the mechanics are solid: it pulls positive_A, negative_A, positive_B, negative_B from the bag, combines them into a single pair, stores them under positive and negative, and clones the Motorway before handing it on - so parallel branches stay isolated, same as every other node here.

Installation is the pack standard:

cd ComfyUI/custom_nodes
git clone https://github.com/agilly1989/ComfyUI_agilly1989_motorway

restart ComfyUI, or search "agilly1989" in ComfyUI Manager. The usual caveats apply with extra force here: it's a one-person beta, and this whole node family is the part of the pack that got pulled. Plan around it - read keys exactly (case-sensitive) or you'll hit 'MotorwayClass' object has no attribute 'hash_' - but mostly plan around the fact that you may need an older release to see it at all.

Categoryagilly1989 Nodes/Motorway-ed/advanced/hooks/cond pair

Inputs (7)

NameTypeDefaultDescription
MOTORWAY 🚌💨MOTORWAY 🚌💨
INPUT_positive_A_keySTRINGpositive_A
INPUT_negative_A_keySTRINGnegative_A
INPUT_positive_B_keySTRINGpositive_B
INPUT_negative_B_keySTRINGnegative_B
OUTPUT_positive_keySTRINGpositive
OUTPUT_negative_keySTRINGnegative

Outputs (1)

NameTypeDescription
MOTORWAY 🚌💨MOTORWAY 🚌💨