Nodes/ComfyUI_MileHighStyler/Filter Styler (Advanced)
ComfyUI Node

Filter Styler (Advanced)

The SDXL dual-encoder version of the photo-filter menu

By TripleHeadedMonkey·Created 3 years ago·Updated about a year ago· 66
Filter 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
    filter
    negative_prompt_toBoth
    log_prompttrue

    Same 11-entry color-grade menu as the plain FilterStyler - Black and White, Sepia, Vintage, Monochrome, HDR, Vignette, Saturated, Warm, Cool, Contrast - in the "Advanced" node that exposes SDXL's two text encoders. For an 11-item filter menu the Advanced wiring is pretty overkill, but if you're already building an SDXL graph around the dual-encoder split, this slots in cleanly.

    What "Advanced" means

    SDXL runs two text encoders together - the big OpenCLIP-G and the smaller CLIP-L. This node splits your positive prompt into text_positive_g and text_positive_l, one per encoder, plus negative_prompt_to (Both / G only / L only) for the negative. A filter is a whole-image tone, so there's basically no reason to give G and L different text here - feed both the same subject. The split is SDXL-only anyway: SD 1.5 has one encoder, and the 2026 LLM-encoded models (Flux 2, Z-Image, Qwen) don't have this CLIP-G/CLIP-L architecture.

    How it works

    It's a fork of SDXL Prompt Styler. Each filter is a JSON template with a {prompt} slot; your subject drops in, the filter phrase gets wrapped at a strong weight (~2.0), and rewritten prompt strings come out. Text only - and it asks the model to generate the graded look, it doesn't post-process the output.

    Inputs and outputs that matter

    • filter - the 11-entry dropdown. No option = off.
    • text_positive_g / text_positive_l - your subject, once per SDXL encoder.
    • negative_prompt_to - Both (default), G only, or L only.

    log_prompt prints the built prompt. The node returns six strings - text_positive_g, text_positive_l, combined text_positive, and the three negatives. Route _g/_l into an SDXL dual CLIP Text Encode, or use the combined text_positive / text_negative.

    Installing it

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

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

    No models, no dependencies. Nodes appear under ali1234/stylers.

    Where people get burned

    • Expecting an actual grade. Neither Filter node applies a LUT; both bake a "sepia"-ish suggestion into the prompt that varies per seed. For an exact, repeatable color grade, filter the output image after generation.
    • Splitting G/L on a whole-image tone. Pointless. Same text both sides.
    • Stacking opposite filters. "Warm" plus "Cool" cancel; a strong "Black and White" overrides any color elsewhere. Pick one.
    • Off SDXL the split does nothing. Use the plain node, or just type "vintage, warm tones."
    • Reaching for a filter when you want a film stock. For real color control on the SDXL family, naming a specific film stock (Kodak Portra 400 for warm skin, Ilford HP5 for grainy black-and-white) steers the grade far more precisely than a generic "vintage." That's not in this 11-item menu, so type it by hand into the positive alongside the filter.
    Categoryali1234/stylers

    Inputs (6)

    NameTypeDefaultDescription
    text_positive_gSTRING
    text_positive_lSTRING
    text_negativeSTRING
    filterCOMBO11 options: No option, BlackAndWhite, Contrast, Cool, HDR, Monochrome, +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