BMAB ControlNet IPAdapter
The node that tells you what's missing
- BMAB bind
- annotation
If you land on this node and the only thing it seems to do is show you a wall of text, that's not a bug - it's the point. This is BMAB's fallback stub, and it means exactly what it says: you're missing a dependency.
What it is
BMAB ControlNet IPAdapter is BMAB's IP-Adapter integration node - the piece that lets you condition generation on the appearance of a reference image (style, identity, general look) rather than its spatial structure, which is what regular ControlNet does. IP-Adapter and ControlNet are complementary rather than competing techniques: ControlNet decides where things go, IP-Adapter decides what they look like, and stacking both was one of the strongest workflows during the SD1.5/SDXL era.
But BMAB doesn't bundle IP-Adapter's implementation itself - it depends on cubiq's ComfyUI_IPAdapter_plus, a separate, widely-used node pack. If that dependency isn't installed, this node loads as a stub that outputs a fixed warning string instead of doing anything useful: "Cannot Load ComfyUI_IPAdapter_plus. To use this node, install ComfyUI_IPAdapter_plus." That text is literally the node's default required input in this state - it's not a bug report, it's the node telling you the fix.
The dependency, and what you're actually getting
ComfyUI_IPAdapter_plus is the de facto reference implementation of IP-Adapter for ComfyUI, and it's worth knowing its current status before you lean on it: the maintainer has put the repository into "maintenance only" mode, and it covers SD1.5, SDXL, and Kolors - there's no Flux-era IP-Adapter in this implementation, because Tencent never shipped official Flux weights and this pack never added third-party ones. If your base model is SD1.5 or SDXL, you're in the pack's sweet spot. If you're on Flux, Z-Image, or anything newer, IP-Adapter in this form won't load at all - you'd want a Flux-era alternative like PuLID or an in-context editing model instead, outside of BMAB entirely.
One more thing worth flagging if you go looking for the FaceID variants specifically: those swap IP-Adapter's CLIP-based image encoding for an InsightFace face-recognition embedding, and InsightFace's weights are licensed for non-commercial research use only - that restriction carries through to anything built on it. The plain CLIP-based IP-Adapter variants (base, Plus, Plus Face) stay Apache 2.0 and don't have that problem.
Inputs and outputs
In its unmet-dependency state, the node exposes one required field: text (multiline string), which defaults to the warning message above. Once ComfyUI_IPAdapter_plus is actually installed and BMAB detects it, the node's real inputs and behavior take over - but that's not what the info schema captures here, since it reflects the stub state.
Outputs are a BMAB bind and an annotation image - the bind carries the (non-functional, in the stub state) result forward, and the annotation output is where you'd expect to see a preview of the IP-Adapter's effect once the dependency is actually satisfied.
Installing it
First, BMAB itself, if you haven't already:
cd ComfyUI/custom_nodes
git clone https://github.com/portu-sim/comfyui_bmab.git
cd comfyui_bmab
pip install -r requirements.txt
Then the actual dependency this node needs:
cd ComfyUI/custom_nodes
git clone https://github.com/cubiq/ComfyUI_IPAdapter_plus.git
cd ComfyUI_IPAdapter_plus
pip install -r requirements.txt
(Windows portable users: swap pip install for python_embeded\python.exe -m pip install in both steps.) Restart ComfyUI after both are in place. You'll also need the actual IP-Adapter model weights downloaded into the location ComfyUI_IPAdapter_plus expects - that pack's own README is the place to check exact file locations, since BMAB doesn't manage those downloads itself.
Common issues
- Still seeing the warning text after installing. Double-check you restarted ComfyUI completely (not just refreshed the browser) - custom node packs are only picked up on startup.
- Installed but no models load.
ComfyUI_IPAdapter_plusneeds its own model files downloaded separately from this node's install - having the node pack present isn't the same as having weights in place. - Trying this on a Flux or newer base model. Even fully installed, this dependency chain tops out at SD1.5, SDXL, and Kolors. If you're on a newer architecture, this specific node isn't the path - you're looking at something outside BMAB entirely.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | Cannot Load ComfyUI_IPAdapter_plus. To use this node, install ComfyUI_IPAdapter_plus | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| BMAB bind | BMAB bind | — |
| annotation | IMAGE | — |