OutputString
OutputString (DPOutput)
OutputString is the small, boring, quietly essential node in the DynamicPrompts pack. Its whole job is to show you the string - it takes text in and displays it on the canvas. That sounds trivial until you've spent twenty minutes wondering why your wildcards aren't doing anything, only to find the generated prompt was fine and you just couldn't see it.
Here's the problem it fixes. Every generator in this pack - Random Prompts, Combinatorial, Magic Prompt, Jinja, I'm Feeling Lucky - rolls a prompt and passes it downstream, but the rendered result only ever printed to the console. If you don't have a terminal open, you're generating blind, with no idea what {blue|red|green} actually resolved to or whether your __wildcard__ even matched a file. OutputString is the pack's answer: chain it in and the final prompt shows up right there in your graph.
How it works
It's a terminal (output) node - the end of a wire, not a link in the middle. You take the STRING output of any generator and run it into OutputString's input, and it renders that text on the node. No transformation, no side effects on your image, no cleverness. It exists purely so a human can read what the machine produced. Think of it as print() for your prompt graph.
That makes it a debugging and inspection tool above all. When a wildcard isn't expanding, when a Jinja template is misbehaving, when you want to confirm Combinatorial is actually stepping through the sequence you expect - OutputString is how you check. It's also just satisfying to watch the prompt change run to run when you've got autorefresh on.
Inputs and outputs
Dead simple:
text- the string to display. Wire a generator'sSTRINGoutput into this.
And that's the whole interface. It has no outputs - it's the end of the line, a display node. You don't wire anything out of it; you read it. (Because it's a terminal node, it'll execute as part of the run without needing to feed anything downstream.)
Installing it
It's part of the same pack, so if you've installed DynamicPrompts you already have it. ComfyUI Manager → search dynamicprompts → install → restart. Or manually:
git clone https://github.com/adieyal/comfyui-dynamicprompts custom_nodes/comfyui-dynamicprompts
python -m pip install -r custom_nodes/comfyui-dynamicprompts/requirements.txt
python custom_nodes/comfyui-dynamicprompts/install.py
mkdir custom_nodes/comfyui-dynamicprompts/wildcards
Restart after. Note this node lives in the utils menu rather than the Dynamic Prompts menu, so if you go looking for it by category, that's where it is.
Where people get burned
Not much can go wrong with a display node, which is the nice thing about it - but two notes.
It shows text, not images. OutputString displays the prompt string. If you wanted to see the generated image, that's a Preview Image or Save Image node, not this. This is specifically for reading the prompt your generators built.
Use it early, not as an afterthought. The mistake isn't misusing OutputString - it's not reaching for it at all, and then debugging wildcard or Jinja problems the hard way by squinting at console logs. Any time a prompt in this pack isn't doing what you expect, the first move is to drop an OutputString on it and look. Nine times out of ten the bug is obvious the moment you can see the resolved string - a wildcard that printed as literal __text__, a Jinja loop that produced nothing, a cached result that never refreshed. It's a two-second wire that saves you the guessing.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | — |
Outputs (0)
No outputs