Set Text
One multiline prompt, every config, zero retyping
Prompts are the worst thing to duplicate in ComfyUI. They're long, they change constantly, and when they live in three separate CLIP Text Encode widgets you get to fix the same typo three times. Set Text is WorkflowX's answer: publish a full multiline block under a named key, read it back with Get Text, and keep one authoritative copy of that text in your workflow.
Same family rules as its siblings: no output. Set Text registers its value under key in WorkflowX's config state; Get Text resolves it downstream. Nothing travels on a wire from the Set itself. If you need the text to also pass through on the local path, that's Set Relay's job - the Set family is purely for publishing.
Why multiline matters here
The sibling Set String is single-line, which makes it right for filenames and tags but wrong for actual prose. Set Text gives you a proper multiline box, so this is the one you want for a positive prompt block, a negative prompt you reuse, or a long system-style instruction you feed into a text encoder or an LLM node.
And like the rest of the family, the value is config-scoped. With Config SelectorX you can assign native groups to named configurations and get different text under the same key per config - a clean "SFW" prompt set for one config, a detailed art direction block for another, all in one graph. That's the workflow-profile pattern the whole pack is built around, and text is arguably where it pays off most, because prompts are what you're always tweaking.
Inputs:
key(STRING) - the lookup name. Empty keys are rejected.value(STRING, multiline) - the text block.
Install and use it
One pack install covers every node here:
cd ComfyUI/custom_nodes
git clone https://github.com/haroonaslam/WorkflowX-Configurator
Or search WorkflowX Configurator in ComfyUI Manager, restart ComfyUI, hard-refresh the browser. No pip deps, no models.
Drop a Get Text with the matching key where the text should land (convert a text-encode widget to an input if you need to feed it a socket), and put the Set Text in a group that Config SelectorX controls if you want per-config values.
Where people trip
- Same key confusion. Set String and Set Text both store text but under different type names - a Get Text won't pick up a Set String and vice versa. Match the exact pair.
- Key case.
Negativevsnegativewon't resolve. - Get errors instead of failing soft. If no Set Text with the key is in the active config's scope, Get Text raises rather than silently returning empty. Annoying mid-build, but it beats a blank prompt killing a batch later.
It's the version of Set String you'll actually type prompts into. Cheap to add, immediately useful if you hate editing prompt text in four places.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| key | STRING | — | |
| value | STRING | — |
Outputs (0)
No outputs