Nodes/ComfyUI_Eclipse/Prompt Styler v2
ComfyUI Node

Prompt Styler v2

Stop retyping 'cinematic film still, shallow depth of field' β€” let this styler do it

By r-vageΒ·Created 10 months agoΒ·Updated a day agoΒ· 32
Prompt Styler v2
    • text_positive
    • text_negative
    β—„text_positiveβ–Ί
    β—„style_modetag_basedβ–Ί
    β—„styleβ–Ύβ–Ί
    β—„index0β–Ί
    β—„featuresβ–Ί
    β—„spaces_to_underscoresfalseβ–Ί
    β—„max_words_to_combine3β–Ί
    β—„apply_to_positivetrueβ–Ί
    β—„apply_to_negativetrueβ–Ί
    β—„log_promptfalseβ–Ί
    β—„text_negativeβ–Ί

    If you've ever hand-typed cinematic film still, bokeh, shallow depth of field, film grain into a prompt and then done it again on the next image, you're the target audience. Prompt Styler v2 takes your bare description, wraps it in one of 107 pre-built style templates, and hands you back a finished positive/negative pair ready for the text encoder. It's the compact variant of the plain Prompt Styler that ships in the ComfyUI_Eclipse pack - same styling engine, same style library, fewer widgets cluttering your graph.

    Here's the thing worth knowing up front: it's pure string templating. No model downloads, no API keys, no GPU work. You give it text, it gives you text. A style is just a template with a {prompt} placeholder plus a negative-prompt half, and the node replaces the placeholder with your prompt and merges the style's negative with yours. Under the hood it reads CSV/JSON style files straight out of the pack's styles/ folder, which gets seeded from .defaults/ on first run. Drop your own file in there and restart to see it in the dropdown.

    What you actually set

    Most of the schema is defaults you can ignore. The ones that matter:

    • text_positive - your base prompt, the "what". Feed it from any text node.
    • style_mode - tag_based (comma-separated tags, aimed at SD 1.5/SDXL/Pony-lineage models), natural_language (flowing sentences), or custom (your own files).
    • style - pick from the library, e.g. sai-cinematic, ads-gourmet food photography, artstyle-watercolor.
    • index - the batch-automation knob. 0 and above pick a fixed style (wrapping at the library edge), -1 randomizes per queue, -2/-3 advance or retreat one step per queue. Set -2 with a batch count of 10 and you A/B-test ten styles without touching the dropdown.

    Then there's the whole point of the "v2": instead of four checkbox rows, apply_to_positive, apply_to_negative, spaces_to_underscores and log_prompt are tucked into one compact feature-chip bar on the node. Click it to expand. The toggles serialize into hidden socketless Boolean inputs, which is why a saved workflow reloads with your choices intact - the bar is cosmetic, the booleans behind it are authoritative. Enabling spaces_to_underscores reveals max_words_to_combine (default 3), which limits underscore conversion to short comma-separated segments so prose stays prose. Underscore conversion exists because some CLIP tokenizers prefer shallow_depth_of_field over spaced words - a legacy tag-era habit that still matters for Pony/Illustrious-style models.

    The two outputs, text_positive and text_negative, are plain STRINGs. Wire them into your CLIP Text Encode (positive goes to the positive conditioning, negative to the negative) or into another prompt-stitching node - this thing plays nice with anything that eats text.

    Install and first run

    It's part of the big Eclipse utility pack, so you can't install just the styler. Easiest path is ComfyUI Manager: search for ComfyUI_Eclipse, install, restart. Or by hand:

    cd ComfyUI/custom_nodes
    git clone https://github.com/r-vage/ComfyUI_Eclipse
    # restart ComfyUI
    

    Then find it under the Eclipse β†’ Text menu group. No model files to fetch - the 107 styles are in the repo. The pack's requirements are the usual stack (torch, numpy, Pillow, opencv-python) that ComfyUI already provides, so you'll rarely need to pip install anything extra for this node. Note that Eclipse changed names and dropped all legacy nodes in v4.0.0 (old workflows said "RvTools"), so pull a recent version.

    Common gotchas

    • Style not applied, output equals input: apply_to_positive is off, or the template lacks the {prompt} placeholder. Flip on log_prompt to watch the pair print to console.
    • The word-limit control is missing: that's expected. Enable the spaces_to_underscores chip; the max_words_to_combine slider only appears while it's on.
    • Style changes when you queue: you left index on -1/-2/-3. Set it to 0 or above for a locked style.
    • Your custom CSV isn't in the dropdown: styles load at startup - restart ComfyUI. Name it natural_lang_mystyles.csv or tag_based_mystyles.csv to force its mode.

    One honest caveat, because the styler genre is an SDXL-era habit: this whole approach assumes a CLIP-tokenized checkpoint where tags and a meaningful negative prompt still do work. On newer LLM-encoded models your prompt is read like an instruction and the negative box can be ignored entirely. If you're on that side of the fence, natural_language mode is the one to reach for - and if you're on a classic SDXL/Illustrious/Pony workflow, this node is genuinely one of the least fiddly ways to keep your style vocabulary consistent across a batch.

    CategoryπŸŒ’ Eclipse/ Text

    Inputs (11)

    NameTypeDefaultDescription
    text_positiveSTRINGPositive prompt text. Will replace {prompt} in the style template.
    style_modeCOMBOtag_basedSelect style format: tag_based uses comma-separated tags, natural_language uses flowing sentences, custom shows user-added style files.
    styleCOMBOSelect style to apply (contains both positive and negative prompts).
    indexINT0-3–999999Style index: 0+ = fixed position, -1 = random, -2 = increment, -3 = decrement. Use navigation buttons to control.
    featuresSTRINGFeature-chip placeholder. The serialized Boolean inputs remain authoritative.
    spaces_to_underscoresBOOLEANfalseConvert spaces to underscores in tag-like segments (comma-separated parts with few words).
    max_words_to_combineINT32–10Maximum words in a segment to apply underscore conversion. Segments with more words are treated as natural language and left unchanged.
    apply_to_positiveBOOLEANtrueApply style to positive prompt.
    apply_to_negativeBOOLEANtrueApply style to negative prompt.
    log_promptBOOLEANfalseLog the styled prompts to console.
    text_negativeoptSTRINGNegative prompt text. Will be combined with the style's negative prompt.

    Outputs (2)

    NameTypeDescription
    text_positiveSTRINGβ€”
    text_negativeSTRINGβ€”