[SSN] Input String
A multiline text holder that's shockingly easy to take for granted
- value
[SSN] Input String is a big multiline text box that hands whatever you type to a value output. If that sounds like the most boring node in the pack, you're right - and it's also one of the most useful once a workflow grows past a few nodes.
The job is to hold a chunk of text in one place so the graph can fan it out. The canonical case is a negative prompt or a style block you're feeding to a prompt-builder, an LLM node, and a save-metadata node at the same time. Type it once here, wire it to three places, and you've killed a whole class of "I changed it in one spot but not the other" bugs. In the plumbing layer taxonomy - the nodes that exist to fight repetition and illegibility rather than touch pixels - this is the repetition side, pure and simple.
Mechanically it's as thin as a node gets: the multiline string widget passes straight through execute() and comes out as (string,). No trimming, no encoding, no interpretation. If you type trailing whitespace, it's preserved. There's no validation and no length limit beyond what your browser can render, which is exactly what you want from a raw text holder.
Where this one beats ComfyUI's built-in PrimitiveString is purely the multiline field - core's version is single-line, which makes it useless for a paragraph of prompt text. This is the variant you actually want for that job. If you want a default value baked in, you'll have to set it each time or reach for a pack that supports presets; this node starts empty.
Install
Ships inside smn_support_nodes by SummonTheCat. Install via ComfyUI Manager (search smn_support_nodes) or:
cd ComfyUI/custom_nodes
git clone https://github.com/SummonTheCat/smn_support_nodes
Then restart ComfyUI - new nodes only register on startup. Pack dependencies are opencv-python and imageio-ffmpeg; no models, no downloads, nothing heavy. This node itself is pure core ComfyUI.
Troubleshooting
The classic complaint with a bare text box is "my prompt disappeared" - which usually means the node was reset when you loaded a fresh workflow and the default is empty. Save your workflow with the text in place and it persists. Beyond that, there's genuinely nothing to break here, which is the point. If you're feeding this into a node that expects single-line input and getting weird output, that's a downstream node quirk, not this one.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| string | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| value | STRING | — |