🌻 CSV Prompt Styler
Reusable prompt templates from a spreadsheet
- styled_positive
- styled_negative
- selected_style
Wraps your prompt in a saved style template - "cinematic," "anime," "watercolor," whatever you've defined - pulled from a CSV file. If you've used the classic SDXL Prompt Styler, this is the same idea: keep a library of prompt scaffolds in a spreadsheet, pick one from a dropdown, and let it decorate your positive and negative prompts automatically.
Why templated prompts
Good prompts have a lot of reusable boilerplate. The lighting words, the quality tags, the "shot on 35mm, shallow depth of field" clauses - you type them over and over. A styler factors that out: you write the subject ("a fox in a forest"), pick a style, and the template fills in the rest around it, plus the matching negative. It keeps your styles consistent across a whole session and makes swapping between looks a one-click affair instead of a copy-paste ritual. Keeping the templates in a CSV means you can edit them in a spreadsheet and version the file, same logic as any of the pack's CSV nodes.
How it works
The node reads a CSV where each row is a style: a name, a positive template, and a negative template, usually with a placeholder your text drops into. You point csv_path at that file, type your text_positive and text_negative, pick a style from the dropdown, and it returns the combined result. The style dropdown is populated from the CSV when ComfyUI loads.
The inputs that matter
- csv_path - path to your styles CSV. Defaults to the pack's bundled
styles.csv. - text_positive / text_negative - your actual prompt content, which the template wraps around.
- style - the style to apply, chosen from whatever the CSV defines.
- log_prompt - prints the final styled prompt to the console so you can see exactly what got sent.
Three outputs: styled_positive and styled_negative wire straight into your CLIP Text Encode nodes, and selected_style passes the chosen style name onward (handy for logging or filenames).
Common issues
The big one, and it's worth understanding: the style dropdown only shows styles that exist in the CSV at load time. Out of the box the default styles.csv may be nearly empty - that's why the dropdown can show just "None." To get real styles, edit the CSV (add rows with your name/positive/negative columns) and restart or refresh ComfyUI so the node re-reads it. Changes you make while it's running won't appear until then. Keep log_prompt on while you're setting this up - seeing the assembled prompt in the console tells you immediately whether the template is wrapping your text the way you meant.
Installing ComfyUI-Addoor
ComfyUI-Addoor (葵花宝典) is a utility pack from developer Eagle-CN with a cluster of CSV-driven nodes. ComfyUI Manager: Install Custom Nodes → search "ComfyUI-Addoor" → install → restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/Eagle-CN/ComfyUI-Addoor.git
cd ComfyUI-Addoor
pip install -r requirements.txt
Restart and find it under 🌻 Addoor / CSV. The bundled styles.csv lives in the pack folder - edit it there to build your own style library.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| csv_path | STRING | ./custom_nodes/ComfyUI-Addoor/styles.csv | — |
| text_positive | STRING | — | |
| text_negative | STRING | — | |
| style | COMBO | 1 options: None | |
| log_prompt | BOOLEAN | true | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| styled_positive | STRING | — |
| styled_negative | STRING | — |
| selected_style | STRING | — |