BMAB Conditioning To Bind
Getting your prompt into BMAB's pipeline
- bind
- positive
- negative
- bind
If you've read up on BMAB Model To Bind, this node will feel immediately familiar - it's the same idea, applied to your prompt instead of your checkpoint.
What it is and why you'd reach for it
BMAB threads most of its pipeline through a single custom wire type called BMAB bind, instead of passing MODEL, CLIP, VAE, and CONDITIONING around as separate connections the way a standard ComfyUI graph does. BMAB Conditioning To Bind is the node that folds your positive and negative conditioning - the output of your CLIP Text Encode nodes - into that bind, alongside whatever BMAB Model To Bind has already added.
You'll normally see the order run: BMAB Context (sets seed/steps/cfg/sampler/scheduler, produces the starting bind) → BMAB Model To Bind (adds model/clip/vae) → BMAB Conditioning To Bind (adds positive/negative) → whichever BMAB node actually does the work, like BMAB KSampler Hires. Fix With Upscaler or BMAB Detail Anything. The order between Model To Bind and Conditioning To Bind isn't fixed - both just add their piece to whatever bind comes in - but by the time you reach a sampling node, the bind needs to be carrying all of it.
This bundling pattern is a BMAB-specific convention rather than something you'll find in most other packs - it trades a cleaner-looking graph (one wire instead of four) for a bit of opacity about what's actually inside the bind at any point. If you're only using one or two BMAB nodes inside an otherwise-standard workflow, keep in mind that anything not fed into a bind stays outside BMAB's pipeline entirely.
Inputs and outputs
- bind (required) - the incoming BMAB bind to attach conditioning to.
- positive (optional, CONDITIONING) - your positive prompt's conditioning.
- negative (optional, CONDITIONING) - your negative prompt's conditioning.
Both conditioning inputs are optional, so you can call this node more than once if you need to update just one side later in the graph, or skip it entirely for BMAB nodes that don't need conditioning at all (like BMAB Upscaler). Output is a single updated bind.
Installing it
Through ComfyUI Manager: search comfyui_bmab, install, restart. Manual install:
cd ComfyUI/custom_nodes
git clone https://github.com/portu-sim/comfyui_bmab.git
cd comfyui_bmab
pip install -r requirements.txt
(Windows portable users: swap in python_embeded\python.exe -m pip install -r requirements.txt.) This is pure plumbing with no model weights and no dependency on BMAB's ControlNet or IPAdapter companion packs - the base install covers it.
Common issues
Same category of mistakes as with Model To Bind, since it's the same pattern:
- Feeding a bare CONDITIONING output into a node that wants a bind, or vice versa. BMAB's sampling nodes expect the bind, already carrying conditioning - if a connection won't accept your CLIP Text Encode output directly, that's the signal you need this node in between.
- No upstream bind to attach to. This node needs a bind coming in, which means a BMAB Context node has to sit earlier in the chain - you can't start a graph with this node.
- Assuming this node encodes text itself. It doesn't do any CLIP encoding of its own - you still need standard CLIP Text Encode nodes upstream to actually turn your prompt into conditioning. This node only bundles what's already been produced.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| bind | BMAB bind | — | |
| positiveopt | CONDITIONING | — | |
| negativeopt | CONDITIONING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| bind | BMAB bind | — |