Nodes/Powder Nodes/Powder Styler
ComfyUI Node

Powder Styler

Your SDXL style library, without the prompt-styler sprawl

By E2GO·Created 7 months ago·Updated 4 months ago· 0
Powder Styler
    • style
    • style_text
    style_position
    use_positivetrue
    use_negativetrue
    style_config[]

    The Powder Styler is the E2GO "Powder" pack's answer to SDXL prompt-styler nodes: a library of styles you can stack, toggle, and feed straight into Powder Conditioner as JSON. If you've used the classic prompt-styler packs, you know the model - a style is a prefix, a suffix, and a negative that wrap your prompt. What this one does differently is treat styles as data, not as a giant dropdown of pre-baked combos.

    It ships with a starter library (including SDXL prompt-styler-format JSON files), but the real power is that your own styles are just .json files in a folder. Add one, wait two seconds, and it's in the dropdown - no restart, no code.

    How it works

    Each style in the library is a small object with four fields: a name, a prefix, a suffix, and a negative. On the node you build a list of up to 20 style slots; each slot has an Enabled toggle, a style picker, and per-slot Use Positive / Use Negative toggles. The node merges all enabled styles, deduplicates tags, and emits a single JSON blob describing the combined prefix, suffix, negative, and position - plus a plain-text style_text output.

    The style_position combo controls how the style wraps your prompt:

    • Wrap prompt - prefix + prompt + suffix (the classic).
    • Before prompt - prefix + suffix + prompt.
    • After prompt - prompt + prefix + suffix.

    Position lives in the emitted JSON, so the Conditioner knows how to assemble the final text.

    Adding your own styles

    Drop a JSON file into e2go_nodes/styles/. The filename doesn't matter - any .json in that folder is picked up within ~2 seconds, no restart. The format:

    [
      {
        "name": "My Cool Style",
        "prefix": "text before prompt",
        "suffix": "text after prompt",
        "negative": "added to negative prompt"
      }
    ]
    

    The old SDXL prompt-styler format is also supported, where prompt contains the whole wrapper with a {prompt} placeholder and negative_prompt is the negative. And since both Styler and Powder Grid Saver share the same styles cache, a new style is visible to the grid labels at the same time it appears here.

    Inputs and outputs

    • style_position - wrap / before / after.
    • use_positive / use_negative - master switches for whether styles contribute to positive and negative text at all. Per-slot toggles override these.
    • style (output) - JSON with prefix, suffix, negative, position. Wire this into Powder Conditioner's style input.
    • style_text (output) - the combined prefix+suffix as plain text, handy if you want to inspect or use it without the conditioner.

    Installation

    One install, all eight nodes:

    cd ComfyUI/custom_nodes
    git clone https://github.com/E2GO/e2go-comfyui-nodes.git e2go_nodes
    

    Restart ComfyUI, or search e2go_nodes / E2GO in ComfyUI Manager. No extra Python dependencies, verified against ComfyUI 0.17+.

    Common issues

    The usual stumble is expecting the style JSON to be human-readable. It isn't - style is machine food for the Conditioner, and if you want to see what a style actually does to your text, read style_text or the Conditioner's final_positive output instead.

    Second, position is a per-node setting, not per-style. If you mix styles that need different positions, the node can't express that - pick one position for the whole slot list and design your styles around it.

    And a real-world prompt-engineering note: style suffixes that pile on quality tags matter differently depending on your model. On SDXL-lineage models (Illustrious, Pony, NoobAI) the tag-style suffix is doing real work; on newer LLM-encoded models much of that vocabulary goes inert. The Styler doesn't care - it just assembles text - but if your styles stop having an effect on a new checkpoint, the style text isn't the problem, the encoder is. The dedup it does on tags keeps your prompt from bloating with repeated quality tags, which helps on both.

    Categorye2go_nodes

    Inputs (4)

    NameTypeDefaultDescription
    style_positionCOMBO3 options: Wrap prompt, Before prompt, After prompt
    use_positiveBOOLEANtrue
    use_negativeBOOLEANtrue
    style_configSTRING[]

    Outputs (2)

    NameTypeDescription
    styleSTRING
    style_textSTRING