BMAB Dummy
A pass-through node that exists to actually execute
- images
- images
This is the odd one out in the pack - a node that doesn't transform your image at all. Understanding why it exists comes down to one detail in its schema: it's marked as an output node, which is a meaningfully different thing in ComfyUI than it might sound.
What it is and why you'd reach for it
BMAB Dummy takes an image and a seed, and returns the image unchanged. On its own that sounds pointless. What makes it worth having is that ComfyUI only executes nodes whose output actually gets consumed somewhere, or that are explicitly flagged as output nodes - and this one is flagged as an output node. That means ComfyUI will run it (and anything it needs upstream) even if nothing downstream is wired to consume its result.
In practice, that makes it a useful tool for isolating and testing part of a larger graph. If you want to force a specific branch of your workflow to actually execute - to check an intermediate result, debug why a section isn't producing what you expect, or just run a subgraph in isolation without building out the rest of the pipeline - wiring its output into a BMAB Dummy node guarantees ComfyUI treats it as something that needs to run, rather than silently skipping a dead-end branch.
The seed input is the other half of the trick: ComfyUI caches node results based on their inputs, so an otherwise-identical node run twice in a row won't re-execute. Attaching a seed value gives you an easy way to force re-execution on demand - change the seed, and the cached result is no longer valid, so the node (and whatever feeds into it) runs again.
How it works
There's no real transformation happening - it's a pass-through. The images you feed in come out unchanged. What matters is the fact of execution, not any processing it does along the way.
Inputs and outputs
- images (required, IMAGE) - the image(s) to pass through.
- seed (required, default 0) - a value you can change to force re-execution, since it participates in ComfyUI's node-caching decision.
Output: images, identical to the input. It's also flagged as an output node, which is the entire reason it's useful.
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.) No extra dependencies, no model weights - this is as lightweight as BMAB nodes get.
Common issues
There's not much that goes wrong here mechanically, since it doesn't do any real processing. The confusion tends to be conceptual:
- Expecting it to do something to the image. It doesn't - if you're looking for an effect or transformation, this isn't that node. Its value is purely about forcing execution, not altering output.
- Not understanding why a graph "does nothing" without it. If you've built a subgraph whose output isn't wired to a Save Image or any other consuming node, ComfyUI may not run it at all - that's the exact situation this node is built to solve. Wire the branch you want to force into a BMAB Dummy node instead of leaving it dangling.
- Forgetting to change the seed when you actually wanted a re-run. If you're using this node to force re-execution for debugging and nothing seems to be re-running, check that you've actually changed the seed value - an unchanged seed means ComfyUI still sees identical inputs and may serve a cached result.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| seed | INT | 00–18446744073709550000 | The random seed used for creating the noise. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |