Nodes/comfyui_bmab/BMAB Extractor
ComfyUI Node

BMAB Extractor

Unpacking a BMAB bind back into standard ComfyUI types

By portu-sim·Created 2 years ago·Updated 8 months ago· 124
BMAB Extractor
  • bind
  • model
  • clip
  • positive
  • negative
  • vae
  • latent
  • image
  • seed

If you've read through BMAB's other utility nodes - BMAB Context, BMAB Model To Bind, BMAB Conditioning To Bind - you've seen how BMAB bundles model, clip, vae, conditioning, and sampler settings into a single BMAB bind wire instead of passing them around individually. This node is the reverse operation: it takes that bundle apart again.

What it is and why you'd reach for it

BMAB was originally an Automatic1111 extension before it became a ComfyUI pack, and its bind-based plumbing is a BMAB-specific convention rather than a standard ComfyUI pattern - most other node packs just wire MODEL, CLIP, VAE, and CONDITIONING around individually. That's fine as long as you're staying entirely inside BMAB's own node family, but the moment you want to hand off to a stock ComfyUI node - a vanilla KSampler, a standard VAE Decode, or any non-BMAB node that expects one of these types directly - you need a way to break the bind back apart. That's what BMAB Extractor does.

This makes it the natural exit point from a BMAB-built pipeline. You might build the early stages of a workflow using BMAB's Context/Model-To-Bind/Conditioning-To-Bind chain for the convenience of fewer wires, run a BMAB-specific step like BMAB Detail Anything or BMAB KSampler Hires. Fix With Upscaler in the middle, and then use this node to hand everything back out to standard nodes for the rest of your graph - or simply to inspect individual pieces (like the seed actually used) that aren't easy to see while everything's bundled up.

How it works

There's no processing happening here - it's a pure unpacking operation. Whatever the bind is carrying at the point you call this node gets split back out into its individual, standard-typed outputs.

Inputs and outputs

  • bind (required) - the BMAB bind to unpack.

Outputs, all standard ComfyUI types:

  • model, clip, vae - whatever checkpoint components were loaded into the bind via BMAB Model To Bind.
  • positive, negative - the conditioning added via BMAB Conditioning To Bind.
  • latent - the current latent, if the bind is carrying one at this point in the graph.
  • image - the current image, same caveat.
  • seed - the seed value, typed as SEED, useful if you want to feed it explicitly into a downstream node or just confirm what was actually used.

Not every one of these will necessarily be populated with something meaningful, depending on how far along your BMAB chain you are when you call this node - extracting latent before anything has sampled, for instance, will give you whatever the bind happens to be carrying at that point, which may be nothing useful yet.

Installing it

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

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: python_embeded\python.exe -m pip install -r requirements.txt.) This node is pure plumbing - no model weights, and no dependency on BMAB's optional comfyui_controlnet_aux or ComfyUI_IPAdapter_plus companion packs.

Common issues

  • Extracting a piece the bind hasn't actually populated yet. If you call this node too early in your chain - before a sampling step has produced a latent, say - the corresponding output won't have anything meaningful in it. Place this node after the BMAB steps that actually produce what you need.
  • Expecting this node to do any processing. It doesn't transform anything - it's strictly an unpacking step. If your output doesn't look right, the issue is almost certainly upstream, in whatever BMAB node built the bind in the first place.
  • Not realizing you need this at all. If your entire workflow stays inside BMAB's own nodes end to end, you may never need to extract anything - this node earns its place specifically at the boundary between BMAB's bind-based pipeline and standard ComfyUI nodes.
CategoryBMAB/sampler

Inputs (1)

NameTypeDefaultDescription
bindBMAB bind

Outputs (8)

NameTypeDescription
modelMODEL
clipCLIP
positiveCONDITIONING
negativeCONDITIONING
vaeVAE
latentLATENT
imageIMAGE
seedSEED