ComfyUI Node

Prompt Image Picker

The human review stop your prompt tests were missing

By flows-and-frames·Created 7 months ago·Updated 3 days ago· 0
Prompt Image Picker
  • images
  • Chosen Prompt
  • Images
  • Indexes
positive_prompts
negative_prompts
timeout600
on_timeoutKeep all
display_modeOpen picker

The ComfyUI Orchestration Toolkit lets you test a whole list of prompts in one run, and that's great until you have ten images sitting in front of you and the workflow has no idea which ones you actually liked. Prompt Image Picker is the designed answer: a node that stops the run, opens a gallery in your browser, and waits while you look at the candidates, keep the winners, and hand only those onward. It's a human checkpoint dropped into the middle of an automated pipeline - ComfyUI does this kind of interactive stop awkwardly on its own, so this node exists to make it a first-class citizen.

Its natural slot is right after the pack's Prompt Collector: the collector gathers images plus their matching prompt lists in slot order, and the picker is where you review that batch. It also works standalone with any three matching lists, which is handy if you have your own prompt-testing setup.

How it works

When execution reaches the node, it pauses the run and sends an event to the ComfyUI frontend. A gallery opens with a thumbnail per candidate; you can zoom and pan, click to select, and even edit each prompt inline before confirming. The originals are never touched - the previews it shows are copies the node saves to a temp folder, and what it returns are the original image tensors unchanged.

Then it waits. The node literally blocks execution in a poll loop until you confirm, cancel, or the timeout runs out. That's why it can't run headless: it requires the initiating browser client to be connected, so if you fire the workflow purely from the API with no frontend session, it errors out with a clear message rather than hanging forever.

A detail worth knowing: if you selected prompts that have negatives, the output is reformatted back into the P1=...;N1=... line pairs that a PromptOrchestrator set to "Positive + Negative" mode reads. So the text you pick round-trips straight into the orchestrator's editor - paste it back or (the intended path) hand it to the pack's Save String for Orchestrator to bank it as a curated prompt.

The inputs and outputs that matter

Three lists come in - images, positive_prompts, negative_prompts - and they must all have the same item count, between 1 and 10. Feed the three list outputs of a Prompt Collector and you're aligned. The other inputs you set once:

  • timeout (INT, default 600 seconds, up to a day) - how long the run waits before giving up.
  • on_timeout - Keep all (keep every image, with your latest edits) or Cancel (abort the run).
  • display_mode - Open picker (the full gallery) or Compact notification (a leaner prompt instead).

Outputs are Chosen Prompt (the selected prompts, newline-joined), Images (the selected tensors, in ascending selection order), and Indexes (a comma string of which positions you chose - 0,2 means the first and third candidates).

Common issues

The three equal-length lists requirement is the fastest way to get a hard error - the usual cause is feeding it a list of images but single (non-list) prompt strings, so keep everything coming out of list outputs. Batch images must be one image each. And remember the node blocks the whole graph while you deliberate; a long prompt-test run with the default ten-minute timeout that nobody's watching will just sit there until the timeout decides. If you want it to fail closed instead, switch on_timeout to Cancel.

Installation

One install gets the whole pack. In ComfyUI Manager search "Orchestration Toolkit" (publisher flows-and-frames), or:

cd ComfyUI/custom_nodes
git clone https://github.com/flows-and-frames/ComfyUI-Orchestration-Toolkit.git

Restart ComfyUI. No model downloads, no pip extras, Python 3.10+. This is early software - the pack's first public release was September 2026, so there's no accumulated reddit lore about its failure modes yet. What's here is read from the source: it's carefully built, but treat it as fresh, and check the GitHub issues tab if a behavior surprises you.

Categoryprompt_orchestration

Inputs (6)

NameTypeDefaultDescription
imagesIMAGE
positive_promptsSTRING
negative_promptsSTRING
timeoutINT6001–86400
on_timeoutCOMBOKeep all2 options: Keep all, Cancel
display_modeCOMBOOpen picker2 options: Open picker, Compact notification

Outputs (3)

NameTypeDescription
Chosen PromptSTRING
ImagesIMAGE
IndexesSTRING