Simple Join Strings
Simple Join Strings
- STRING
Sometimes the most useful node in a pack is the dumbest one. Simple Join Strings concatenates up to ten text inputs into a single string with a delimiter of your choice. That's the whole job, and it does it without loading a model, touching VRAM, or failing in mysterious ways.
Where it earns its keep in a Qwen workflow: prompt assembly. You'll often have a base user prompt from one node, a style block from a Style Selector, a camera block from a Camera Selector, maybe a subject name from a dropdown - and the main LLM node takes a single user_prompt string. Join Strings is the glue. The built-in selectors do this internally, but when your prompt has more moving parts than they expect, this node gives you full control.
Inputs and outputs
delimiter- the separator between joined pieces. Default is a single space. This is where the niceties live: it understands\n,\t, and\rescape sequences, so you can write\nin the field to join with a line break instead of fighting to paste an actual newline.text1throughtext10- the up-to-ten inputs. All optional; the node skips empty ones.
Output: a single STRING, the joined result. Wire it straight into the Qwen node's user_prompt.
Two behaviors worth knowing from the source: empty or whitespace-only inputs are silently dropped, so you don't get double spaces when some inputs are unused, and the join skips None values entirely - a connected-but-empty upstream node won't produce a stray delimiter.
Install
It ships in the KLL535/ComfyUI_Simple_Qwen3-VL-gguf pack. Same install as everything else here:
cd ComfyUI/custom_nodes
git clone https://github.com/KLL535/ComfyUI_Simple_Qwen3-VL-gguf
or search ComfyUI_Simple_Qwen3-VL-gguf in ComfyUI Manager, restart, F5. It's in the 🌐 SimpleQwenVL category under "Simple Join Strings".
The honest take
Do you need a dedicated node for this? ComfyUI's built-in text concatenation exists, and plenty of other packs have join nodes with more features (regex, formatting per input, ordering switches). What this one adds is zero friction: it's in the same category as the Qwen nodes, the delimiter escape handling is convenient, and it's trivial to read when you come back to a workflow months later. If your prompt assembly has more than a couple of pieces, the simplicity wins. If you need per-piece logic - conditionally include a block, reorder dynamically - reach for something with more machinery instead. This node is a lever, not a Swiss Army knife.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| delimiter | STRING | — | |
| text1opt | STRING | — | |
| text2opt | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| STRING | STRING | — |