JoinWithDelimiter
JoinWithDelimiter — Turning Mixlab's List Outputs Into One String
- text_list
- STRING
JoinWithDelimiter is one of those nodes you don't think about until you need it, and then you need it constantly. Its whole job: take a list of things and squash it into one STRING, with whatever separator you pick sitting between each item.
The reason a list even shows up in a ComfyUI graph in the first place is that several other Mixlab nodes are explicitly built to return lists instead of single values. PromptSimplification hands back a batch of candidate simplified prompts. LoraNames_ and SamplerNames_ turn a multiline block of names into a list for batch comparisons. PromptGenerate_Mix can return several prompt variants from one seed. Every one of those is genuinely useful upstream and genuinely awkward downstream, because most consumers - a text-display widget, a save node, a webhook payload - want one string, not a list quietly rattling through the graph. JoinWithDelimiter is the adapter between "list-producing" nodes and "single-string-consuming" ones.
The mechanics are as simple as it looks. text_list takes the incoming list - its type is the wildcard *, so it isn't hard-locked to strings specifically, though in practice you'll almost always be feeding it text. delimiter is a dropdown with four choices: newline, comma, backslash, and space. Pick whichever matches what you're building - newline for a scrollable log of variants, comma for a compact one-line summary, space if you're literally reassembling a sentence. The single STRING output is ready to go into a text display, a save-text node, or straight into a prompt field.
Install follows the standard Mixlab path. Fastest is ComfyUI Manager - search "comfyui-mixlab-nodes," install, restart. By hand:
cd ComfyUI/custom_nodes
git clone https://github.com/shadowcz007/comfyui-mixlab-nodes.git
cd comfyui-mixlab-nodes
install.bat
or pip3 install -r requirements.txt in a venv, or the embedded-python pip call on a portable Windows build. Restart afterward.
Worth setting expectations before you commit to it: this is a big pack, not a small utility repo. Installing "a join node" actually installs 3D generation, TTS, VQA, layer compositing, LLM wrappers, and a couple dozen other node families in one shot, because the whole thing ships as a single repo. Some people genuinely love the breadth. Others get worn down by the update-check popups it throws on startup and strip the whole pack back out - that's a real, recurring complaint, not a one-off. If JoinWithDelimiter is the only thing you actually wanted, that's a cost worth weighing, though the node itself is harmless once it's in.
The one thing that actually trips people up with this specific node: feeding it something that isn't really a list. Because text_list accepts the wildcard type, ComfyUI won't stop you from wiring in a single string - it'll just come back out unchanged, with no delimiter applied, since there's nothing to join. If your output looks identical to your input, that's almost always the reason. Check that the upstream node is genuinely a list-producer (an is_list: true output in its schema) and not something that just happens to share a socket color.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| text_list | * | — | |
| delimiter | COMBO | 4 options: newline, comma, backslash, space |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| STRING | STRING | — |