Nodes/ComfyUI-WildPromptor/Prompt Concat 🔀
ComfyUI Node

Prompt Concat 🔀

Prompt Concat (WildPromptor) — merge prompt fragments into one string

By 1038lab·Created 2 years ago·Updated 9 months ago· 97
Prompt Concat 🔀
    • prompt
    prefix
    subject
    environment
    virtual
    styles
    illustrious
    suffix
    separatorcomma
    remove_duplicatesfalse
    sortfalse

    This is the glue node of the pack - the one that takes all those separate keyword fragments and welds them into a single prompt. If you're using the Subject, Environment, Virtual, and Styles list nodes, this is where their outputs come together. It's honestly the node you'll keep even if you drop the rest of the pack.

    Prompt Concat ships in WildPromptor by 1038lab (also the author of ComfyUI-RMBG).

    How it works

    It's a string joiner with named slots. You hand it text on any of its inputs and it concatenates them, in order, separated by whatever separator you choose. The slots are deliberately named to match the pack's list nodes, so the mental model is: one fragment per aspect of the image, all merged at the end.

    The clever bit is that the slots are just labels - nothing forces you to put "subject" text in the subject slot. It's a seven-input concatenator with sensible names.

    The inputs and outputs

    The text slots (all optional, all multiline) are prefix, subject, environment, virtual, styles, illustrious, and suffix. Fill the ones you need, leave the rest empty. Empty slots contribute nothing.

    Three controls shape the join:

    • separator - comma, space, or newline (comma is the default and what most SDXL-lineage prompts want)
    • remove_duplicates - drops repeated tokens, handy when two fragments both throw in "detailed"
    • sort - alphabetizes the result (rarely what you want, but it's there)

    The output is prompt, a single STRING (not a list). That goes straight into a CLIP Text Encode.

    The typical wiring: prefix holds your quality tags or fixed opener, the middle slots take the outputs of the Subject / Environment / Virtual / Styles list nodes, and suffix holds a closing phrase. Concat merges them and you have a full, structured prompt with no manual typing.

    A practical note on structure

    Structuring a prompt in blocks - subject, then setting, then camera and lighting - isn't just tidiness. On modern LLM-encoded models it genuinely helps, because the encoder reads your prompt as a structured instruction rather than a token bag. So the prefix→subject→environment→virtual→styles→suffix ordering this node encourages is a reasonable default. Just don't confuse "structured" with "long": each fragment should be a few strong concepts, not a paragraph.

    The separator choice matters more than it looks. Comma is right for tag-based models. If you're feeding a natural-language model and your fragments are sentence-like, newline or space may read more cleanly than jamming everything with commas.

    Installing it

    ComfyUI Manager: search ComfyUI-WildPromptor, install, restart. Or clone:

    cd ComfyUI/custom_nodes
    git clone https://github.com/1038lab/ComfyUI-WildPromptor
    

    and restart. It's under 🧪AILab/🧿WildPromptor. No downloads.

    Common issues

    • Doubled-up tokens in the output - turn on remove_duplicates. Two list nodes both emitting "cinematic lighting" is common.
    • Everything's on one line and hard to read - that's the comma separator. Switch to newline while you debug.
    • A slot didn't show up - check the wire actually carries a string and isn't empty; empty inputs are silently skipped, which is by design but looks like a dropped connection.
    • sort scrambled my prompt - leave it off unless you specifically want alphabetical tokens; word order affects attention, so sorting can weaken your intended emphasis.
    Category🧪AILab/🧿WildPromptor

    Inputs (10)

    NameTypeDefaultDescription
    prefixoptSTRING
    subjectoptSTRING
    environmentoptSTRING
    virtualoptSTRING
    stylesoptSTRING
    illustriousoptSTRING
    suffixoptSTRING
    separatoroptCOMBOcomma3 options: comma, space, newline
    remove_duplicatesoptBOOLEANfalse
    sortoptBOOLEANfalse

    Outputs (1)

    NameTypeDescription
    promptSTRING