Nodes/ComfyUI-NebulaPromptManager/Nebula Prompt Manager
ComfyUI Node

Nebula Prompt Manager

Prompts you can save, load, and version — without a text-file graveyard

By Konohamaru04·Created 7 months ago·Updated 7 months ago· 1
Nebula Prompt Manager
    • Positive
    • Negative
    • Variable_1
    • Variable_2
    • Variable_3
    • Variable_4
    • Variable_5
    project_name
    positive_prompt
    negative_prompt
    var_1_name
    var_1_typestring
    var_1_value
    var_2_name
    var_2_typestring
    var_2_value
    var_3_name
    var_3_typestring
    var_3_value
    var_4_name
    var_4_typestring
    var_4_value
    var_5_name
    var_5_typestring
    var_5_value

    You know the ritual: you nail a prompt, get a good image, and a week later you're scrolling through a notes file trying to remember whether it was "cinematic portrait" or "cinematic portrait, soft light." Nebula Prompt Manager is a small answer to that - a prompt storage node that saves your positive prompt, negative prompt, and up to five variables as named JSON "projects" and loads them back into the graph with one click.

    Think of it as a primitive value node with a filing cabinet bolted on. Where the core PrimitiveString nodes just hold one value and fan it out (that's the whole "one source, many consumers" idea from the plumbing layer), this one holds a whole batch of related text and hands you seven separate STRING outputs so nothing gets concatenated into one blob. It's aimed at people who keep a stable of recurring setups - portrait project, product render, anime workflow - and want to swap between them without rebuilding widgets every time.

    How it actually works

    The node itself is deliberately dumb. Its run method takes the prompt text and each variable row and returns them straight out: Positive and Negative pass through untouched, and each of the five variables gets converted to its typed value and then back to a string. Set a variable's type to int and value 30, and the output is "30". Set type float with 0.5, you get "0.5". Leave a row's name and value empty and the output is "" - clean, no placeholder junk.

    The clever part lives in the JavaScript. When you add the node it hides the raw widgets and redraws them as a card UI - project dropdown, New project, Load project, Save/Update, Refresh list - backed by three small routes the pack registers on ComfyUI's server: GET /nebula_image_manager/list, GET /nebula_image_manager/load, and POST /nebula_image_manager/save. That's the whole persistence story: files live as JSON in <ComfyUI root>/Nebula-Image-Manager/, one file per project.

    One thing to know right away, because it'll save you a confused minute: the node doesn't auto-save anything. Typing into project_name does nothing until you hit Save/Update, and loading is always manual. It's a filing cabinet you have to open, not a memory.

    The inputs and outputs that matter

    On the backend there are really only three things you set: project_name (the file name, .json is added for you), positive_prompt and negative_prompt (both multiline). Below those are the five variable rows, each with var_N_name, var_N_type (string | int | float), and var_N_value. The name is just a label; the type decides how the value is parsed before it hits the output.

    Outputs - all STRING:

    • Positive → wire into your CLIP Text Encode positive prompt
    • Negative → the negative prompt input
    • Variable_1 through Variable_5 → any downstream string input

    The catch to watch: even typed variables come out as strings, so you can't plug Variable_1 straight into an INT/FLOAT sampler socket. If you're storing CFG or steps in a variable, you'll need a string-to-number node (or convert the widget to input) in between. The node stores values as text - that's the design, not a bug.

    Installing it

    Via ComfyUI Manager, search "Nebula Prompt Manager" and install. Or, the manual way:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Konohamaru04/ComfyUI-NebulaPromptManager
    

    Then restart ComfyUI completely. There's no requirements.txt, no model downloads, no API key, no heavy dependency - it's pure stdlib plus ComfyUI's own server and folder_paths. It'll run anywhere ComfyUI runs.

    Common issues

    A few things to dodge. First, the README's install section is copy-paste roadkill: it tells you to clone NebulaImageManager.git from <your-username> - that URL doesn't exist and never did. Use the repo URL above. Second, the storage folder is named Nebula-Image-Manager, not NebulaPromptManager - a leftover name from the author's broader Nebula toolchain, so when you go looking for your saved projects, look for the old name. If a save "does nothing," check that folder exists and that ComfyUI's logs don't show a permission error. And if the dropdown styling looks off, that's browser-dependent theming, not a broken install.

    Honestly, this is a niche tool for a narrow itch: if you swap between a handful of carefully tuned prompt setups and don't want a dozen duplicate workflows or a notes file, it's handy. If you one-shot prompts and never look back, it's a solved problem you don't have - but for the rest of us, a save button beats a text file every time.

    CategoryNebula

    Inputs (18)

    NameTypeDefaultDescription
    project_nameSTRING
    positive_promptSTRING
    negative_promptSTRING
    var_1_nameSTRING
    var_1_typeCOMBOstring3 options: string, int, float
    var_1_valueSTRING
    var_2_nameSTRING
    var_2_typeCOMBOstring3 options: string, int, float
    var_2_valueSTRING
    var_3_nameSTRING
    var_3_typeCOMBOstring3 options: string, int, float
    var_3_valueSTRING
    var_4_nameSTRING
    var_4_typeCOMBOstring3 options: string, int, float
    var_4_valueSTRING
    var_5_nameSTRING
    var_5_typeCOMBOstring3 options: string, int, float
    var_5_valueSTRING

    Outputs (7)

    NameTypeDescription
    PositiveSTRING
    NegativeSTRING
    Variable_1STRING
    Variable_2STRING
    Variable_3STRING
    Variable_4STRING
    Variable_5STRING