Nodes/ComfyUI_Inteliweb_nodes/Prompt List (Inteliweb)
ComfyUI Node

Prompt List (Inteliweb)

Five prompts, one node, and a queue that runs each of them

By maoper11·Created about a year ago·Updated 9 days ago· 4
Prompt List (Inteliweb)
  • optional_prompt_list
  • PROMPT_LIST
  • PROMPT_STRINGS
prompt_1
prompt_2
prompt_3
prompt_4
prompt_5

Batch generation is the thing that turns ComfyUI from a toy into a tool, and Prompt List is the smallest honest version of it: five multiline prompt fields in one node, empty ones ignored, and two different ways to get the results out. The trick is understanding which output to wire where, because the two outputs behave differently on purpose.

How it works

Fill in prompt_1 through prompt_5, leave the blanks blank, and the node collects the non-empty ones into a list. That part is boring in the best way - the build_prompt_list() method just strips empties and returns the same list twice. The difference is in how ComfyUI treats each output. PROMPT_LIST is a single LIST value: one object, handed to nodes that explicitly accept a LIST input. PROMPT_STRINGS is declared as a list-enabled STRING output, which is ComfyUI's mechanism for fanning out execution - connect it to a converted-to-socket prompt input downstream and the queue runs your whole graph once per prompt, each iteration feeding a different string in.

Inputs and outputs.

  • prompt_1prompt_5 - multiline STRING fields.
  • optional_prompt_list - an optional LIST that gets prepended before your five fields, so you can chain lists from another source.
  • Outputs: PROMPT_LIST (LIST) and PROMPT_STRINGS (list-enabled STRING).

For a beginner the practical setup is: convert a CLIP Text Encode prompt widget to an input, wire PROMPT_STRINGS into it, hit queue, and ComfyUI walks through all five prompts automatically. That's the pattern that makes "generate variations of this scene description" a one-click thing.

Installing it

It's in the Inteliweb pack:

cd ComfyUI/custom_nodes
git clone https://github.com/maoper11/comfyui_inteliweb_nodes.git
cd comfyui_inteliweb_nodes
python -m pip install -r requirements.txt

ComfyUI Manager: "ComfyUI_Inteliweb_nodes". Only psutil and nvidia-ml-py, no model downloads, restart.

Where people get confused

The most common mistake is treating PROMPT_LIST as the batch output. It isn't - it's a single LIST value, and downstream nodes that don't expect a LIST will choke on it. If you want per-prompt execution, use PROMPT_STRINGS; that's the list-enabled socket. Second, empty prompts are stripped by checking for non-whitespace text, so a field with only spaces counts as empty and gets skipped - which is convenient unless you genuinely wanted to send a blank prompt. And note the optional_prompt_list input prepends rather than replaces, so you can stack sources. It's a tiny node, but for "run these five prompts and compare" it's the least machinery I've found to do the job.

CategoryInteliweb/Text

Inputs (6)

NameTypeDefaultDescription
prompt_1STRING
prompt_2STRING
prompt_3STRING
prompt_4STRING
prompt_5STRING
optional_prompt_listoptLISTOptional existing prompt list to prepend before the five prompt fields.

Outputs (2)

NameTypeDescription
PROMPT_LISTLISTThe prompts packaged as one LIST value for nodes that explicitly accept a LIST.
PROMPT_STRINGSSTRINGThe prompts exposed as a STRING sequence so downstream nodes execute once per prompt.