String
A multiline text box that earns its name by retitling it
- value
Komfy_String is a text field that outputs a STRING. Multiline enabled, so it's a real text area, not a one-liner. You type a prompt, a filename, a note - anything textual - and it flows out as a wire.
The "Komfy" convention is the thing that makes this more than a boring passthrough: the node's label comes from its title in the graph. Rename it to Positive or Character name and the node becomes a self-documenting box that says exactly what it holds. That might sound cosmetic, but when a graph is forty nodes deep, a text source that names itself is worth real time.
How it works
One required input, value (STRING, multiline, default empty) and one output, value, a typed STRING socket. Passthrough, re-executes every run, no processing - it holds text and hands it over. Because the output is a real STRING wire, it plugs into CLIP text encoders, filename builders, wildcard processors, or anything else that eats a string.
The standard value-node pattern applies: instead of typing the same prompt into two CLIP encoders, type it once here and wire it to both. Change it in one place, it changes everywhere - the "one source, many consumers" trick that keeps workflows from silently drifting. For prompts that feed both a positive encode and a filename token, that single-source property is the whole reason the node exists.
Install
It ships with the whole HMT Suite pack:
cd ComfyUI/custom_nodes
git clone https://github.com/tuyenhm68/ComfyUI-HMT-Suite.git
cd ComfyUI-HMT-Suite
pip install -r requirements.txt
Restart, then find it under HMT Suite > Komfy > String. Or install the pack through ComfyUI Manager.
The honest take
ComfyUI core's PrimitiveString and PrimitiveStringMultiline cover this exact ground, so you're not getting powers the core lacks - the multiline box and the label-from-title behavior are the extras here. For a beginner who already pulled the pack down for the downloader, it's a perfectly good prompt box and a friendly introduction to why you'd extract a value into a wire at all. For anyone just after a text node, the core primitive is equivalent and already installed. Either way, the habit that matters - one text source, wired out to everything that needs it - is worth stealing.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| value | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| value | STRING | — |