Nodes/OmniNodes/Negative Prompt Presets 🚫
ComfyUI Node

Negative Prompt Presets 🚫

Stop retyping the same negative prompt in every workflow

By TensorVizionΒ·Created 3 months agoΒ·Updated about 8 hours agoΒ· 0
Negative Prompt Presets 🚫
    • negative_prompt
    • summary
    β—„presetgeneral quality + anatomyβ–Ί
    β—„custom_textβ–Ί

    Every SD1.5/SDXL workflow you've ever copied has the same block of boilerplate sitting in the negative prompt box: "worst quality, low quality, blurry, bad anatomy, extra fingers..." It works, and you are tired of typing it. Negative Prompt Presets 🚫 is a dropdown that hands you that boilerplate, plus a custom_text field for your additions, and outputs a ready-to-encode STRING.

    The value is not the text - it's that the block is now one widget instead of a wall of tags you maintain across every workflow. Pick a preset, append your per-job bits, wire the output into CLIP Text Encode's negative input. Done.

    How it works

    It's a dictionary of preset strings, nothing more clever than that. The dropdown choices are the point: none (outputs only your custom text - handy pass-through), general quality (the jpeg artifacts / watermark / blurry family), anatomy fixes (bad hands, extra fingers, long neck, the whole dance), general quality + anatomy (the combined workhorse), and two style-flipper presets - photography to avoid the illustration look, and anime/illustration to avoid the photo-real look. Your custom_text is appended comma-separated after the preset. Outputs are the assembled negative_prompt string and a summary so you can see which preset fired.

    The input that matters

    Just preset and custom_text. The summary output is worth wiring into a display once so you can confirm what you actually sent - a surprising number of "why did this render weird" moments trace back to a stale preset choice.

    Now the honest editorial, because the KB's prompt-engineering doc makes the point better than I can: negative prompts are a living practice on SD1.5 and SDXL-lineage models, and largely inert on the LLM-encoded 2026 generation (Flux-style models at CFG 1, where the negative prompt does nothing, and can actively hurt above it). So treat this node for what it is: a convenience for the SDXL/Illustrious/Anima world where that boilerplate still does real work. On a Flux workflow, the preset is dead weight and this node saves you nothing.

    Installing it

    Part of the OmniNodes pack:

    cd ComfyUI/custom_nodes/
    git clone https://github.com/TensorVizion/OmniNodes
    

    Restart ComfyUI (or search "OmniNodes" in ComfyUI Manager). No extra dependencies - it's pure Python, no pip installs. It registers under TensorVizion/Prompt. If it doesn't show up, restart completely and look for [OmniNodes] βœ… Loaded in the terminal.

    If you're on SDXL-lineage models, this is a genuine QoL win: one dropdown replaces a dozen copies of the same negative block, and custom_text keeps the per-workflow tweaks without forking the whole preset.

    CategoryTensorVizion/Prompt

    Inputs (2)

    NameTypeDefaultDescription
    presetCOMBOgeneral quality + anatomy6 options: none, general quality, anatomy fixes, general quality + anatomy, photography (avoid illustration look), anime/illustration (avoid photo-real look)
    custom_textSTRINGβ€”

    Outputs (2)

    NameTypeDescription
    negative_promptSTRINGβ€”
    summarySTRINGβ€”