Text Concatenate
Glue prompt fragments together with a delimiter
Once you start building prompts out of pieces - a style fragment here, a subject from a wildcard there, a quality tag on the end - you need something to stitch those pieces into one string before it hits your text encoder. That's Text Concatenate. It merges several text inputs into a single output, with a delimiter you choose sitting between them.
It's unglamorous plumbing, and that's exactly why it's everywhere. The node graph is great at splitting logic into small nodes; the moment you do that with text, you need a join. This is the join.
How it works
You feed it a handful of text strings and tell it what to put between them. Common choices are a comma-and-space for prompt tags, a single space for sentence-style prompts, or a newline when you're assembling something multi-line. It walks the inputs in order and glues them together with that separator. Empty inputs generally get skipped rather than leaving you with a dangling , , in the middle, which is the behavior you actually want when some of your fragments are conditional.
One thing to know about WAS text nodes in general: the pack moved its text output type from ASCII to plain STRING back in mid-2023, precisely so it's clear what's flowing down the wire. If you're following an old tutorial that talks about ASCII outputs, that's the same thing under a new, saner name - the config flips use_legacy_ascii_text to false automatically.
Inputs and outputs that matter
The pieces that matter are the text inputs you wire in (or type directly) and the delimiter that separates them. Set the delimiter to , for tag-style prompts and you're 90% of the way to a clean concatenation. The output is a single STRING, which you then run into a CLIP Text Encode - or, if you're staying inside this pack, the Text to Conditioning node.
Where this earns its keep is in combination with the rest of the WAS text toolkit: pull a line from a file with Text Load Line From File, run a Text Find and Replace to swap a token, then Concatenate it onto your base style. Each step is legible on its own instead of buried in one giant prompt box.
How to install it
ComfyUI Manager is the low-friction route: search was-node-suite-comfyui, install, restart. By hand:
cd ComfyUI/custom_nodes
git clone https://github.com/WASasquatch/was-node-suite-comfyui
then install requirements (pip install -r requirements.txt in your ComfyUI venv, or the python_embeded variant on a portable build) and restart. The text nodes are pure Python string handling, so they don't pull in any heavy models or libraries of their own - the weight of this pack lives in its image and model nodes, not here.
Common issues & troubleshooting
Everything comes out mashed together with no spaces. Your delimiter is empty. If you want tags, set it to , ; if you want a running sentence, set it to a single space. A blank delimiter concatenates with nothing between, which is occasionally what you want and usually not.
A stray comma or double separator shows up. That's usually one of your inputs being an empty-but-not-null string with its own trailing punctuation. Trim your fragments upstream, or lean on a Find and Replace to clean up doubles before encoding.
The output looks like a list, not a string. Note the README lists two similarly named things - one merges plain strings, one merges lists of strings. If you wired a list-typed source in, you may have grabbed the list variant. Make sure your inputs are string text, not a text list, when you want a single joined prompt.
The whole pack won't import after updating ComfyUI. This is the well-known WAS Node Suite headache, not a text-node bug. The suite downgrades a few packages for its older modules, so a ComfyUI update can knock the import over on startup. Re-run the pack's requirements.txt against the activated ComfyUI venv (or use its install.bat). The suite has been maintenance-only since late 2023, so budget for the occasional post-update reinstall.
Inputs (0)
No inputs
Outputs (0)
No outputs