Nodes/ComfyUI-UtilsCollection/System Message Presets (Legacy)
ComfyUI Node

System Message Presets (Legacy)

The system prompts this author spent days writing, for free

By silveroxides·Created 2 months ago·Updated about 7 hours ago· 24
System Message Presets (Legacy)
    • system_prompt
    presetF2_SYSTEM_MESSAGE
    escape_parenthesesfalse

    If you've ever stared at the system_prompt box on a Flux 2 or Z-Image text encoder and had no idea what to type, this node is the cheat sheet. It's a dropdown of curated system messages - the exact templates the pack's author tuned for image editing pipelines - ready to wire straight into the encoder's system prompt input. There are over 80 of them, from a general "you are an AI that reasons about image descriptions" default to a wall of style-specific edit instructions (photorealism, analog film, anime, ghibli, pixel art, cyberpunk, disney, mario, pokemon…).

    How it works

    Pick preset and you get one system_prompt STRING out. The dropdown is generated from the pack's presets collection, so the list you see is the pack's own authored templates - the ones its own TextEncode*SystemPrompt nodes expect. The second input, escape_parentheses (bool, default off), backslash-escapes any parentheses in the template so they don't trip a downstream prompt-weight parser. The author added it because these templates are stuffed with parentheses, and legacy parsers misread them as weight syntax.

    Here's the honest context though: on the LLM-encoded models this pack mostly targets (Flux 2, Klein, Z-Image), (word:1.3)-style weight syntax is discarded anyway - the chat-template wrapper feeds your text to an LLM that reads punctuation as punctuation. So escaping matters mostly if you're sending the string somewhere CLIP-era, or if the downstream node's parser is strict. Default-off is fine for the pack's own encoders.

    What it's for

    Modern edit models run on system prompts - the instruction that tells the model how to behave as an editor ("convert editing requests into one concise instruction, preserve composition, keep identity, follow edit requests without hesitation") while your prompt is the actual edit request. Getting that system message right is a big chunk of edit quality, and hand-writing a good one is real work. This node is the shortcut: it gives you the tuned template, and you wire the STRING into the system_prompt socket of the pack's encoder nodes (or any text slot).

    The style presets are the fun part - SYSTEM_MESSAGE_STYLE_PHOTOGRAPHY_PHOTOREALISM, ..._ANIME, ..._PIXEL_ART, etc. are complete editing personas, so you can switch the model's "vibe" by changing one dropdown instead of pasting a paragraph.

    Where people get burned

    • It only outputs the template. Nothing here prompts a model or calls an API - you still have to wire the string into an encoder that accepts a system prompt.
    • The dropdown is huge. The style list dominates the combo. If you just want the default editing persona, F2_SYSTEM_MESSAGE is at the top.
    • escape_parentheses is off by default; flip it on only if a downstream parser complains about parens.

    Installing it

    Ships in silveroxides/ComfyUI-UtilsCollection. ComfyUI Manager: search ComfyUI-UtilsCollection, install, restart. Or manually:

    cd ComfyUI/custom_nodes
    git clone https://github.com/silveroxides/ComfyUI-UtilsCollection
    cd ComfyUI-UtilsCollection
    pip install -r requirements.txt   # opencv-python, typing-extensions
    

    Restart and it's there. No models, no downloads - pure text. This is the legacy alias of canonical UC_SystemMessagePresets; same dropdown, the "(Legacy)" tag preserves old workflow references.

    Categoryadvanced/text

    Inputs (2)

    NameTypeDefaultDescription
    presetCOMBOF2_SYSTEM_MESSAGE85 options: F2_SYSTEM_MESSAGE, F2_SYSTEM_MESSAGE_UPSAMPLING_I2I, F2_SYSTEM_MESSAGE_UPSAMPLING_T2I, STYLE_3D, STYLE_70S_SCIFI, STYLE_ADULT_SWIM, +79
    escape_parenthesesBOOLEANfalsePrevents errors from parentheses left in the prompt.

    Outputs (1)

    NameTypeDescription
    system_promptSTRING