LLS String Literal
A text box that turns into a wire
- string
This is the most honest node in the LLS pack: type a string in a box, get that string out as a wire. That's it. value in, string out, one node doing one thing. If it looks like a toy, that's because value nodes are the plumbing that makes every other node usable, and this one is LLS's contribution to that category.
The reason a plain string-out node exists at all is the "one source, many consumers" problem. Say your positive prompt has to reach two different encoders, or a filename prefix has to reach a Save node and a metadata node, or a wildcard-style value has to reach three places at once. Type it into one LLS String Literal and fan the wire out, and you change it in exactly one place instead of three - which is how you avoid the silent mismatch where you updated the prompt in one box and forgot the other. The plumbing doc calls this the base problem of repetition, and it's why ComfyUI itself ships primitive string nodes. This is the same idea, in the LLS namespace, with a multiline box that makes it comfortable for long prompts.
Inputs and outputs
One required input: value, a multiline STRING widget with an empty default. One output: string, the identical STRING tensor. That's the whole surface. There's no type conversion, no hidden state, no processing - the implementation is a straight pass-through. The value also travels with the workflow JSON, so a workflow that uses this node carries its strings with it when you drag the PNG back into ComfyUI.
When to actually use it
The pure pass-through is the boring use. The useful version is when you're feeding a node whose text input you'd otherwise type directly: convert that widget to an input, wire this node in, and now that text is defined once and reused everywhere. It's also handy for building a shared "filename prefix" string that both a Save Image node and a logging node consume, or for holding a prompt segment you want to experiment with in one visible place.
ComfyUI's own primitive nodes cover this exact job, so LLS String Literal is a convenience for people already living in the LLS pack rather than a capability you can't get elsewhere. If you're not using anything else from LLS, you don't need this node - but if you're standardizing on the pack, it keeps your graphs visually consistent instead of mixing in core primitives.
Installing
Via ComfyUI Manager, search "LLS-node", or:
cd ComfyUI/custom_nodes
git clone https://github.com/Gin3601/LLS-node
Restart, look under LLS/Utils. Zero dependencies - pure Python, no requirements.txt, nothing to download. It's the kind of node that's immediately available after install.
Gotchas
There's remarkably little to trip on. One thing worth knowing: because the output is a STRING type socket, it only connects to STRING inputs - it won't magically turn into a number or a filename list. If you need an integer constant, the pack ships LLS Int Literal (and LLS Float Literal) for that, and LLS Resolution Selector covers width/height pairs. Pick the typed literal that matches the socket you're feeding; that's the whole "trick" to the utility section of this pack.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| value | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| string | STRING | — |