π Smart Text
A text box with buttons that make prompt saving make sense
- text
- saver_id
Plain text boxes in ComfyUI are fine until you're building a prompt library. Then the friction isn't typing - it's the bookkeeping: did I already save this, and will the next save clobber my last entry? π Smart Text is a multiline text node with three buttons drawn right on the canvas that do that bookkeeping for you. It's the input side of the pack's save-a-prompt workflow, and once you've tried it, plain text nodes start to feel like they're missing a limb.
How it works
Under the hood it's unglamorous in the best way. The node outputs two things: your text (trimmed of leading and trailing whitespace) and saver_id - which is just the node's own unique ID in the graph. The buttons are where it gets clever. π "Paste & NEW" reads your clipboard into the text box, π "Clear & NEW" empties it, and πΎ "Mark NEW" leaves the text alone. All three hit the pack's reset-last-saved API for this node's ID, so the next time a Prompt Saver connected to this text box runs, it creates a fresh library entry instead of overwriting the previous one.
That matters because the pack's saver overwrites by default. Without the reset, saving the same prompt twice would just keep updating one entry in the database. The buttons turn "this is a new prompt, save it as new" into a single click instead of a mental note you'll forget.
Inputs and outputs
text is the only input - a multiline field, defaulting empty. The two outputs are text, which you wire into Prompt Saver's text input or anywhere a string goes, and saver_id, which you wire into Prompt Saver's saver_id input for per-node tracking. It's not an output node, so it plays nicely mid-graph and won't terminate your branch.
Gotchas
Two small things worth knowing. First, "Paste" uses the browser clipboard API, which needs a secure context - localhost qualifies, so this only misbehaves if you're running ComfyUI over plain HTTP on a remote host. Second, the buttons are drawn by the pack's JavaScript onto the node itself; if you don't see them, the extension didn't load, and restarting ComfyUI is the usual fix. One genuinely neat detail: tracking is per-node-id, so if you duplicate the node, each copy tracks its own last-saved state instead of sharing one - which is exactly why wiring saver_id through is worth the extra wire.
Installing
This is one of the four nodes in the ComfyUI-Prompting-System pack. Easiest via ComfyUI Manager - search "ComfyUI-Prompting-System" - or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/danieljanata/ComfyUI-Prompting-System
Restart ComfyUI. No requirements.txt, no model downloads; the pack runs on dependencies ComfyUI already bundles. Like the rest of this young pack, the repo ships no README, so what you see in the source is the documentation. The buttons are the whole point here - if a future version of ComfyUI changes the canvas API, they're the first thing that could break.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | β |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| text | STRING | β |
| saver_id | STRING | β |