Nodes/DarkPrompts/Dark Combiner
ComfyUI Node

Dark Combiner

Seven strings, one delimiter, one output — the combiner the author admits is legacy

By darkpixel·Created 3 years ago·Updated about a year ago· 11
Dark Combiner
    • STRING
    delimiter
    text_a
    text_b
    text_c
    text_d
    text_e
    text_f
    text_g

    DarkCombine takes up to seven text inputs and joins them into one string with a delimiter of your choosing, \n by default. It's a prompt assembly node: wire several sources into text_a through text_g, and out comes one combined string you can feed to a CLIP Text Encode. If you're building a prompt out of multiple generated pieces - a subject from one node, lighting from another, a camera style from a third - this is the join point.

    But here's the honest framing you should know before you build around it: the author says it isn't really needed anymore. The README is blunt - "It isn't really needed anymore since DarkPrompt supports combining from previous DarkPrompt nodes." So this node is a holdover from the pack's earlier design, kept around for compatibility and for the one job it's still cleanly the right tool for.

    How it works

    Every non-empty input gets appended in order (text_a, text_b, ...) with the delimiter string between them, and empty inputs are skipped entirely - so you can leave half the sockets unplugged and get a clean result instead of a prompt full of blank lines. A delimiter of literal \n becomes a real newline. The inputs are forceInput, meaning they're sockets you wire things into rather than typing into boxes.

    The reason it's mostly superseded: DarkPrompt's combine_with input does the same joining as part of the randomization. So if every piece of your prompt is coming from DarkPrompt nodes, chaining them saves you the middleman node entirely. Where DarkCombine still earns its keep is mixing a DarkPrompt output with a static string, or combining outputs that aren't DarkPrompts - any text sources, say two captioning or list nodes. For that, seven inputs plus a delimiter is genuinely handy.

    The inputs

    • text_atext_g (STRING sockets) - up to seven sources; unused ones are ignored.
    • delimiter (STRING, default \n) - what goes between the joined pieces. A comma-space for tag-style prompts, \n for multi-line conditioning blocks.

    Output: a single STRING with everything joined.

    Install

    Same pack, same drill:

    cd ComfyUI/custom_nodes
    git clone https://github.com/darkpixel/darkprompts.git
    

    Then restart ComfyUI. Or Manager → "DarkPrompts". No dependencies, no models.

    One gotcha if you ever hit it: if you type a delimiter and the join looks wrong, check whether you passed a literal backslash-n (\\n) instead of an actual newline - the code translates \\n to a newline but a stray \n in some JSON-exported workflows won't survive. When in doubt, paste the output into a Show Text node and look at what's actually between the sections.

    CategoryDarkPrompt

    Inputs (8)

    NameTypeDefaultDescription
    delimiteroptSTRING
    text_aoptSTRING
    text_boptSTRING
    text_coptSTRING
    text_doptSTRING
    text_eoptSTRING
    text_foptSTRING
    text_goptSTRING

    Outputs (1)

    NameTypeDescription
    STRINGSTRING