๐บ User Input (String)
A named, multiline text input for prompts and parameters you want front and center
- string
- _controller_hook
Some strings deserve to live at the top of the graph, and ComfyUI doesn't always let you put them there without dragging a whole node along. ๐บ User Input (String) is this pack's answer: a text input with a name, a multiline box, and a plain string output. It's the String member of the pack's user-input family (Boolean, Float, Seed, String), all built around the same idea - surface the things you actually tweak as named, findable nodes instead of widgets buried inside other nodes.
Mechanically it's the simplest node in the pack. You type text into value, and it passes that exact string through its output. The value field is multiline, so multi-sentence prompts, negative prompt blocks, or any free text you need to edit repeatedly slot right in. The input_name field is a label - no functional effect in a plain graph, but it's how the pack's controller system (Nilor Preset/Group nodes, built for the Brando UI) identifies and binds this input. The _controller_hook output is that integration seam; in vanilla ComfyUI it's None and you can safely ignore it.
Where this earns its keep is the same single-source-of-truth pattern as the rest of the family. Drop one labeled prompt at the top of a workflow, wire the output into your CLIP text encoder, and editing the prompt becomes "click the one obvious node," not "go find the encoder widget." If you share workflows, that's a genuine courtesy to whoever opens your graph next - a labeled text node reads a lot better than a prompt box hidden three layers deep.
Inputs and output
- input_name - the label, e.g.
my_string_input. Cosmetic in vanilla ComfyUI, semantic in the controller UI. - value - the text, multiline (default empty).
- string (STRING output) - the pass-through value. Wire it into any text-consuming node.
- _controller_hook - only for the pack's controller nodes; ignore it otherwise.
Installing it
Part of Nilor Nodes (nilor-corp/nilor-nodes):
cd ComfyUI/custom_nodes
git clone https://github.com/nilor-corp/nilor-nodes
or ComfyUI Manager โ search "Nilor Nodes" โ install โ restart. No model files. The README lists Kijai's comfyui-kjnodes as a prerequisite, and the pack installs a heavyweight dependency stack (boto3, fastapi, huggingface_hub, openexr) regardless of how many of its nodes you use.
Troubleshooting
Same caveat as every node in this family: it's a passthrough, not a global. The name doesn't bind to anything, and the value only reaches other nodes if you wire the output. If text isn't arriving where you expect, follow the wire. No community support exists for this pack, so the source is the reference when something surprises you. And one honest note - ComfyUI's built-in text nodes can already do a lot of this, so the argument for this node is specifically the naming and the family consistency, not unique functionality. If you're not using the controller UI, weigh whether a label is worth a node. In a shared or sprawling workflow, it usually is.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| input_name | STRING | my_string_input | โ |
| value | STRING | โ |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| string | STRING | โ |
| _controller_hook | CONTROLLER_HOOK | โ |