Kontext VLM System Presets (UTK)
33 ready-made system prompts for Kontext-style image editing, no API key required
- Prompt
Instruction-based editing models - Flux Kontext, Qwen-Image-Edit, the whole "describe what changed, get a new image" family - are extremely good, and they're also extremely sensitive to how you phrase the instruction. Write "change the background" and you get chaos; write a proper transformation directive and you get a coherent edit. Kontext VLM System Presets (UTK) is a library of 33 pre-written, battle-tested system prompts for exactly that job. Pick a preset like "Relighting" or "Product Lifestyle Scene," feed it your edit request, and it hands you the polished instruction string to send to your editing model.
It's from ComfyUI-UniversalToolkit, and the name deserves a beat of explanation: these presets target the Kontext format - the system-prompt convention Black Forest Labs introduced with FLUX.1 Kontext, an in-context editor that takes a reference image plus an instruction and preserves the subject through the edit. The pack's presets are system-prompt templates written in that idiom, so they plug into any Kontext-style workflow. No API, no model, no key - this node only produces text.
How it works
The node holds a hardcoded JSON library of presets, organized by category: Core (the "Universal Editor" default), Composite (deep fusion, seamless integration), Scene (teleportation, season change, fantasy world, furniture removal, interior design), Photo (camera movement, relighting, camera zoom, tilt-shift, reflection, pose/viewpoint), Ecommerce (six product-photography presets), Character (hair, bodybuilding, age, fashion), Artistic (colorization, cartoon, pixel art, sketch, oil painting), and Utility (material, add text, remove text).
Each preset is a long system prompt that instructs a VLM to act as a prompt engineer and emit exactly one precise editing instruction. The user_prompt input is optional, and when you fill it in it gets substituted into the $user_prompt$ placeholder baked into most presets - so "Scene-Season Change" + "make it autumn in a mountain town" produces a complete, specific directive. The preset dropdown is a flat list of 33+ entries named like Scene-Season Change (季节变换), so the Chinese labels are part of the name.
Inputs and outputs
preset- the dropdown. That's it, plus:user_prompt(STRING, optional, multiline) - your specific request, spliced into the template.
Single output: Prompt (STRING). Wire it into whatever text slot your Kontext-compatible editing node takes - usually a "prompt" or "instruction" input on the sampler/editor.
Install and gotchas
Install via ComfyUI Manager (search "ComfyUI-UniversalToolkit") or:
cd ComfyUI/custom_nodes
git clone https://github.com/whmc76/ComfyUI-UniversalToolkit
pip install -r requirements.txt
Restart ComfyUI. This node needs nothing beyond Python's standard json module - it's the most dependency-free node in the pack.
The gotcha is expectation-setting. The node generates the instruction, not the image - if you're not running a Kontext-style editor downstream, the output is just a nice paragraph. And the presets are tuned for the Kontext/Flux ecosystem; if you use them with a different editing model, the phrasing will still help but won't be as tightly matched. One more: because the whole library is baked into the node's code, you can't add your own presets from the UI - if you want a custom one, you're editing Python, not the dropdown.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| preset | COMBO | 34 options: Core-Universal Editor (万能编辑), Composite-Context Deep Fusion (情境深度融合), Composite-Seamless Integration (无痕融合), Scene-Scene Teleportation (场景传送), Scene-Season Change (季节变换), Scene-Fantasy World (幻想领域), +28 | |
| user_promptopt | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| Prompt | STRING | — |