Nodes/Overtli Studio Suite/πŸ“š OVERTLI Prompt Library
ComfyUI Node

πŸ“š OVERTLI Prompt Library

A prompt library that saves itself to disk, run from the canvas

By OvertliDSΒ·Created 5 months agoΒ·Updated 2 days agoΒ· 16
πŸ“š OVERTLI Prompt Library
    • prompt_text
    β—„actionsave_promptβ–Ί
    β—„prompt_textβ–Ί
    β—„prompt_nameβ–Ί
    β—„saved_prompt(none)β–Ί
    β—„categoryβ–Ί
    β—„category_pickAllβ–Ί
    β—„tags_csvβ–Ί
    β—„notesβ–Ί
    β—„sort_modemost_recentβ–Ί
    β—„category_filterAllβ–Ί
    β—„search_queryβ–Ί
    β—„max_items100β–Ί
    β—„allow_overwritetrueβ–Ί
    β—„increment_use_on_loadtrueβ–Ί
    β—„refresh_before_actiontrueβ–Ί
    β—„show_library_snapshottrueβ–Ί

    You know how prompt management usually works in ComfyUI? A text file you keep open in another window, or a browser tab full of saved prompts you copy-paste from. GZ_PromptLibraryNode is the Overtli Studio Suite's answer to that: a small CRUD store that lives on your canvas, saves prompts to disk, and hands them back as a STRING you can wire straight into any text input - including the pack's own enhancer nodes.

    What it does

    It's an action node. The action dropdown picks the operation:

    • save_prompt - stores prompt_text under a prompt_name, optionally with a category, tags_csv and notes.
    • load_prompt - pulls a saved entry (choose it from saved_prompt) and emits it.
    • view_library - lists what you've got, useful for eyeballing before you load.
    • delete_prompt - removes an entry.
    • refresh_cache - re-reads the JSON file, which matters if you edit it by hand or other workflows have written to it.

    Storage is a JSON file at ComfyUI/user/overtli_prompt_library.json in your ComfyUI user directory - plain, portable, and editable outside the node if you ever need to bulk-import. It's the same shape as the settings file the pack's GZ_ProviderSettings node writes, just for prompts instead of keys.

    Inputs worth knowing

    • prompt_text and prompt_name - what you're saving and what to call it. prompt_name doubles as the search term on loads.
    • saved_prompt - the dropdown of everything in the library. It starts as a single "(none)" option and fills in after a save or refresh, so if the library looks empty, hit refresh_cache or run any action once.
    • category, tags_csv, notes - metadata for organizing. category_pick and category_filter let you filter by category, and search_query filters by text.
    • sort_mode - order results by most recent, name, most used, category, etc. Loads increment increment_use_on_load (on by default), so most_used sorting actually learns what you reach for.
    • allow_overwrite - on by default, meaning saving the same prompt_name twice overwrites instead of erroring. Turn it off if you want save collisions to fail loudly.
    • max_items - caps list output (default 100).
    • refresh_before_action - re-reads the file before each action, default on; leave it unless you're chasing a performance issue on a huge library.

    Output and wiring

    One prompt_text STRING output, holding whatever the action produced - the loaded prompt, the saved prompt's text, or the library listing. Chain it into an enhancer's prompt input or straight into a CLIP Text Encode. Because it's a plain string, it plays fine with any node that takes text, not just Overtli ones.

    Install and gotchas

    Standard pack install: search "Overtli" in ComfyUI Manager, or clone into custom_nodes and pip install -r requirements.txt, then restart. Two habits to build early. First, the dropdown of saved_prompt doesn't watch the file - after editing the JSON by hand or saving from another workflow, run refresh_cache (or set refresh_before_action on) before you expect to see the new entries. Second, this stores text in plain JSON in your user directory; it's local and free, but it's not a team server, so if two people edit the same file you'll get last-writer-wins. For a single machine it's exactly the right size for the job.

    CategoryOVERTLI STUDIO/Prompt

    Inputs (16)

    NameTypeDefaultDescription
    actionCOMBOsave_prompt5 options: save_prompt, load_prompt, view_library, delete_prompt, refresh_cache
    prompt_textSTRINGβ€”
    prompt_nameoptSTRINGβ€”
    saved_promptoptCOMBO(none)1 options: (none)
    categoryoptSTRINGβ€”
    category_pickoptCOMBOAll2 options: All, General
    tags_csvoptSTRINGβ€”
    notesoptSTRINGβ€”
    sort_modeoptCOMBOmost_recent6 options: most_recent, name_az, name_za, oldest_first, most_used, category_az
    category_filteroptCOMBOAll2 options: All, General
    search_queryoptSTRINGβ€”
    max_itemsoptINT1001–1000β€”
    allow_overwriteoptBOOLEANtrueβ€”
    increment_use_on_loadoptBOOLEANtrueβ€”
    refresh_before_actionoptBOOLEANtrueβ€”
    show_library_snapshotoptBOOLEANtrueβ€”

    Outputs (1)

    NameTypeDescription
    prompt_textSTRINGβ€”