Prompt Store B (CCN)
Session-memory prompts with quality/style/mood labels
- prompt
- quality
- style
- mood
- motion
- general
Prompt Store B is the persistent version of Prompt Builder B - same quality/style/mood/motion/general vocabulary, but with the session-memory behavior of the plain Prompt Store. Type something into a section, and it's remembered under the store's name until ComfyUI restarts or you clear it.
The one genuinely clever detail: it can share a store_name with a plain Prompt Store without colliding, because the two use different internal keys. PromptStore writes metadata/features/scene/details/feedback; PromptStoreB writes quality/style/mood/motion/general. So you can have one store_name holding, say, "default" that accumulates both a scene block and a mood block from two different nodes. That's unusually well-thought-out for a utility like this, and it's the reason you don't need to invent a separate store name for every variant.
The inputs that matter
- store_name - the key; match it to share storage.
- input_mode - override / merge / append, exactly like its sibling. Empty section = keep the stored value, which is how you avoid clobbering.
- separator - the split used by
merge(default,). - clear - wipes this store's B-keys.
- prefix_sections / delimiter - the assembly knobs.
- Outputs: the joined
promptplus each of quality, style, mood, motion, general as individual STRINGs.
Install
Same pack, one install:
cd ComfyUI/custom_nodes
git clone https://github.com/valkymaera/ComfyCollectorNodes
then restart, or install via ComfyUI Manager ("ComfyCollectorNodes"). No models, no extra deps.
Where people get burned
The session-scope reality applies here too: stored values survive across workflows but die on restart, and nothing is written to disk. If a mood from last week is showing up in today's output, that's not a bug - that's the feature you forgot about. And because the labels are aimed at "how a shot feels" rather than "what's in it," it's easy to overload general with everything that doesn't fit elsewhere; that's fine, but remember merge mode will dedupe on the separator, so keep general comma-delimited if you want dedup to work.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| store_name | STRING | default | — |
| delimiter | STRING | \n\n | — |
| prefix_sections | BOOLEAN | false | — |
| clear | BOOLEAN | false | — |
| input_mode | COMBO | override | 3 options: override, merge, append |
| separator | STRING | , | — |
| qualityopt | STRING | — | |
| styleopt | STRING | — | |
| moodopt | STRING | — | |
| motionopt | STRING | — | |
| generalopt | STRING | — | |
| debugopt | BOOLEAN | false | — |
Outputs (6)
| Name | Type | Description |
|---|---|---|
| prompt | STRING | — |
| quality | STRING | — |
| style | STRING | — |
| mood | STRING | — |
| motion | STRING | — |
| general | STRING | — |