ComfyUI Node

Concatenate

Glue up to five text blocks into one prompt string

By jjkramhoeft·Created 3 years ago·Updated 2 years ago· 46
Concatenate
    • text
    delimmitor
    text1
    text2
    text3
    text4
    text5

    If you've ever built a prompt out of reusable pieces - a subject description, a lighting phrase, a style suffix you paste into every generation - you already know the annoying part isn't writing the pieces, it's stitching them back together into one string CLIPTextEncode can actually take. That's the entire job of this node: up to five text inputs go in, one delimiter-joined string comes out.

    How it works

    Five optional string slots (text1 through text5) get joined in order using whichever delimiter you pick, and the result comes out as a single STRING. Feed it directly, or - more usefully - wire each slot from its own Jjk Text node so every block has a clear label in your graph instead of one wall of text. This is the workflow the pack is clearly built around: Jjk Text nodes for the pieces, Jjk Concat to assemble them, and optionally Jjk Show Text downstream to sanity-check what actually came out before it hits your sampler.

    Since all five text slots are optional, you don't have to fill every one - leave the ones you're not using disconnected. One thing worth actually checking rather than assuming: if you're using the comma or space delimiter and one of your slots is empty, look at the joined result before you trust it. Concatenation nodes in general are prone to leaving a stray leading or trailing delimiter when a slot is blank, and there's no way to tell from the graph alone whether this one strips those or not - a quick look through Jjk Show Text settles it in five seconds.

    Inputs and outputs

    • delimmitor (required, note the pack's own spelling) - none, space, or comma. Determines what gets inserted between each non-empty text block.
    • text1 through text5 (all optional) - the pieces you're joining, in order. Any combination can be left unconnected.

    Output is a single text (STRING) - the joined result. Wire it into CLIPTextEncode's text field like any other prompt string, or chain it further if you're building something more elaborate.

    Installing it

    ComfyUI Manager: search ComfyUI-Jjk-Nodes, install, restart. By hand:

    cd ComfyUI/custom_nodes
    git clone https://github.com/jjkramhoeft/ComfyUI-Jjk-Nodes
    

    Restart ComfyUI. No models, no extra Python packages - this is a small, self-contained pack (four nodes total, per the author's own "minimal code" framing in the README), so install friction should be close to zero.

    Where people get tripped up

    Two things worth knowing going in. First, the delimiter is global - it applies between every pair of blocks, not selectively, so if you want a comma between some pieces and nothing between others, you'll need to bake that punctuation into the individual Jjk Text blocks instead of relying on the delimiter alone. Second, this pack has essentially no public discussion or issue history to lean on - it's a small personal utility pack, not something with an active community thread - so if the joined output looks wrong, your fastest path to an answer is wiring in a Jjk Show Text node and looking at the actual string yourself rather than searching for someone else's report of the same problem.

    Categoryjjk

    Inputs (6)

    NameTypeDefaultDescription
    delimmitorCOMBO3 options: none, space, comma
    text1optSTRING
    text2optSTRING
    text3optSTRING
    text4optSTRING
    text5optSTRING

    Outputs (1)

    NameTypeDescription
    textSTRING