Styles Selector (nikosis)
Styles Selector (nikosis) — ComfyUI Node Guide
- positive_prompt
- negative_prompt
This is the A1111 "Styles" dropdown reborn as a ComfyUI node - pick up to four prebuilt looks from a big list, and it hands you back ready-to-use positive_prompt and negative_prompt strings instead of you retyping "bright colors, high detail, dull, blurry" for the hundredth time. It's a genuinely small idea and that's the point: real users recommend this exact pack in ComfyUI help threads when someone asks for a dropdown-driven prompt builder, precisely because it's three nodes and you're done, not a whole framework to learn.
What it does and why you'd want it
Once you've been prompting for a while you accumulate a mental (or literal) list of style snippets you reach for over and over - "cinematic, dramatic lighting, volumetric fog" for one mood, "flat, minimal, clean lines" for another. Retyping or copy-pasting those every time is tedious and error-prone. This node externalizes that list into a JSON file and gives you four independent dropdowns to mix and match from it, then concatenates whatever you picked into one positive string and one negative string. Stack a photography style with a lighting mood with a composition note, leave the fourth slot on "No Style," and you've got a combined prompt fragment in two wires instead of four separate typed blocks.
Inputs and outputs
- style1 / style2 / style3 / style4 - four identical dropdowns, each pulling from the same style list (defaults to
No Style, i.e. skip that slot). The list is large - real installs run to the low 300s - and it's organized with section-header-style entries like||| PHOTOGRAPHYsitting above dozens of specific rows underneath it (Photography | Aerial,Photography | Architecture,Photography | Cinematic, and on). You're picking a specificCategory | Stylerow, not the header. - positive_prompt (output) - the selected styles' positive fragments, comma-joined.
- negative_prompt (output) - same, but the negative fragments. Wire both straight into your CLIP Text Encode nodes, or into this pack's own Text Concatenate node if you want to fold in more text first.
How the style list itself works
The node reads from config/styles.json inside the pack's own folder (creates the folder automatically if it's missing, but you still need the file populated). Each entry maps a style name to a {prompt, negative_prompt} pair - the pack's own README shows a toy two-entry example to illustrate the format, but what actually ships is a real library with hundreds of entries, not the two-line sample. If you ever want to add your own style, that's the shape to copy - one thing worth flagging if you go hand-editing it yourself: the README's own example JSON has a trailing comma before the closing brace, which is invalid JSON. Python's JSON parser won't forgive that, and a single stray comma anywhere in the file will break every style in the dropdown, not just the one you were editing. If your styles menu ever collapses down to just "No Style," check comfyui-nikosis-nodes/config/styles.json for a syntax error before assuming the install is broken.
Installing it
ComfyUI Manager is the easy path - search "ComfyUI-Nikosis-Nodes." Manually: git clone https://github.com/Nikosis/ComfyUI-Nikosis-Nodes into ComfyUI/custom_nodes, pip install -r requirements.txt, restart. There's nothing heavy in the dependency list and no models to download - this node is pure text/JSON manipulation.
Common issues
Dropdown only shows "No Style." Almost always a missing or malformed config/styles.json. See the trailing-comma trap above - it's the single most likely culprit if you've been editing the file by hand.
The negative_prompt output does nothing. If you're running a guidance-distilled model at CFG 1 - Z-Image Turbo, Flux 2 Klein's distilled variant, anything Lightning/Turbo/Hyper - the negative prompt has nothing to attach to. Classifier-free guidance needs an unconditional pass to steer away from, and at CFG 1 that pass doesn't run, so ComfyUI silently discards whatever you wired into it. This isn't specific to this node; it catches people on any negative-prompt field on these models. The fix is to restate the style's negative traits positively instead (say what you want, not what you don't) or wire in a CFG-restoring extension like NAG if you specifically need negative steering on a distilled checkpoint.
Picking a header entry instead of a style. The ||| CATEGORY rows exist to organize the long list visually - scroll past them to the actual Category | Style entries underneath if the effect doesn't seem to match what you expected.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| style1 | COMBO | No Style | 308 options: No Style, ||| PHOTOGRAPHY, Photography | Aerial, Photography | Architecture, Photography | Black and White, Photography | Cinematic, +302 |
| style2 | COMBO | No Style | 308 options: No Style, ||| PHOTOGRAPHY, Photography | Aerial, Photography | Architecture, Photography | Black and White, Photography | Cinematic, +302 |
| style3 | COMBO | No Style | 308 options: No Style, ||| PHOTOGRAPHY, Photography | Aerial, Photography | Architecture, Photography | Black and White, Photography | Cinematic, +302 |
| style4 | COMBO | No Style | 308 options: No Style, ||| PHOTOGRAPHY, Photography | Aerial, Photography | Architecture, Photography | Black and White, Photography | Cinematic, +302 |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| positive_prompt | STRING | — |
| negative_prompt | STRING | — |