Nodes/Bjornulf_custom_nodes/๐ŸŽจ๐Ÿ“œ Style Selector (๐ŸŽฒ or โ™ป or โ™ป๐Ÿ“‘) + Civitai urn
ComfyUI Node

๐ŸŽจ๐Ÿ“œ Style Selector (๐ŸŽฒ or โ™ป or โ™ป๐Ÿ“‘) + Civitai urn

Pick, random, or loop through art styles

By justUmenยทCreated 2 years agoยทUpdated about a year agoยท 545
๐ŸŽจ๐Ÿ“œ Style Selector (๐ŸŽฒ or โ™ป or โ™ป๐Ÿ“‘) + Civitai urn
    • selected_category
    • selected_style_LIST
    • recommended_with_selected_category
    • random_LIST_with_selected_category
    โ—„categoryโ–พโ–บ
    โ—„styleโ–พโ–บ
    โ—„modelNoneโ–บ
    โ—„seed-1โ–บ
    โ—„LOOP_random_LISTfalseโ–บ
    โ—„LOOP_style_LISTfalseโ–บ
    โ—„LOOP_SEQUENTIALfalseโ–บ
    โ—„jump1โ–บ

    Style Selector is a menu of art styles - "Cinematic," "Anime," "Baroque," fifty-one of them - that you can pick from, roll at random, or loop through automatically. It's built for exploration: instead of typing "cinematic photography" into a prompt over and over, you dial in a category, choose a style (or let it cycle), and it feeds the style text into your generation. It also carries some CivitAI model-urn plumbing for the pack's API nodes.

    Where it fits - and a fair warning

    Style is one of the highest-leverage words in a prompt, and comparing styles is exactly the kind of tedious, mechanical thing worth automating. This node organizes a curated style library behind a two-level menu (category โ†’ style) and adds the pack's "universal selector" behavior: the same node can hand you one style, a random one, or the whole list in sequence.

    Be honest with yourself about maturity, though. The author files this under the pack's "coming soon / needs testing" nodes and says outright the CivitAI model database behind it wants more work - his advice is to send it the model urns you like rather than trust the built-ins. So treat it as a solid style picker/looper that's still finding its feet on the CivitAI-integration side. If you just want to sweep styles into a normal local generation, it's already useful.

    How it works

    The two-level pick:

    • category - the broad bucket: Painting, Photography, Digital Art, 3D Rendering, Illustration.
    • style - the specific style within it, from a list of 51 (Anime, Cinematic, Comic Book, Baroque, and so on).
    • model - an optional model hint (12 options like Juggernaut XL, SDXL, Realistic Stock Photo, or None), used mainly to feed CivitAI urns to the pack's API image nodes.
    • seed - the standard re-run / randomization lever.

    Then the mode switches, which is where the "universal" part comes in. LOOP_random_LIST loops over styles in random order; LOOP_style_LIST loops through them in list order; LOOP_SEQUENTIAL advances one style per workflow run (rather than looping within a single run); and jump controls the step size when it's iterating. Flip one of these on to sweep instead of picking a single style.

    Outputs: selected_category and recommended_with_selected_category are single strings; selected_style_LIST and random_LIST_with_selected_category are lists (used when you're looping). You wire the style text into your prompt chain - often through a Combine Texts node so it joins your subject - or into the CivitAI API node if that's your pipeline.

    Installing the pack

    One pack for everything: ComfyUI Manager โ†’ Install Custom Nodes โ†’ search Bjornulf_custom_nodes โ†’ install โ†’ restart, or

    cd ComfyUI/custom_nodes
    git clone https://github.com/justUmen/Bjornulf_custom_nodes
    

    Restart and it's under Bjornulf. The style-selection side has no special dependencies. The CivitAI-urn side only matters if you're using the pack's CivitAI API node, which needs civitai-py (in requirements.txt) and an API token.

    Common issues

    The big one is expectations: this is a work-in-progress node by the author's own admission, and the CivitAI model list is the weak part - if a built-in urn feels slow or off, supply your own instead of leaning on the defaults. CivitAI's API can also just be slow, which is why the node offers a "don't wait" path that saves links to recover images later (via the pack's Load CivitAI Links node) rather than blocking your run.

    For plain local use, the failure mode is subtler: turn on more than one LOOP toggle at once and the behavior gets confusing fast. Pick one mode - single style, random, or one sequential - and keep a Show node on the selected style so you always know which one produced the current image.

    CategoryBjornulf

    Inputs (8)

    NameTypeDefaultDescription
    categoryCOMBO5 options: Painting, Photography, Digital Art, 3D Rendering, Illustration
    styleCOMBO51 options: Abstract Expressionism, Algorithmic Art, Analog Film, Anime, Architectural Rendering, Baroque, +45
    modelCOMBONone12 options: None, BriXL, Copax TimeLessXL, FormulaXL, Hassaku XL, Juggernaut XL, +6
    seedINT-1-1โ€“9223372036854776000โ€”
    LOOP_random_LISTBOOLEANfalseโ€”
    LOOP_style_LISTBOOLEANfalseโ€”
    LOOP_SEQUENTIALBOOLEANfalseโ€”
    jumpINT11โ€“100โ€”

    Outputs (4)

    NameTypeDescription
    selected_categorySTRINGโ€”
    selected_style_LISTSTRINGโ€”
    recommended_with_selected_categorySTRINGโ€”
    random_LIST_with_selected_categorySTRINGโ€”