Nodes/SDXL Adherence/Negative Prompt Helper
ComfyUI Node

Negative Prompt Helper

A one-click antidote to plastic skin, minus the 40-word block

By regiellis·Created about a year ago·Updated about a year ago· 10
Negative Prompt Helper
    • neg_text
    negative
    realism_negstrue
    custom_packcartoon, illustration, anime, cgi, plastic skin, overprocessed, oversharpened, waxy, low detail, smooth skin, extra fingers

    SDXL's skin has a tell: give it half a chance and faces come back waxy, plastic, or stuck somewhere between photo and CGI. One classic fix is to shovel a pile of "cartoon, plastic skin, overprocessed, waxy..." terms into the negative prompt - which works, but it's an ugly block to maintain and people tend to overdo it. Negative Prompt Helper automates that: it merges a small, vetted realism pack into whatever negatives you already write, then de-duplicates the whole thing so you're not fighting yourself with doubled terms.

    It's a helper from the SDXL Adherence pack (regiellis/ComfyUI-SDXL-Adherence), and it's deliberately boring. It does not encode anything, it doesn't call a model, it just builds you a string. That's the whole job, and it does it well.

    How it works

    The node takes your negative text and, when the realism_negs toggle is on, appends its realism pack. Then it splits everything on commas, semicolons, and newlines, de-duplicates case-insensitively while preserving order, and joins it back with ", ". The default pack is short on purpose - eleven terms like plastic skin, waxy, overprocessed, smooth skin, extra fingers - because a couple of specific terms beats forty generic ones every time.

    The custom_pack input lets you edit that list directly, so you can swap the defaults for the ones your checkpoint actually responds to. Leave it blank and it uses the built-in set.

    Inputs and outputs

    • negative - your own negative prompt (multiline).
    • realism_negs - the toggle. Default on; flip it off to get a pure passthrough of your text.
    • custom_pack (optional) - the editable realism list, applied only when the toggle is on.

    Output is a single neg_text STRING. Wire it into the neg_text input of the pack's SDXL Dual CLIP Encode, or into a plain CLIPTextEncode - it's just text either way.

    Installing it

    Same pack, same single install:

    cd ComfyUI/custom_nodes
    git clone https://github.com/regiellis/ComfyUI-SDXL-Adherence
    

    Restart ComfyUI, or search "SDXL Adherence" in ComfyUI Manager. No downloads, no dependencies.

    The honest caveats

    Negatives only steer the image when CFG is meaningfully above 1 - this pack runs SDXL around CFG 6 with CFG-rescale, so they work here, but the same terms are inert on guidance-distilled models that sit at CFG 1. Worth knowing if you copy the habit to a Turbo checkpoint.

    Second, every term you add costs token budget inside each 75-token CLIP chunk, and SDXL chunks silently. If you feed this node a long negative, you're trading negative coverage against positive prompt room. Keep your own negative to a few specific defects and let the pack handle the genre-wide "not a cartoon" stuff.

    And the genuinely useful detail: because it de-dups, you can stop worrying about whether "waxy skin" is already in the pack. Type it anyway. Nothing doubles up.

    Categoryitsjustregi / SDXL Adherence

    Inputs (3)

    NameTypeDefaultDescription
    negativeSTRING
    realism_negsBOOLEANtrue
    custom_packoptSTRINGcartoon, illustration, anime, cgi, plastic skin, overprocessed, oversharpened, waxy, low detail, smooth skin, extra fingersEditable realism pack (applied when toggle is on).

    Outputs (1)

    NameTypeDescription
    neg_textSTRING