Nodes/ComfyUI Rogala Nodes/AdvancedStyleSelector
ComfyUI Node

AdvancedStyleSelector

A style picker that doesn't make you read walls of text

By Rogala·Created 6 months ago·Updated 4 months ago· 19
AdvancedStyleSelector
  • clip
  • positive
  • negative
  • style_name
positive_text
negative_text
use_negativetrue
modeManual
style_1
style_2
style_3
style_4
style_5
style_6
iterator_categories
iterator_seed0
append_counterfalse
save_promptfalse
thumbnail_preset

If you've ever stared at a styles.json file with a thousand entries and thought "there has to be a better way to pick one," this is that way. AdvancedStyleSelector swaps the usual dropdown-of-strings for a thumbnail gallery: you click a picture, it encodes your prompt into CONDITIONING, and you're done - no separate CLIPTextEncode node, no copy-pasting prompt fragments.

It ships with ~1000 styles covering the usual suspects (3D renders, anime, photorealism, sci-fi), each one a name, category, prompt, and negative_prompt combo stored in config/styles.json. Because it encodes straight to conditioning, the node slot where a CLIPTextEncode would normally sit in your graph just disappears. That alone is worth it if you iterate styles a lot.

How it works

The style application logic is refreshingly simple. If a style's prompt contains {prompt}, your positive_text gets substituted in at that spot; otherwise the node appends the style keywords to your text. Then it CLIP-encodes the result through your clip input.

The one switch to understand is use_negative. With it ON, your negative_text is encoded normally. With it OFF - the recommended setting for Flux, SD3.5 and friends - the node outputs ConditioningZeroOut, because those models are trained without negative prompts and benefit from a zeroed negative. That's the classic Flux gotcha handled for you.

The other input that changes how you work is mode:

  • Manual - click up to 6 thumbnails; each becomes a slot (style_1style_6) and all of them get merged into the single positive output. Favorites (the ⭐) and your own saved styles land in a My Styles category up top.
  • Iterator - cycles through every style in the checked categories, one per queue run, and stops the queue after the last one. Set iterator_seed to shuffle the order, or leave it at 0 for alphabetical. This is your "render all 40 styles overnight" mode.

Inputs and outputs that matter

You only really touch a handful of pins. clip comes from your checkpoint loader. positive_text and negative_text are your own prompt and anti-prompt (negative hides itself when use_negative is off). Two quality-of-life toggles worth knowing: append_counter tacks a timestamp onto the style_name output (abstract_20260424_143022) so connected Save Image nodes never overwrite, and save_prompt writes the resolved positive/negative to output/prompts/ as a JSON record.

Outputs: positive (CONDITIONING) into the sampler, negative (CONDITIONING) into the sampler's negative slot, and style_name (STRING) for filename or overlay use.

Installing it

It's part of ComfyUI-rogala, so one install gets you all eight nodes:

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

Restart ComfyUI and you'll find it under rogala → Prompting → Advanced Style Selector. ComfyUI Manager works too - search "rogala". No pip dependencies and no model downloads; the pack ships its own fonts and thumbnails.

Where people get burned

The folder naming rules. Model thumbnail presets and My Styles thumbnails only accept letters, digits and underscores - FLUX_1 works, FLUX.1 and FLUX-1 silently break across OSes. If your custom thumbnails don't show up, that's the usual culprit. Second gotcha: edit config/styles.json all you want, but hit Reload Styles afterwards - it hot-reloads without a restart, and it also resets the Iterator if you're mid-cycle. And if a thumbnail is missing for a style, the node falls back to the base folder, which can make two styles look identical at a glance. Minor, but worth knowing when you're judging by eye.

Categoryrogala/Prompting

Inputs (16)

NameTypeDefaultDescription
clipCLIP
positive_textSTRINGYour positive prompt. Styles will be applied on top.
negative_textSTRINGYour negative prompt. Hidden when use_negative is OFF.
use_negativeBOOLEANtrueON: encode negative normally. OFF: output ConditioningZeroOut (for Flux/SD3).
modeCOMBOManual2 options: Manual, Iterator
style_1STRINGSelected style slot 1
style_2STRINGSelected style slot 2
style_3STRINGSelected style slot 3
style_4STRINGSelected style slot 4
style_5STRINGSelected style slot 5
style_6STRINGSelected style slot 6
iterator_categoriesSTRINGComma-separated categories to iterate. Empty = all.
iterator_seedINT00–4294967295Seed for shuffling iterator order (0 = alphabetical).
append_counterBOOLEANfalseAppend a timestamp to style_name output for unique filenames (e.g. abstract_20250424_143022).
save_promptBOOLEANfalseSave positive and negative prompts to a JSON file in output/prompts/.
thumbnail_presetSTRINGActive model thumbnail preset folder name.

Outputs (3)

NameTypeDescription
positiveCONDITIONING
negativeCONDITIONING
style_nameSTRING