Nodes/comfyui-oli-prompt-tools/Mega String List (Oli)
ComfyUI Node

Mega String List (Oli)

One list node to collect every prompt string you've got

By magicoli·Created 6 months ago·Updated 5 months ago· 0
Mega String List (Oli)
  • optional_prompt_list
  • prompt_list
  • prompt_strings
  • num_strings
  • string
enabletrue
delimiter,
_disabled_slots

Mega String List (Oli) is the collector node of the Oli pack: it grabs strings from a bunch of places - typed text, node outputs, other lists - and squashes them into one unified list you can feed to a Prompt Line Pick, easy promptList, or any string-join node. It's the answer to "why do I need five string-combiner nodes just to make a prompt list."

The trick is that every row does double duty. A row can hold typed text or accept a connected node output of any type - STRING, LIST, or anything else - and there are no separate input slots to keep straight. Connect a list and it's expanded into its items automatically. Type text and each line is an item (with the delimiter splitting multi-value text). Rows get an on/off toggle, you can drag the ≡ handle to reorder them, and the final list follows the visual order - rarer than it should be in ComfyUI.

What it does with strings

  • Items equal to "none" (case-insensitive) are dropped from everything. That's SDXL Prompt Styler's empty/ignore sentinel, so a styler that emits "none" for an unused field won't poison your list.
  • The delimiter input (default ", ") does two jobs: it splits typed multi-value text into separate items, and it joins everything back together for the string output. Escape sequences like \n and \t are decoded at runtime.
  • optional_prompt_list chains: wire an upstream Prompt Line Pick or another Mega String List and its contents get prepended to your result. Stack as many as you like.

The inputs that matter most

  • enable - on by default. Flip it off and the node becomes pure pass-through: it returns only optional_prompt_list unchanged and ignores every row. That's your "temporarily disable these additions" switch, and you can drive it from a router or boolean node for conditional branching.
  • delimiter - set it before you type multi-value rows; changing it later changes how your typed text splits.

Outputs

prompt_list is a plain LIST for wiring to Prompt Line Pick or easy promptList. prompt_strings is the same items as a STRING output list (easy promptList-compatible). num_strings is just the count - handy if you're driving a loop or a sanity check. string is everything joined by your delimiter as one scalar.

Install & gotchas

cd ComfyUI/custom_nodes
git clone https://github.com/magicoli/comfyui-oli-prompt-tools

…or ComfyUI Manager → Oli Prompt Tools, then restart. No extra dependencies - it's pure Python with a small frontend extension for the rows.

Main thing to remember is pass-through mode: if you've chained a few of these and something's suddenly missing from your list, check whether enable got flipped off upstream - pass-through is exactly designed to silently do nothing but forward. And since string is one joined blob, don't make it your only output if you're feeding a per-item consumer; grab prompt_list instead.

CategoryOli/prompt

Inputs (4)

NameTypeDefaultDescription
optional_prompt_listoptLIST
enableoptBOOLEANtrue
delimiteroptSTRING,
_disabled_slotsoptSTRING

Outputs (4)

NameTypeDescription
prompt_listLIST
prompt_stringsSTRING
num_stringsINT
stringSTRING