Nodes/ComfyUI_MileHighStyler/Theme Styler (Advanced)
ComfyUI Node

Theme Styler (Advanced)

Eleven clean photo themes

By TripleHeadedMonkey·Created 3 years ago·Updated about a year ago· 66
Theme Styler (Advanced)
    • text_positive_g
    • text_positive_l
    • text_positive
    • text_negative_g
    • text_negative_l
    • text_negative
    text_positive_g
    text_positive_l
    text_negative
    theme
    negative_prompt_toBoth
    log_prompttrue

    After scrolling this pack's 7,000-artist and 3,500-verb monsters, ThemeStylerAdvanced is a relief: a short, sane menu of eleven photographic themes - Portrait, Landscape, Macro, Street, Wedding, Wildlife, Sports, Aerial, Abstract, Fashion. Pick one, and it nudges the whole image toward that genre of photography. It's the kind of small, curated list that actually gets used, because you can hold the entire menu in your head.

    The "Advanced" tag means it's the SDXL dual-CLIP variant - the theme menu, with the positive prompt split across SDXL's two encoders and a knob for the negative.

    What a "theme" actually does is pull in a bundle of genre conventions at once. Pick Wedding and you're nudging toward soft light, formalwear, and a certain palette without spelling any of it out; Wildlife leans telephoto, natural light, animal subject. That's the appeal of a small curated list like this over the pack's giant menus - every entry is a broad, legible concept the model has seen thousands of times, so it lands more reliably than some one-off style name buried in a 1,500-entry dropdown.

    How the "Advanced" plumbing works

    SDXL runs two text encoders, CLIP-G and CLIP-L. This node feeds them separately: text_positive_g to G, text_positive_l to L. The chosen theme is applied to both and wrapped at the pack's strong default weight (~2.0) - MileHighStyler being a fork of the classic SDXL Prompt Styler. negative_prompt_to (Both / G only / L only) routes the theme's built-in negative; default Both.

    The inputs and outputs that matter

    • theme - the 11-entry dropdown; No option is off.
    • text_positive_g / text_positive_l - your subject per encoder; same text in both if you're unsure.
    • text_negative - your negative, with the theme's negative routed by negative_prompt_to.

    log_prompt prints the assembled prompt to the console. Six outputs: text_positive_g, text_positive_l, merged text_positive, and text_negative_g / text_negative_l / merged text_negative. Feed _g / _l into a CLIPTextEncodeSDXL, or just take the merged text_positive / text_negative into a normal CLIP Text Encode.

    Installing it

    ComfyUI Manager: search ComfyUI_MileHighStyler, install, restart. Or:

    cd ComfyUI/custom_nodes && git clone https://github.com/TripleHeadedMonkey/ComfyUI_MileHighStyler
    

    then restart. No models, no requirements.txt, no dependencies - Python and JSON. Nodes appear under ali1234/stylers.

    Where people get burned

    • Advanced when basic would do. The G/L split only matters with a CLIPTextEncodeSDXL and deliberately different per-encoder text. For a single-word theme, that's almost never you - use the merged outputs.
    • Theme fights an explicit scene. If your positive text already fully describes, say, a studio portrait, adding Landscape on top just muddies it. Let the theme lead or let your text lead, not both.
    • Model era. Dual-CLIP is SDXL-only. Meaningless on the 2026 LLM-encoded models (Flux 2, Z-Image, Qwen). On those, a plain word like "portrait photography" does the job.
    • It's a nudge, not a genre lock. Eleven themes cover broad territory; expect a lean, not a guarantee. Reinforce with lighting and composition if you need it to stick.
    Categoryali1234/stylers

    Inputs (6)

    NameTypeDefaultDescription
    text_positive_gSTRING
    text_positive_lSTRING
    text_negativeSTRING
    themeCOMBO11 options: No option, Abstract, Aerial, Fashion, Landscape, Macro, +5
    negative_prompt_toCOMBOBoth3 options: Both, G only, L only
    log_promptBOOLEANtrue

    Outputs (6)

    NameTypeDescription
    text_positive_gSTRING
    text_positive_lSTRING
    text_positiveSTRING
    text_negative_gSTRING
    text_negative_lSTRING
    text_negativeSTRING