Style Selector
Style Selector, but you can actually see the styles before you pick them
- positive
- negative
Every style-selector node works the same until the moment you need to remember what "sai-cinematic" actually looks like. That's the moment this one earns its keep: it shows you a gallery of preview thumbnails for each style, lets you multi-select, search, and hover for the full prompt - all without leaving the graph. It's a small prompt-styling utility with a real UI bolted on, and for anyone who hoards style presets, that's the difference between a dropdown you never touch and a node you actually reach for.
It's an odd little pack. There are no model files, no heavy dependencies, nothing to download beyond the node itself. The two shipped style databases - default with ~142 styles lifted from the classic SDXL sai/twri style JSONs, and modern with 17 tuned for newer models like Kkein 9b and Z-Image Turbo - are just text files plus thumbnails. The previews were generated on vanilla SDXL 1.0 and on Kkein/Z-Image, so don't over-read them as promises; treat them as a rough map of the prompt each style injects.
How it works
The node is a frontend + a tiny Python backend. The gallery you see is a custom widget (js/style_selector.js) that reads the previews folder of whichever database you've selected, and the actual prompt-joining happens in DA_StyleSelector.load_style(). When you pick a style, the frontend stores the image filename; the backend strips the extension, looks that name up in the matching styles.json, and appends the style's positive and negative prompts to whatever you already typed in. Multi-select is just comma-separated filenames under the hood, and the prompts are joined with , . It watches the file's mtime, so editing your styles.json re-runs the node without a restart.
It's a pure prompt-string node - the two STRING outputs wire straight into your CLIP Text Encode node, no conditioning math involved. Nothing here changes how sampling works, and that's fine; the point is workflow speed, not image quality.
Inputs and outputs that matter
The info schema is delightfully boring. The only real inputs are optional positive and negative strings - feed in your base prompt, and the selected style gets appended. Outputs are positive and negative, which plug into CLIP Text Encode. All the interesting stuff (database picker, search box, refresh button, preview size) lives in the node's UI, not in the schema.
Installing it
ComfyUI Manager, search "DemonAlone-StyleSelector", install, restart. Or the old-fashioned way:
cd ComfyUI/custom_nodes
git clone https://github.com/DemonAlone/DemonAlone-StyleSelector-ComfyUI
# restart ComfyUI
That's the whole install. No requirements.txt worth worrying about - it only uses things ComfyUI already ships (aiohttp, PIL, the server module). It's even on the Comfy Registry, so it shows up in the Manager search cleanly.
Adding your own styles
The README is the source of truth here, and it's a genuinely good writeup. Drop a new folder into style_databases/ with a styles.json and a previews/ subfolder:
style_databases/
└── MyStyleBase/
├── styles.json
└── previews/
└── Cyberpunk.jpg
Each entry in styles.json is {"name", "positive", "negative_prompt"}, and the name must match the image filename exactly, case-sensitive - Cyberpunk vs cyberpunk will silently produce no tooltip and a console warning that the style wasn't found. That mismatch is the #1 self-inflicted wound with this node. Keep names to alphanumerics, underscores, and hyphens; slashes and colons will break across OSes.
The gotchas
A few behaviors the README flags that will bite you: new database folders need a full page reload (F5) after pressing "Refresh style list" before they appear; deleting a preview image leaves the style in your selection until you hit "Clear selected style"; and you can't mix styles from two databases in one node. The stated workaround for the last one - duplicate the node and merge the outputs through a concat node - is fine but fiddly, and honestly the cleanest fix is to just merge the JSON files yourself.
Verdict
Is it essential? No. If you barely touch style prompts, the built-in SDXL styles in this pack are the same ones every other styler ships. But if you curate your own prompt library with preview images - and the idea of eyeballing a style before committing to it appeals to you - this is the smoothest way to do it in ComfyUI. It's a utility that respects your time, which is more than you can say for most of the ecosystem.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| positiveopt | STRING | — | |
| negativeopt | STRING | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| positive | STRING | — |
| negative | STRING | — |