MiniMax H3 VLM System Instruction Advanced Presets
System prompt presets for H3, plus room to make them yours
- system_instruction
The plain UC_MiniMaxH3VLMSysInstrPresets is a dropdown and nothing else. This node is the same dropdown plus explicit override fields - system prompt, user query, even a jailbreak toggle - so you can take a curated H3 system instruction and make it behave like your instruction. It's the Advanced variant in silveroxides/ComfyUI-UtilsCollection's MiniMax H3 text tooling, and it's what you reach for when the stock preset is 80% right and you need the last 20%.
What's on the node
- preset - the base system instruction, same list as the plain node (
minimax_h3_base, frame and reference variants, and so on). Defaultminimax_h3_base. - system_query - your own instruction, appended as the "Highest-priority system override". This is the field for "but actually, always do X" instructions you want to win.
- user_query - target-video requirements you're handing the model, appended as "Requested target-video requirements". Think of it as the user-side of the conversation.
- system_query_additional - extra system text appended without the override framing, for supporting context you don't want to rank above the preset.
- jailbreak - wraps the whole thing in the pack's jailbreak prefix/suffix. Toggle is off by default; flip it if the encoder's built-in refusal training is interfering with your use case.
- system_instruction - the assembled string output.
How the assembly works
The order matters, because H3 reads the system instruction as one blob. The preset goes first; then, if jailbreak is on, a prefix and suffix are wrapped around it; user_query becomes a "Requested target-video requirements" block; system_query_additional gets appended on its own; and finally system_query lands last as the "Highest-priority system override." Last is not a coincidence - the author wrote it so the thing you most want honored gets the final word. If a behavior isn't sticking, that's the field to put it in.
Installing it
Via the pack:
- ComfyUI Manager: search "ComfyUI-UtilsCollection".
- Or:
cd ComfyUI/custom_nodes
git clone https://github.com/silveroxides/ComfyUI-UtilsCollection
Restart ComfyUI. No models for the node itself.
Gotchas
The "override" field genuinely overrides - so if you put a system_query that contradicts the preset, the preset loses. That's the feature, but it surprises people who expected the preset to win. Also note the jailbreak toggle isn't magic: it adds the pack's framing text, it doesn't guarantee the encoder complies, and H3's licensing is territory-restricted anyway, so check that you're allowed to run it before tuning prompts around it. Start with the stable presets, add one override at a time, and re-test on a fixed seed - changing three fields at once is how you end up not knowing which one moved the result.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| preset | COMBO | minimax_h3_base | 17 options: minimax_h3_base, minimax_h3_first_last_frame, minimax_h3_reference, minimax_h3_last_frame, minimax_h3_full_reference, minimax_h3_minimalist_product_ad_reference, +11 |
| system_query | STRING | — | |
| user_query | STRING | — | |
| jailbreak | BOOLEAN | false | — |
| system_query_additional | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| system_instruction | STRING | — |