Nodes/comfyui-nodes/NS Prompt List
ComfyUI Node

NS Prompt List

One Node, Up to 50 Prompt Boxes, One Comma-Joined String

By symbiotica-ai·Created 6 months ago·Updated about 12 hours ago· 3
NS Prompt List
    • text
    ◄inputcount5►
    ◄prompt_1►
    ◄prompt_2►
    ◄prompt_3►
    ◄prompt_4►
    ◄prompt_5►
    ◄prompt_6►
    ◄prompt_7►
    ◄prompt_8►
    ◄prompt_9►
    ◄prompt_10►
    ◄prompt_11►
    ◄prompt_12►
    ◄prompt_13►
    ◄prompt_14►
    ◄prompt_15►
    ◄prompt_16►
    ◄prompt_17►
    ◄prompt_18►
    ◄prompt_19►
    ◄prompt_20►
    ◄prompt_21►
    ◄prompt_22►
    ◄prompt_23►
    ◄prompt_24►
    ◄prompt_25►
    ◄prompt_26►
    ◄prompt_27►
    ◄prompt_28►
    ◄prompt_29►
    ◄prompt_30►
    ◄prompt_31►
    ◄prompt_32►
    ◄prompt_33►
    ◄prompt_34►
    ◄prompt_35►
    ◄prompt_36►
    ◄prompt_37►
    ◄prompt_38►
    ◄prompt_39►
    ◄prompt_40►
    ◄prompt_41►
    ◄prompt_42►
    ◄prompt_43►
    ◄prompt_44►
    ◄prompt_45►
    ◄prompt_46►
    ◄prompt_47►
    ◄prompt_48►
    ◄prompt_49►
    ◄prompt_50►

    NS Prompt List is a boring node and proud of it. You get a configurable number of text boxes (2 to 50), and it joins whatever's in them into a single comma-separated string. That's the whole job. Boring plumbing nodes are the ones that actually make workflows readable - this is the "one source, many consumers" pattern from the utility layer, applied to prompt text.

    Why does that exist? Because ComfyUI's default prompt setup means editing a prompt means hunting through the graph. If you keep your prompt as separate labeled parts - subject, style, lighting, negative-ish concerns - each in its own box, you can change "lighting" without touching the rest, and every downstream consumer (CLIP Text Encode, an LLM prompt builder, whatever) reads the same assembled string from one place. It's the prompt equivalent of a primitive node: one authoritative value, fanned out.

    How it works

    Set inputcount (2–50) and only that many boxes appear - no more scrolling past 48 blank fields. Fill the boxes, and the node joins them with commas into one STRING output. It's a join, not a batch: the output is a single string, so it doesn't fan out a workflow the way list-emitting nodes do. That's the sibling NS Structured Prompt List's job.

    Comma-joining has a real benefit for the 2026 model landscape: most LLM-encoded bases (Qwen, Z-Image, the Flux family) want natural-language instructions, and a comma-separated list is the classic compact form that still reads fine through those encoders. Just don't expect (word:1.3) weighting syntax to survive - on modern encoders that's discarded as literal punctuation anyway, so plain text in the boxes is the right call.

    Inputs and output

    Required: inputcount and prompt_1 through prompt_50 (only the first inputcount are visible/used). Output: a single text STRING.

    A typical shape: prompt_1 = "studio product photo of a matte black espresso machine", prompt_2 = "soft window light", prompt_3 = "minimal marble countertop". Result: one comma-joined string you can wire to your CLIP encoder.

    Install and setup

    Part of the Symbiotica pack (symbiotica-ai/comfyui-nodes). ComfyUI Manager → search "Symbiotica", or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/symbiotica-ai/comfyui-nodes.git symbiotica
    pip install -r symbiotica/requirements.txt
    

    Restart. No keys, no models, no ffmpeg - this is pure graph glue.

    Troubleshooting

    • Only the first few boxes show - that's inputcount doing its job. Bump it and the rest appear.
    • The prompt has stray commas at the end - empty boxes join as empty strings, so "subject, style," with a trailing comma is normal if you leave the last box blank. Fill or trim; it's cosmetic to most encoders but can confuse an LLM downstream.
    • Nothing comes out - check you wired the text output somewhere and aren't expecting the node to save anything; it's a value node, not an output node.
    • You want a batch, not a string - this isn't it. Reach for NS Structured Prompt List (JSON in, list out) or the pack's Load Text List for multi-prompt iteration.
    Categoryneuralsins/Utils

    Inputs (51)

    NameTypeDefaultDescription
    inputcountINT52–50—
    prompt_1STRING—
    prompt_2STRING—
    prompt_3STRING—
    prompt_4STRING—
    prompt_5STRING—
    prompt_6STRING—
    prompt_7STRING—
    prompt_8STRING—
    prompt_9STRING—
    prompt_10STRING—
    prompt_11STRING—
    prompt_12STRING—
    prompt_13STRING—
    prompt_14STRING—
    prompt_15STRING—
    prompt_16STRING—
    prompt_17STRING—
    prompt_18STRING—
    prompt_19STRING—
    prompt_20STRING—
    prompt_21STRING—
    prompt_22STRING—
    prompt_23STRING—
    prompt_24STRING—
    prompt_25STRING—
    prompt_26STRING—
    prompt_27STRING—
    prompt_28STRING—
    prompt_29STRING—
    prompt_30STRING—
    prompt_31STRING—
    prompt_32STRING—
    prompt_33STRING—
    prompt_34STRING—
    prompt_35STRING—
    prompt_36STRING—
    prompt_37STRING—
    prompt_38STRING—
    prompt_39STRING—
    prompt_40STRING—
    prompt_41STRING—
    prompt_42STRING—
    prompt_43STRING—
    prompt_44STRING—
    prompt_45STRING—
    prompt_46STRING—
    prompt_47STRING—
    prompt_48STRING—
    prompt_49STRING—
    prompt_50STRING—

    Outputs (1)

    NameTypeDescription
    textSTRING—