Nodes/comfyui_bmab/BMAB Model To Bind
ComfyUI Node

BMAB Model To Bind

How model/clip/vae get into BMAB's pipeline

By portu-sim·Created 2 years ago·Updated 8 months ago· 124
BMAB Model To Bind
  • bind
  • model
  • clip
  • vae
  • bind

If you're new to BMAB, this is one of the first nodes you'll bump into and wonder what it's actually for. It doesn't sample, upscale, or generate anything. It's plumbing - and understanding what it does unlocks the rest of the pack.

What it is and why it exists

Most ComfyUI packs pass data around as individual wires: a MODEL wire here, a CLIP wire there, a VAE wire somewhere else, each one plugged into every node that needs it. BMAB does it differently. It bundles all of that into a single custom type called BMAB bind, and threads that one wire through its own family of nodes instead. BMAB Model To Bind is the node that gets your model, clip, and vae into that bundle in the first place.

You'll normally see it right after BMAB Context in a graph: Context sets up the sampler settings (seed, steps, cfg, sampler, scheduler) and produces the starting bind, and Model To Bind takes that bind plus your loaded model/clip/vae and folds them in together. From there, the enriched bind gets handed off to whichever BMAB node does the actual work - BMAB KSampler Hires. Fix With Upscaler, BMAB Detail Anything, BMAB ControlNet, and so on all expect a bind that already has a model in it.

The upside of this pattern is fewer wires crossing your graph and less re-wiring when you add a new BMAB node mid-pipeline - you just tap the bind instead of hunting down three separate sources. The downside, if you're used to standard ComfyUI graphs, is that it's not obvious at a glance what's actually inside a bind at any given point. Worth remembering: this is a BMAB-specific convention, not something you'll see in most other packs.

Inputs and outputs

Simple by design:

  • bind (required) - the incoming BMAB bind, typically straight from BMAB Context.
  • model (optional) - your checkpoint's MODEL output.
  • clip (optional) - your checkpoint's CLIP output.
  • vae (optional) - your checkpoint's VAE output.

All three of the model-related inputs are optional, which means you can call this node more than once in sequence if you want to build the bind up piece by piece, or skip whichever pieces you don't need to change. The single output is the updated bind, ready to be handed to the next BMAB node.

Installing it

Through ComfyUI Manager: search comfyui_bmab, install, restart ComfyUI. Manually:

cd ComfyUI/custom_nodes
git clone https://github.com/portu-sim/comfyui_bmab.git
cd comfyui_bmab
pip install -r requirements.txt

(Windows portable: use python_embeded\python.exe -m pip install -r requirements.txt instead.) This node is pure Python glue with no model downloads or heavy dependencies, so once the base pack is installed you're set - you don't need the ControlNet or IPAdapter companion packs for this one.

Common issues

Because this node's whole job is invisible plumbing, the mistakes people make with it are usually structural rather than technical:

  • Wiring a bare model/clip/vae into a node that expects a bind, or vice versa. BMAB's downstream nodes want the bind, not the individual model/clip/vae wires directly - if a BMAB node's input won't accept your checkpoint loader's output, it's because you skipped this step (or BMAB Conditioning To Bind, which does the same job for positive/negative conditioning).
  • Forgetting the bind has to start somewhere. This node needs an incoming bind to attach to - that means a BMAB Context node (or another bind-producing BMAB node) has to come first in the chain. If you're getting a missing-input error here, check that the bind wire is actually connected.
  • Assuming this node loads a checkpoint. It doesn't - it only bundles wires you've already produced elsewhere. You still need a standard checkpoint loader upstream to actually get a model, clip, and vae in the first place.
CategoryBMAB/utils

Inputs (4)

NameTypeDefaultDescription
bindBMAB bind
modeloptMODEL
clipoptCLIP
vaeoptVAE

Outputs (1)

NameTypeDescription
bindBMAB bind