ComfyUI Node

Text ++

Assemble prompts from parts without a stack of concat nodes

By drmbt·Created 2 years ago·Updated 7 months ago· 6
Text ++
    • text
    • prepend
    • body
    • append
    prepend
    body
    append
    delimiter

    The most common text operation in ComfyUI isn't generating text, it's assembling it: a quality prefix, a subject, a style suffix, glued together. Text ++ is the pack's take on that job - prepend, body, append, joined by a delimiter you control, in one node. It's the text sibling of Number ++ in the same DRMBT nodes category, and like its sibling it's an output node that displays its result in the UI, so it doubles as a live prompt preview while you build.

    You can get this done with a chain of concat nodes - and if that's working for you, fine. This exists for the 90% of cases where you don't need a chain, you need one box with three labeled fields.

    How it works

    It joins three text fields: prepend, body, and append, separated by delimiter. The defaults are sensible - empty prepend/append, space as the delimiter - so with nothing else touched, the output is just the body text. The subtle bits:

    • The delimiter is escape-processed, so \n in the delimiter field becomes an actual newline. That's the feature that turns a prompt assembler into a multi-line block builder.
    • Empty prepend/append are skipped cleanly - no stray leading/trailing delimiters in your output.
    • body is multiline, which is where the real content goes. The other two are single-line by design, for the tags you're toggling around a block of body text.

    It also re-exposes all three inputs as outputs (prepend, body, append). That's the same routing-hub trick as Number ++: wire this node in the middle of a graph and you can tap the raw parts downstream without adding passthrough nodes.

    The inputs that matter

    • prepend - text added before the body (quality tags, style prefixes).
    • body - the main, multiline text.
    • append - text added after the body (style suffixes, seed stamps).
    • delimiter - separator, default a space. \n for newlines, or anything else you want.

    Outputs: text (the assembled result), plus prepend, body, append echoes.

    Installing

    Text ++ is part of the drmbt/comfyui-dreambait-nodes pack. Install the pack via ComfyUI Manager (search comfyui-dreambait-nodes) or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/drmbt/comfyui-dreambait-nodes
    # restart ComfyUI
    

    No models, no extra dependencies.

    Where people get burned

    The most common complaint is the opposite of a bug: people expect prepend and append to be multiline like body, and they're not. That's deliberate - the single-line fields keep the node compact - but if you want to prepend a multi-line block, put it in the body and use a newline delimiter, or chain two nodes. Second gotcha: the delimiter is literal. A delimiter of " " gives you "prepend body append"; a delimiter of ", " gives comma separation; but if you type \n literally, you must make sure it's the two-character backslash-n in the field, because that's what gets unescaped into a newline. And the truth-telling limitation: this is assembly only, no override, no conditional logic - if you need "use this text instead of the body sometimes," that's a switch's job (Switch Duo in the same pack), not this node's. For the everyday "tag + subject + style" build, it's the node you'll actually reach for.

    CategoryDRMBT nodes

    Inputs (4)

    NameTypeDefaultDescription
    prependSTRINGprepend this text to the body parameter separated by the delimiter
    bodySTRING
    appendSTRINGappend this text to the body parameter separated by the delimiter
    delimiterSTRING split the text fields by this delimiter

    Outputs (4)

    NameTypeDescription
    textSTRING
    prependSTRING
    bodySTRING
    appendSTRING