Prompt Collector
Pull your parallel test branches back into one ordered stack
- prompt_manifest
- image_1
- image_2
- image_3
- image_4
- image_5
- image_6
- image_7
- image_8
- image_9
- image_10
- Images
- Positive Prompts
- Negative Prompts
- Prompt Count
- Active Slots
Every parallel system needs the moment where the lanes merge back into one road, and in the ComfyUI Orchestration Toolkit that moment is Prompt Collector. It sits at the far end of the pack's prompt-testing pipeline: a PromptOrchestrator holds your prompt list, a Prompt Distributor fans those prompts out to up to ten branches, each branch's Prompt Slot Picker renders one of them, and Collector is where the resulting images come back together - still matched to the prompt that made them, in the order you listed them.
Without it, the whole fan-out architecture would dead-end. You'd have ten images scattered across ten branches and no clean way to say "give me all of them, with their prompts attached, in list order."
How it works
Collector's inputs are a required prompt_manifest (the same routing-table object the Distributor emitted and every Slot Picker read) plus ten lazy optional image inputs, image_1 through image_10. Lazy is doing real work here: the node doesn't demand all ten images up front. It checks the manifest to see which slots are active, then asks ComfyUI to execute only the upstream branches for those slots. Empty branches - ones whose slot was never populated - aren't even pulled, so you don't waste time on work that was always going to be skipped.
Then it collects in slot order. Each active slot must contribute exactly one image (a single-image batch, dimensions preserved as-is), and it must be connected - if an active slot has no image, the run errors out rather than quietly returning a partial result. The author clearly prefers loud failures over silent missing rows, and for prompt-to-image bookkeeping that's the right call.
The outputs and what they wire into
- Images (list) - the collected images in slot order.
- Positive Prompts / Negative Prompts (lists) - the prompt for each image, pulled from the manifest so they line up index-for-index with Images.
- Prompt Count (INT) - how many images made it in.
- Active Slots (STRING) - a comma list like
"1,3,5"showing which slots actually produced, which is handy as a provenance note or for a display node.
The natural next hop is the pack's Prompt Image Picker: feed it the Images plus the two prompt lists and you get the human review step - eyeball the batch, keep the winners, and hand the chosen ones onward. That collector-to-picker pairing is the pipeline's designed flow.
Common issues
Most failure modes here are contract violations rather than bugs. Feed a branch output with a batch larger than one (say, a sampler set to output multiple images) and it'll reject it - decode to single images first. Leave an active slot's image_N unconnected and it hard-errors, which again beats silently dropping a result. And don't mix manifests: the Collector must read the same Distributor's manifest as the Slot Pickers feeding it, or the images won't match the prompts it reports. If no slots are active at all, it returns a blocked result with a prompt count of zero and nothing downstream runs - that's the correct "nothing to do" case, not a hang.
Installation
One install for the whole pack, nodes appearing under the prompt_orchestration category. In ComfyUI Manager, search "Orchestration Toolkit" (publisher flows-and-frames) and install, or:
cd ComfyUI/custom_nodes
git clone https://github.com/flows-and-frames/ComfyUI-Orchestration-Toolkit.git
Then restart ComfyUI. No model downloads, no extra pip dependencies beyond Python 3.10+. It's a young pack - first public release September 2026 - so the gotchas above come from reading its source rather than from a long community history of people hitting them; if you find a new edge case, the GitHub issues tab is the place to park it.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt_manifest | ORCHESTRATION_PROMPT_MANIFEST | — | |
| image_1opt | IMAGE | — | |
| image_2opt | IMAGE | — | |
| image_3opt | IMAGE | — | |
| image_4opt | IMAGE | — | |
| image_5opt | IMAGE | — | |
| image_6opt | IMAGE | — | |
| image_7opt | IMAGE | — | |
| image_8opt | IMAGE | — | |
| image_9opt | IMAGE | — | |
| image_10opt | IMAGE | — |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| Images | IMAGE | — |
| Positive Prompts | STRING | — |
| Negative Prompts | STRING | — |
| Prompt Count | INT | — |
| Active Slots | STRING | — |