String Variable [π -π ’π €π π £π ]
Same idea, field renamed to `string`
- STRING
The current-generation version of this pack's String Variable node, carrying the circled [N-SUITE] badge the pack switched to after its February 2024 internal rewrite. The idea hasn't changed at all - hold one piece of text, expose it as an output, wire it to everywhere that needs the same string - but if you look closely at the schema, the input field itself got renamed: it's string now instead of value. Small detail, but worth knowing if you're reading a workflow JSON and trying to figure out which generation of the node you're looking at.
Why it exists
Same reasoning the README gives for all three of this pack's variable nodes: ComfyUI's stock Primitive node has real limits on what it can link - you can't wire, say, one KSampler's start_at_step to another's steps, even though you'd often want those in sync. Rather than fight that limitation, the pack sidesteps it: set your text once here, and every node that needs it reads from the same single source instead of you maintaining duplicate copies.
The input and output
string - a multiline text field, defaulting to an empty string. STRING - the output, wired to however many downstream nodes need it. No formatting or substitution happens inside the node; it's a pure value holder, one string in the widget, the same string out every consumer.
Installing the pack
- ComfyUI Manager - search "ComfyUI-N-Nodes," install, restart.
- Manual -
cd ComfyUI/custom_nodes && git clone https://github.com/Nuked88/ComfyUI-N-Nodes.git, then restart ComfyUI.
No models or dependencies involved - this is one of the simplest nodes in the whole pack, alongside its Integer and Float siblings.
Common issues & troubleshooting
A workflow built with the old String Variable node doesn't map cleanly onto this one. That's the field rename (value β string) plus the class-name change together - the pack's migration tool (drag the .json onto migrate.bat on Windows, or python libs/migrate.py path/to/workflow.json on Linux) is built to handle exactly this kind of rewrite automatically, so use that rather than hand-editing the JSON.
Edits to the text aren't showing up where you expect. Check that every intended consumer is actually wired to this node's STRING output and not left on a stale local widget value - that's the usual explanation, not a bug in the node.
You want this pattern for a number instead of text. Integer Variable and Float Variable [n-suite] are this pack's equivalents for those types - same single-value-holder idea, different type per node.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| string | STRING | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| STRING | STRING | β |