comfyui-bulker
A ComfyUI extension.
Bulker
<p align="center"> <img src="./assets/readme/bulker-icon.png" alt="Bulker icon" width="160"> </p> <p align="center"> <img src="./assets/readme/bulker-demo.gif" alt="Bulker demo" width="900"> </p>Bulker is a frontend-first workflow variant queue builder for ComfyUI.
It adds a Bulker button to the ComfyUI top bar so you can select existing node inputs, assign multiple values, preview the Cartesian product, and queue one prompt per combination without cloning your workflow into a mess of near-duplicates.
Highlights
- Build variant batches from the workflow you already have open
- Target real widget-backed node inputs instead of duplicating graphs
- Mix multiple modifiers to generate full Cartesian combinations
- Searchable node and input pickers
- Fast combo-value selection plus manual text/number/boolean entry
- Live preview, live job count, and queue progress tracking
- Draggable, resizable modal with local persistence via
localStorage - Minimal Python footprint, plain JS frontend, no bundler
Installation
ComfyUI-Manager
After Bulker is published to the Comfy Registry, install it from ComfyUI-Manager by searching for Bulker.
Manual install
cd ComfyUI/custom_nodes
git clone https://github.com/<your-account>/comfyui-bulker.git comfyui-bulker
Restart ComfyUI after installation.
Quick Start
- Open a workflow in ComfyUI.
- Click
Bulkerin the top bar. - Add one or more modifiers.
- For each modifier, choose a node and a supported input.
- Add multiple values.
- Check the preview and total job count.
- Click
Startto queue all combinations.
Supported Inputs
Bulker currently targets widget-backed inputs that can be safely inspected and mutated from the frontend.
| Input type | Supported | | --- | --- | | Combo / select | Yes | | Text / string | Yes | | Number | Yes | | Boolean / toggle | Yes |
Why It Exists
ComfyUI makes it easy to build workflows, but exploring many prompt or parameter variants often means duplicating nodes, maintaining alternate branches, or manually re-queueing changes. Bulker keeps the workflow single-source and turns value exploration into a queue-building step instead.
How It Works
Bulker reads the active graph from the frontend, inspects editable widget-backed inputs, exports the current workflow with app.graphToPrompt(), mutates selected values for each combination, and submits the resulting prompts sequentially to the ComfyUI queue.
Usage Notes
- Combo inputs use searchable available and selected lists
- Manual inputs support one-by-one entry and paste-many mode
- Blank lines in paste-many mode are ignored
- Job count is the Cartesian product of all valid modifiers
Stoponly stops future Bulker submissions; it does not cancel already accepted ComfyUI jobs- Large value sets can produce very large queue counts, so batch carefully
Project Structure
__init__.pyexposesWEB_DIRECTORY = "./js"js/bulker.jsregisters the extension and renders the UIjs/graph.jsdiscovers nodes and supported widgetsjs/values.jsparses and normalizes entered valuesjs/combinations.jsbuilds combinations and preview summariesjs/queue.jsmutates exported prompts and queues jobs sequentiallyjs/state.jsandjs/persistence.jsmanage UI state andlocalStoragejs/bulker.csscontains the dialog styling
Scope
Bulker is intentionally lightweight.
- No custom backend execution nodes
- No external UI framework
- No bundler step
- No remote service or cloud dependency
Known Limitations
- Only inputs that are detectable as editable widgets in the active graph are shown
- The current batching model is Cartesian product only
- State is stored locally in the browser, not in workflow metadata
- Extremely large combinations can create long queue runs
Roadmap
- Preset save/load
- Import/export config
- Alternate batching modes beyond Cartesian product
- Better preview ergonomics for large runs
- Example workflows for common use cases
Development
Bulker is a plain JavaScript ComfyUI frontend extension with a minimal Python entrypoint.
cd ComfyUI/custom_nodes/comfyui-bulker
Edit files in js/, refresh or restart ComfyUI, and test from the Bulker topbar button.
Credits
- ComfyUI for the core application and extension APIs