Prompt Styler
One-click style presets, but you bring the styles
- Styled_Positive_Prompt
- Styled_Negative_Prompt
Prompt Styler is the pack's style-preset node: pick a style from a dropdown and it wraps your positive and negative prompts in that style's template text. It's modeled on the classic SDXL Prompt Styler and the author says so in the acknowledgements - but here's the thing you need to know up front: it ships with almost no styles, and you're expected to bring your own JSON.
What it does
The idea is simple and genuinely nice. You write your bare prompt - "a red fox" - and pick "Cinematic" (or whatever you've defined), and the node rewrites it to something like cinematic lighting, dramatic atmosphere, {prompt} on the positive side and applies the matching negative template too. Your prompts stay clean; the style layer is applied mechanically at generation time.
Inputs:
- Positive_Prompt, Negative_Prompt - your two raw prompts (wired in).
- Style - the dropdown, alphabetized with "None" pinned on top.
- Style_Positive, Style_Negative - booleans that turn styling off for each side independently. Handy when a style's positive template is great but its negative is garbage.
- Log_Prompts - prints your before/after prompts to the console. Nice for debugging a style you're authoring.
Outputs:
- Styled_Positive_Prompt, Styled_Negative_Prompt - feed these into your CLIPTextEncode nodes.
The mechanism (and the gotcha)
Styles live as JSON files in the pack's nodes/Styler Data folder. Each entry has a Name and Positive_Style / Negative_Style templates containing a {prompt} placeholder, which gets swapped for your text:
styled_prompt = style.replace("{prompt}", prompt)
The catch: the folder ships with only an Example.json (two placeholder styles) plus the built-in "None". So out of the box your Style dropdown has three options and none of them are useful. This is not a bug - it's the design. The README points to the pack's wiki for how to add styles, and the file naming is significant: each JSON file's name becomes a prefix on its styles (filename - Style Name), which lets you organize hundreds of styles by file.
Where people get burned
The biggest trap is installing this expecting a library of ready-made styles. You'll get None and two examples. You need to source or write your own JSON - and if you've used SDXL Prompt Styler or Comfyroll's style files, those JSONs can usually be adapted since the format is similar (watch for differing field names like Positive_Style vs positive_prompt).
Also note the forceInput prompts: you must wire prompts in; you can't type into the node. And file-name prefixes mean a JSON named cinematic.json will list its styles as "cinematic - ...", so name files to match the category.
Installing it
ComfyUI Manager → search "HavocsCall" → install → restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/HavocsCall/comfyui_HavocsCall_Custom_Nodes
Restart, under HavocsCall/Prompt Styler. No requirements.txt, no model downloads - but budget real time for finding or writing style JSONs before this node does anything for you.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| Positive_Prompt | STRING | — | |
| Negative_Prompt | STRING | — | |
| Style | COMBO | 1 options: None | |
| Style_Positive | BOOLEAN | true | — |
| Style_Negative | BOOLEAN | true | — |
| Log_Prompts | BOOLEAN | false | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| Styled_Positive_Prompt | STRING | — |
| Styled_Negative_Prompt | STRING | — |