ComfyUI Node

Prompt Style Machine

Your prompt library as a dropdown

By SatadalAI·Created about a year ago·Updated 11 days ago· 3
Prompt Style Machine
    • prompt
    csv_fileloras.csv
    nameChibi

    A prompt library as a dropdown

    If you've ever kept a "prompts I liked" text file and copy-pasted from it, Prompt Style Machine is that habit turned into a node. It reads a CSV of named prompt sets and lets you pick one by name, then outputs the stored positive prompt. Small, old-fashioned, and - for people who rotate through a stable set of styles - quietly convenient.

    The pack's own README calls it the "legacy" prompt node, which tells you where it sits in the family: Prompt Machine (six slots) is the modern node for composing prompts from scratch, while this one is for selecting a pre-written prompt from a catalog. Two different jobs, same pack.

    How it works

    The CSV is a plain table with a name column, a positive column, a negative column, and an optional note. The pack ships four CSVs in its asset/ folder - loras.csv, models.csv, prompts.csv, styles.csv - and you can add your own. When the node runs, it looks up the name you've chosen, pulls the positive string for that row, and hands it to you. The backend reads the negative and note columns too (there's a REST endpoint that returns all three), but the node's single output is the positive prompt only - the negative column isn't wired to a second output.

    Two inputs, both simple:

    • csv_file - which CSV to read from. The four shipped files, or yours.
    • name - the row to select. On the backend this is a free text field, but the pack's frontend helper replaces it with a live dropdown populated from the CSV's names, plus an enlarged preview of the prompt inside the node so you can see what you're about to apply.

    One output, prompt - a STRING you wire into a CLIP Text Encode node.

    Where it helps and where it doesn't

    The good use: a shared style library. Keep the CSVs in a repo or shared drive and everyone on the team gets the same prompts; styles.csv-style entries with {prompt} placeholders slot neatly into a positive-prompt template. The bad use: it only outputs the positive prompt, so if your library is built around strong negative prompts, this node ignores half of it - you still hand-write the negative box.

    Two gotchas worth knowing before you build on it:

    • Name matching is exact and case-sensitive against the trimmed CSV cell, so "Chibi" and "chibi" are different rows. Keep the CSVs tidy, because a typo quietly returns an empty string rather than failing loudly.
    • The backend enumerates CSVs at node-creation time, so a file you add to asset/ won't appear in the dropdown until you reload the page or restart.

    Install

    Standard pack install - ComfyUI Manager search "SATA UtilityNode", or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/SatadalAI/SATA_UtilityNode
    

    then restart. No models. If the dropdown stays empty, the usual culprit is a CSV without a name column or the file not living in asset/ - that's the first thing to check.

    CategorySATA_UtilityNode

    Inputs (2)

    NameTypeDefaultDescription
    csv_fileCOMBOloras.csv4 options: loras.csv, models.csv, prompts.csv, styles.csv
    nameSTRINGChibi

    Outputs (1)

    NameTypeDescription
    promptSTRING