๐พ Isulion Prompt Vault Save
Save the Prompt You'll Want Again Next Week
- text
You know the prompt. The one that finally got the light right. It's currently living in CLIP Text Encode #7 of a workflow you're going to rewire on Thursday, and when Thursday ends it'll be gone. This node exists so that doesn't happen: it writes a piece of text to a small JSON file under a name you pick, then hands the same text straight back out the other side.
What it actually is
A named prompt-fragment library with a save button, and half of a two-node pair (its sibling is ๐๏ธ Isulion Prompt Vault Load, which reads entries back out). If you've been keeping prompt fragments in wildcard/*.txt files and pulling them with Impact Pack, this is the same idea with names instead of folder paths - and about a tenth of the ceremony. Trade-off: Impact Pack's wildcards can expand lists and randomise per line, and this cannot. It's a string in a box with a label on it. If you already live in wildcard files, honestly, stay there.
The mechanism
Two things make it worth using over just typing into the text encoder.
First, the storage lives outside the git checkout. Entries go to ComfyUI/user/isulion/prompt_vault.json, so saving a prompt never makes git pull or a ComfyUI Manager update hit a modified file in custom_nodes. That's the mistake half the pack ecosystem makes, and this one dodged it.
Second, the write is atomic: the node writes a temp file and os.replaces it into position. If ComfyUI dies mid-write you lose the write, not the vault. Reads are equally paranoid - a missing or corrupt vault file degrades to an empty vault with a log warning instead of blowing up your queue. Names get whitespace-collapsed and capped at 64 characters so the load node's dropdown stays readable.
The output is a pass-through of text. That's the whole trick: the node has a side effect and an output, so you drop it inline between your prompt source and your encoder like it's a wire, and it saves as a side effect of the run.
Inputs and outputs
There are two inputs and both matter.
name- the key. Save under a name that already exists and it overwrites, no confirmation, no history. It's an upsert by design.text- multiline, and connectable. This is the one people miss: wire ๐น๏ธ Isulion Mega Prompt V4 or V3'spromptoutput into it and the vault quietly collects every draw you queue while you keep working.
The single output is text (STRING) - unchanged, same characters in, same characters out. Wire it into CLIPTextEncode or keep chaining strings.
Because the write happens during execution, saving is not a decision you make; it's a thing that happens on every queue. Feed it a random generator and that entry will end up holding whichever prompt was drawn last. That's fine for "keep a rolling sample of what my theme produces," less fine if you expected the good one to stick - for that, lock the reel or use the machine's EDIT mode.
Installing it
The whole pack installs in one go, so you get every Isulion node whether you wanted them or not:
ComfyUI Manager โ Custom Nodes Manager โ search Isulion โ install โ restart.
Or by hand:
cd your_ComfyUI_install_dir/custom_nodes
git clone https://github.com/Isulion/ComfyUI_Isulion
Restart ComfyUI, then hard-refresh the browser (Ctrl+Shift+R). No models to download and no CUDA-side dependencies - the pack's entire requirements.txt is requests, and the node itself only needs torch, which is already there. If a custom node install has ever gone sideways for you, this is the low-risk end of the spectrum.
Where people get burned
You'll find no community fallout, good or bad. This pack has essentially no footprint in r/comfyui or r/StableDiffusion - the documentation is the repo, and if something behaves oddly there's no thread to search. That's not automatically bad, but it means the failure modes below are the ones you'll meet alone.
An empty name is a hard error. The node raises rather than silently saving an unnamed entry, so the queue stops with PromptVault - 'name' is empty. Give it a name.
The vault file doesn't travel with your workflow. Your workflow JSON stores the name widget and the text, but the Load node reads the vault file by name at run time. Share the workflow with someone whose vault lacks that entry and you've shipped a broken graph. Share the JSON file itself if you want the pair to travel together - it's plain, readable, and diffs fine in git, which makes it a decent house-style file for a small team.
If you want the vault somewhere else - a synced folder, a shared drive - set ISULION_PROMPT_VAULT to a full path before launching ComfyUI. It's read on every call, so restarting is all it takes.
export ISULION_PROMPT_VAULT=/home/you/sync/prompt_vault.json
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| name | STRING | โ | |
| text | STRING | โ |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| text | STRING | โ |