Nodes/ComfyUI-UtilsCollection/System Message Presets
ComfyUI Node

System Message Presets

Grab a System Prompt for Flux2-Style LLM Encoders, Don't Type It Again

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

    Modern image models don't read your prompt with CLIP anymore - the encoder is a general-purpose LLM and your prompt is a chat turn. Those models take a system message too, and if you're hand-writing the same "you are FLUX.2 by Black Forest Labs, an image-editing expert..." block into every workflow, UC_SystemMessagePresets is here to end that. It's a dropdown of ready-made system prompts, plus one toggle.

    What's in the dropdown

    The presets come straight from the pack's presets collection, and there are three families:

    • F2_SYSTEM_MESSAGE - the default. A generic "you are an AI that reasons about image descriptions" system prompt used in Flux2-style workflows.
    • F2_SYSTEM_MESSAGE_UPSAMPLING_T2I / I2I - expert prompt-engineering personas for upscaling, one for text-to-image, one for image-editing workflows. These are the "rewrite my prompt to be more descriptive while keeping the subject" instructions.
    • A long list of style presets - PHOTOGRAPHY_PHOTOREALISM, 3D, ANIME, CYBERPUNK, GHIBLI, PIXAR, DISNEY, COMIC_BOOK, POKEMON, MINECRAFT, PIXEL_ART, RETRO_GAME, and a couple dozen more. Each one instructs the model to convert your editing request into a concise instruction that pushes the output toward that style while preserving composition and identity.

    The style presets are the genuinely useful part if you run image-edit models (Flux2 dev, Qwen-Image lineage): they turn "make it look like X" into the kind of structured, single-instruction edit prompt those LLM encoders actually respond to - which, per the prompt-engineering consensus, is exactly how you get better adherence from an instruction-following encoder.

    The two inputs, and the one that's a trap

    • preset - the dropdown. That's it.
    • escape_parentheses (default off) - when on, every unescaped ( and ) in the preset gets backslash-escaped before output. The tooltip says it plainly: it prevents errors from parentheses left in the prompt. If the preset's output is going into a text field that a CLIP-era weight parser will chew on, flip this on so (word:1.3)-style syntax doesn't get misinterpreted as weights. On an LLM encoder it matters less, but it's harmless insurance.

    The output is a single STRING socket, system_prompt, which wires straight into the system_prompt input of the pack's system-prompt text encode nodes (UC_TextEncodeFlux2SystemPrompt, UC_TextEncodeKleinSystemPrompt, the SystemEdit family) or any text field.

    Installing it

    It ships in ComfyUI-UtilsCollection by silveroxides:

    cd ComfyUI/custom_nodes
    git clone https://github.com/silveroxides/ComfyUI-UtilsCollection
    

    Restart ComfyUI, or search "ComfyUI-UtilsCollection" in Manager. Dependencies are just opencv-python and typing-extensions - this is a pure text node.

    Where people get tripped up

    The presets are fixed strings from the pack, so if you want your own system message you'll be editing a workflow JSON or just typing it directly - the node is for the stock set, not a custom library. And don't expect the preset to force a style; it's guidance for the encoder, and a strong positive prompt can override it. If a style preset seems to do nothing on your model, check that the model's encoder is actually an LLM-encoder type that consumes system messages at all - feed these into a plain CLIP encoder and they're just words in the prompt.

    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