VLM System Instruction Advanced Presets (Legacy)
Preset plus your own queries, wrapped in one string
- system_instruction
This is the "Advanced" take on the VLM system-instruction preset family, and the legacy ID for UC_VLMSysInstrAdvPresets - same behavior, old name, kept so saved workflows keep loading. Where the plain preset node just hands you a string, this one is an assembly line: it takes a base system instruction, optionally embeds your own system and user queries into it, and optionally wraps the whole thing in a jailbreak envelope. One string in the end, ready for the VLM.
The assembly order matters, so here's the formula: preset content + optional system-query wrapper + optional nested user query + optional jailbreak wrapper. If you type a system_query, the node wraps it in the pack's {system_query} = { ... } framing and appends it. If you also provide a user_query, that gets nested inside the system query in its own {user_query} = { ... } block. Give a user query without a system query and it's wrapped on its own. The preset content - the long captioning persona from UC_VLMSysInstrPresets - is always the base.
The jailbreak boolean is the standout. Flip it on and the whole assembled string gets wrapped in a second, outer prompt - the pack's "time capsule" style wrapper that tells the model to answer without refusal boilerplate. That's the explicit-captioning crowd's tool: when your VLM starts refusing to describe content, this is the hammer. It's also exactly the kind of feature to be deliberate about, because it's unconditional once enabled - there's no per-request filter here, just a wrapper on the system prompt.
Inputs and output
- preset (combo) - the base system instruction.
- jailbreak (boolean) - off by default; wraps the result in the refusal-suppressing envelope.
- system_query (multiline STRING) - your extra instruction, embedded with the pack's wrapper syntax.
- user_query (multiline STRING) - nested inside the system query block.
- system_instruction (STRING) - the assembled result, wired into the VLM's system-prompt slot.
Installing it
Part of ComfyUI-UtilsCollection - Manager search or:
cd ComfyUI/custom_nodes
git clone https://github.com/silveroxides/ComfyUI-UtilsCollection
Restart, done. Deps are opencv-python and typing-extensions, no model downloads. If ComfyUI offers the UC_VLMSysInstrAdvPresets replacement, take it.
One trap: because the wrappers are literal text, watch what you put in the query fields - stray { or } braces can collide with the wrapper syntax and produce a mangled system prompt that's hard to spot on screen. Keep your queries plain, and if output starts looking scrambled, check the query fields before the preset.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| preset | COMBO | action_system_instruction | 29 options: action_system_instruction, action_system_instruction_crude, action_system_instruction_qwen, cinematic_dumb_intelligent, ideogram_4_json_instruction, ideogram_4_json_instruction_color, +23 |
| jailbreak | BOOLEAN | false | — |
| system_query | STRING | — | |
| user_query | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| system_instruction | STRING | — |