FD Text Concat
Glue two strings together — and hand you both orders at once
- A_plus_b
- B_plus_A
Feidorian_TextConcat (FD Text Concat) joins two strings with a separator you choose, and - the useful quirk - hands you the result in both orders at once. Feed it text_A and text_B, and the outputs are A_plus_b ("A, B") and B_plus_A ("B, A"). One node, both permutations, you pick which direction you actually wanted on the way out.
How it works. The separator is an input called delimeter (yes, that's the author's spelling - it's a typo for "delimiter", but it's the real parameter name, so type it exactly that way in any automation). Default is ", ", a comma and a space, which is the right default for prompts. It also handles the lopsided case gracefully: if one side is empty, both outputs return the non-empty string, so you don't end up with a stray ", " leading or trailing your prompt.
The implementation is otherwise dead simple - plain string formatting, no trimming, no processing of the parts. What you put in is what gets glued.
Inputs and output. text_A and text_B (both multiline STRING, default empty), delimeter (STRING, default ", "). Two outputs: A_plus_b and B_plus_A, both STRING. Because both orders come out, you can wire A_plus_b to one prompt and B_plus_A to a negative prompt or a variant run - style tokens first vs subject first - without a second node.
Why you'd reach for it. Prompt assembly. Keep a base style string ("masterpiece, best quality, detailed") in one side, a subject in the other, and join them with a literal node feeding the input - or chain it with FD Text Literal for a build-a-prompt pipeline. It's also handy for constructing filenames or metadata strings, since the outputs are plain STRING that any text-consuming node accepts.
The honest take. For prompt work it's genuinely fine, and the dual-order output is a small bit of cleverness you don't usually get. The flaws are cosmetic but real: the delimeter typo makes the node's API feel unpolished, and if you're building anything more complex than two-part joins, you'll outgrow it fast - a proper concat node with N inputs (or just careful use of core ComfyUI text handling) is more flexible. The empty-side handling also means you can't intentionally produce a trailing separator; if that's your use case, you'll be surprised.
Also note the pack is archived, so the typo is permanent. It's the kind of thing you shrug at and move on.
Install. ComfyUI Manager (search "feidorian-ComfyNodes"), or:
cd ComfyUI/custom_nodes
git clone https://github.com/Feidorian/feidorian-ComfyNodes
Restart ComfyUI. No dependencies, no models - pure Python, clean install, and you'll find it under the "FD" prefix.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| text_A | STRING | — | |
| text_B | STRING | — | |
| delimeter | STRING | , | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| A_plus_b | STRING | — |
| B_plus_A | STRING | — |