Nodes/ComfyUI-Fans/Fans Prompt Styler Positive
ComfyUI Node

Fans Prompt Styler Positive

Wrap your prompt in a style phrase from a CSV you can edit

By uarefans·Created 3 years ago·Updated 2 years ago· 17
Fans Prompt Styler Positive
    • result
    styleNone
    promptInput Your Prompt Here

    Fans Prompt Styler Positive is the "wrap my words in a better phrase" node. You type a prompt, pick a style from a dropdown, and it hands back your prompt nested inside whatever that style's text is. Pick "G-CloseUp" and "a close-up photo of {your prompt}," comes out the other end. It's the same trick the famous SDXL Prompt Styler pulled - a template with a {prompt} placeholder - minus the extra features, and with the style list living in a CSV you can edit yourself.

    If you're on the SDXL lineage (Illustrious, NoobAI, Pony, and friends), comma-separated descriptor blocks still transfer fine, and structuring your prompt in consistent blocks is genuinely good practice - it's how the model reads your intent. A styler like this turns that habit into a one-click operation instead of something you retype every time. On newer LLM-encoded models like FLUX, plain descriptive wrappers mostly still read, just don't expect the old weighting tricks to mean anything.

    How it works

    The node reads styles-positive.csv from the pack's styles/ folder and turns every row into a dropdown entry. Each row is two columns: the label you see ("G-bright", "G-Photo", …) and the template text that gets injected. The mechanism, straight from the source:

    • If the style's text contains {prompt}, that placeholder is replaced with your input - that's how "a bright photo of the {prompt}," becomes "a bright photo of the [what you typed],".
    • If it doesn't contain {prompt}, your prompt is simply prepended with a space: your prompt + " " + style text.

    Two inputs matter: style (the dropdown, 39 choices including "None", which passes your prompt through untouched) and prompt (a multiline box where you type the subject). The single output is result, a STRING you wire into CLIP Text Encode or a concatenate node.

    Editing the style list

    Here's the part that beats a fixed node: styles-positive.csv is a plain two-column text file. Add a row, and your custom style appears in the dropdown after a browser refresh - no ComfyUI restart. Keep the filename exactly as-is (the code looks it up by that name), save as UTF-8, and keep the {prompt} placeholder in any row you want your text dropped into the middle of.

    Install

    The whole pack installs at once. ComfyUI Manager: search "ComfyUI-Fans" and install, restart, done. Manual:

    cd ComfyUI/custom_nodes
    git clone https://github.com/uarefans/ComfyUI-Fans
    

    Then restart ComfyUI. No models to download, no requirements.txt - the pack is pure Python plus CSV files, so this is about as dependency-free as custom nodes get.

    Troubleshooting

    • Your style isn't in the dropdown: you added it to the CSV but the node's list is built when the workflow loads. Refresh the browser tab.
    • Prompt text appears twice: you have a style that lacks a {prompt} placeholder, so the node prepends instead of replacing. Add the placeholder to the row if you want replacement behavior.
    • Node missing in a shared workflow: install the pack via Manager; that's the standard missing-node fix.
    Categoryutils

    Inputs (2)

    NameTypeDefaultDescription
    styleCOMBONone39 options: None, Positive Prompt, ------, G-bright, G-CloseUp, G-Cropped, +33
    promptSTRINGInput Your Prompt Here

    Outputs (1)

    NameTypeDescription
    resultSTRING