ComfyUI Client Set String (Yogurt Nodes)
Write the prompt into the remote workflow, from a local string
- client
- client
The most useful Set node in the family, and the one you'll actually use daily. ComfyUI Client Set String patches a string input on a remote workflow - which, in practice, means the prompt. You build a prompt locally (from a text node, a template, a concat of tags, an LLM node's output), and Set String injects it into the remote workflow's prompt widget before Run fires. Local brain, remote GPU, and the prompt never has to be hardcoded on the server.
What it's really for
This is where the ComfyUI Client family stops being a curiosity and starts being a pipeline. A prompt that's assembled rather than typed - positive prompt built from a subject plus a style LoRA's trigger word, negative prompt generated by a logic branch - can't live inside a static remote workflow. Set String is how you make the remote workflow reactive to your local graph. It's also the escape hatch for everything the numeric Set nodes can't touch: combo values, model names, folder paths, and any widget that's really a string under the hood. When Set Int fails on something that looks numeric, Set String is usually the fix.
It chains like its siblings: client in, patched client out, on to the next Set node or to Run. And like the others, it targets a node by id or title plus an input name via key.
Inputs
- client - the handle from Load or a previous Set node.
- node - the remote node's id or title.
- key - the input field name, exactly as in the workflow JSON - e.g.
textfor a CLIP Text Encode's prompt widget. - value - the string to write. Multiline, which matters: real prompts have line breaks and you don't want them mangled.
Outputs
- client - the patched handle.
Install
Standard Yogurt Nodes install. ComfyUI Manager → search "ComfyUI-YogurtNodes", or:
cd ComfyUI/custom_nodes
git clone https://github.com/yogurt7771/ComfyUI-YogurtNodes.git
cd ComfyUI-YogurtNodes && pip install -r requirements.txt
Then restart ComfyUI.
Where people get burned
Same stale-reference trap as the whole family: a node/key mismatch fails silently and the remote runs with its old prompt. Copy the key from the workflow JSON, not from memory. One ComfyUI-specific quirk: a CLIP Text Encode node's prompt is a widget named text inside its inputs - that's your key, not the node's display name. And watch the escape hatches: if you're injecting a prompt that itself contains quotes or special characters, keep them literal; the client handles escaping, but a prompt you assembled by string-splitting can arrive with stray whitespace that changes weighting if you're using syntax like (word:1.2). Also remember strings are the one type that doesn't self-clamp: write a huge value into a short field and the remote may reject or truncate it. When the remote output doesn't match your prompt, the first suspect is always what actually landed in text.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| client | COMFYUI_CLIENT | — | |
| node | STRING | 节点 ID 或节点名 | |
| key | STRING | 输入口名称 | |
| value | STRING | 要设置的字符串值 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| client | COMFYUI_CLIENT | — |