🛡️ Save Script to Database (In progress)
The Save Button That Doesn't Save (Yet)
- prompt title
- short prompt
- long prompt
- project dir
Let's get the honest part out first: this node doesn't save anything to a database yet. The "(In progress)" isn't decoration - it's the author's own label, and the shipped code confirms it. The save_script function reads your four inputs and returns them unchanged. No file gets written, no CSV gets updated. The README lists "Save database new item" under Features Under Development, and this is the scaffolding for it.
So why is it in the pack at all, and should you care? Because it tells you where Universal Styler is heading, and it's genuinely handy for organizing a prompt build today.
What it's for
In the full pipeline, you'd use Load Scripts from Database to assemble a prompt from the CSV dropdowns. The natural next step is: "I like this one - add it back to the database so it's a dropdown option next time." That's the feature in development, and Save Script to Database is the node that will do it. The inputs mirror the CSV schema exactly: a name, a short_prompt, and a long_prompt, plus a project_dir to say where the thing belongs.
Since the write path isn't wired up yet, what you actually get is a labeled pass-through. You type:
- prompt_title - a human name for this variant, defaulting to
Scene_1/Motion_A/V1as a hint at the naming convention - prompt_short - the punchy one-line version (multiline, so don't sweat wrapping)
- prompt_long - the full, detailed version
- project_dir - where you imagine this will land, default
/outputs/project_name...
...and the node echoes all four back as separate STRING outputs: prompt title, short prompt, long prompt, project dir. Wire them anywhere a string is accepted.
How to actually use it
Treat it as a four-way router with documentation built in. You get to name a prompt variant once, keep its short and long forms together in the graph, and hand the "where does this belong" bookkeeping to a node instead of your memory. If you're building the pack's full workflow, it's the node you'll plug into the moment the write feature lands - your graph won't need re-plumbing.
The one thing I'd warn against: don't build a workflow that depends on this writing a file, because right now nothing happens. If you need to persist a prompt today, your options are the built-in text nodes with save support, or just keeping your own CSV - the database format is name,short_prompt,long_prompt, one row per prompt, so you can append to the CSVs by hand and they'll show up in the Load node after a Refresh.
Installing and gotchas
Same pack as the rest of the Universal Styler nodes:
cd ComfyUI/custom_nodes
git clone https://github.com/KoreTeknology/ComfyUI-Universal-Styler
...then restart. No Python dependencies, no models - it's the lightest kind of custom node, just Python glue. You'll find it under the "🛡️ NAI Scripting Pipeline" category, or search "Universal Styler" in ComfyUI Manager.
Two things to remember. First, the pack was rebuilt after v0.5 and node names changed - old workflows referencing pre-0.5 nodes won't resolve, and the README explicitly says to replace old nodes with the current versions. Second, the pack targets Windows; on Linux/macOS the hardcoded Windows-style CSV paths in the source can break the Load node's dropdowns, so if you're not on Windows expect to patch paths in scripts_pipeline.py. Neither issue touches this node's pass-through behavior, but both will have you scratching your head if you don't know they're coming.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt_title | STRING | Scene_1/Motion_A/V1 | — |
| prompt_short | STRING | short | — |
| prompt_long | STRING | long | — |
| project_dir | STRING | /outputs/project_name... | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| prompt title | STRING | — |
| short prompt | STRING | — |
| long prompt | STRING | — |
| project dir | STRING | — |