Nodes/MiniMax H3 Prompt Enhancer/MiniMax H3 Prompt Guide Builder
ComfyUI Node

MiniMax H3 Prompt Guide Builder

H3's official prompt spec, as text you can hand any LLM

By hyukudan·Created about a month ago·Updated 16 days ago· 15
MiniMax H3 Prompt Guide Builder
    • system_prompt
    • user_prompt
    • resolved_mode
    • treatment_warnings
    • width
    • height
    basic_prompt
    modeauto
    duration_seconds5.00
    reference_context
    creative_latitudeenhanced_production
    ambience_foley_policyauto
    background_score_policyfollow_prompt
    instrumental_description
    voice_performanceaudible
    aspect_ratioauto
    media_manifest
    multishot_shot_count0
    frame_count0
    multishot_identity_lock
    multishot_voice_lock
    multishot_setting_lock
    show_advanced_controlsfalse
    creative_treatment_json
    shot_plan_json
    cinematography_json
    instrumental_stylenone
    acoustic_spacenone
    dialogue_coverageoff
    dialogue_languageauto
    visual_style_presetnone
    target_megapixels0.00
    editing_intentnone
    lora_trigger_words

    Every H3 enhancer node in this pack has a secret: the "brains" are just a very long system prompt describing MiniMax H3's documented prompt contract, plus a user prompt built from your settings. This node hands you that system prompt and user prompt as plain text, without running any LLM at all. If you already have a text-generation node you like - Ollama, LM Studio, a GGUF loader, or the QwenVL Prompt Enhancer the description name-checks - you can wire those outputs into it and effectively build your own enhancer around your model of choice.

    Why this exists

    The enhancer nodes in the pack are opinionated: they pick the backend (API endpoint or managed llama-server) and drive the whole thing. That's convenient, but if you want your own model, your own server, or your own front end, you don't need the scaffolding - you need the instructions. The Guide Builder is the model-free core of the pack, exposed as a node. Its job is deterministic: take your basic_prompt, mode, duration_seconds, reference_context, and the pile of style/audio/resolution widgets, and compile them into two strings.

    • system_prompt - the full H3 rewriting contract: the strict 6-block anatomy for Ref2VA, the 3-block structure for T2VA/I2VA/FL2VA/L2VA, verbatim <d>[Language] ...</d> dialogue rules, the multilingual/dialect table, physical-action chains, the "name what a camera could record" rule.
    • user_prompt - your request formatted for the model: the source text, resolved mode, duration, reference context, and every policy you toggled.

    Pipe those into any chat-completions text node, feed the reply through a MiniMaxH3PromptValidator to check the result, and you've rebuilt the enhancer with your own engine.

    Inputs worth knowing

    mode (default auto) resolves the generation type; the node reports what it decided through the resolved_mode output so you can see whether auto guessed right before you send anything downstream. creative_latitude is the same four-level dial as the enhancer nodes - how far the writer may go beyond your text, from verbatim_source (reformat only) to invented_production (build the world). The audio trio is worth a glance: ambience_foley_policy (auto/ensure_audible/off), background_score_policy, and instrumental_description - describe concrete instrumentation and tempo, because mood words get translated into audible parameters anyway. dialogue_language (default auto) sets the language your quoted dialogue stays in.

    Two underrated details. First, lora_trigger_words are appended to the finished prompt verbatim, after validation - a trigger token like g0r3_style is an exact token the LoRA was trained on, so the node keeps it out of the LLM's translator hands. Second, the resolution math happens here too: aspect_ratio plus target_megapixels produce the width/height outputs (16-pixel aligned), so you can drive your latent size even in a custom pipeline.

    Outputs

    system_prompt, user_prompt, resolved_mode, treatment_warnings (drops and conflicts between your treatment settings), and width/height. If you're only here to copy the spec into your own prompt-writing setup, system_prompt is the whole ballgame.

    Install

    Same one-liner as the rest of the pack:

    cd ComfyUI/custom_nodes
    git clone https://github.com/hyukudan/ComfyUI-MiniMax-H3-Prompt-Enhancer.git
    

    Then restart ComfyUI (or search ComfyUI-MiniMax-H3-Prompt-Enhancer in Manager). This node needs nothing beyond ComfyUI's standard environment - no LLM, no API key, no model files. It's pure string compilation, so it works fully offline on day one.

    The gotcha

    The Guide Builder is only as good as what you feed it into. It emits instructions, not a result - if your downstream LLM is weak at following long structured formats, or isn't an instruct-tuned chat model, the output will be chatty prose with preamble, and you'll see the validator fail on structure. That's not this node's bug; it's the classic LLM-as-tool failure mode from the KB: a chat model doesn't emit clean structured output by default. Chain the validator after it, and if the model keeps talking back, that's your signal to switch engines.

    CategoryMiniMax H3/Prompting

    Inputs (28)

    NameTypeDefaultDescription
    basic_promptSTRING
    modeCOMBOauto7 options: auto, t2va, i2va, fl2va, l2va, ref2va, +1
    duration_secondsFLOAT5.004–1504-150 seconds. H3 was trained around 5-15 seconds; longer generations are experimental and require much more memory.
    reference_contextSTRINGOptional plain-language notes describing referenced pictures, videos, audio, identities, or roles. Usually needed only for Ref2VA.
    creative_latitudeoptCOMBOenhanced_productionHow far beyond your text the writer may go. verbatim_source: none - keep your wording, facts and terseness as written; only reformat into H3 sections, apply the selected style and translate delivery marks. conservative_grounded: only the minimum structure the H3 mode requires. enhanced_production: resolve unspecified production decisions - composition, blocking, lighting, micro-performance. invented_production: treat your text as a premise and build the world around it. Quoted dialogue, reference identities, duration, shot count, ending and gore level stay locked at every level.
    ambience_foley_policyoptCOMBOautoScene sounds other than speech or music: rain, wind, room tone, footsteps, clothing, doors, impacts, engines, breathing, and similar physical sounds.
    background_score_policyoptCOMBOfollow_promptFollow the source, add an instrumental score, or force no non-diegetic music
    instrumental_descriptionoptSTRINGDescribe concrete instrumentation, tempo, rhythm, and dynamics; mood words are translated into audible parameters.
    voice_performanceoptCOMBOaudibleExperimental silent mouth acting is visual best-effort only; exact lip sync and silence are not guaranteed
    aspect_ratiooptCOMBOauto7 options: auto, 21:9, 16:9, 4:3, 1:1, 3:4, +1
    media_manifestoptSTRINGAdvanced alternative to reference notes: structured JSON describing connected media, roles, analysis, subjects, and transcripts.
    multishot_shot_countoptINT00–64Chained multishot only: 0 infers the count
    frame_countoptINT00–3600Leave 0 to use Duration. A nonzero exact count must follow 17 × n + 5. Above about 362 frames (~15 s) is experimental.
    multishot_identity_lockoptSTRING
    multishot_voice_lockoptSTRING
    multishot_setting_lockoptSTRING
    show_advanced_controlsoptBOOLEANfalseShow structured reference metadata and exact frame controls
    creative_treatment_jsonoptSTRINGStable schema-v2 storage for the optional creative-treatment selectors. Legacy v1 remains runtime-compatible; blank is neutral.
    shot_plan_jsonoptSTRINGOptional authoritative shot plan. Schema v1 remains compatible; v2 adds generations, presence, states, environments and start/path/end camera. Blank preserves automatic planning.
    cinematography_jsonoptSTRINGOptional schema-v2 manual color, camera, optics, focus, texture, and motion-rendering controls. Legacy v1 remains runtime-compatible; blank is neutral.
    instrumental_styleoptCOMBOnoneWhen instrumental score is enabled, adapt its arrangement to this musical language while preserving compatible user direction.
    acoustic_spaceoptCOMBOnoneDiegetic sound space for the permitted ambience, foley, and voices. It renders existing sounds; it never adds a source.
    dialogue_coverageoptCOMBOoffKeep every speaking character's mouth and eyes unobstructed, in focus, and framed at medium close-up or tighter for the whole line.
    dialogue_languageoptCOMBOautoTarget dialogue language. 'auto' automatically detects language from prompt context/dialogue.
    visual_style_presetoptCOMBOnoneQuick visual style preset. When selected, automatically applies this visual language unless overridden in creative treatment JSON.
    target_megapixelsoptFLOAT0.00Target resolution in Megapixels (MP), e.g. 0.2, 0.3, 0.5, 0.92 (720p), 2.0 (1080p). Leave 0.0 for standard defaults; Custom accepts any positive finite value.
    editing_intentoptCOMBOnoneQuick video editing intent preset for Ref2VA (Character Swap, Wardrobe Transfer, Voice/Dialogue Swap, Background Change, Motion Transfer, Custom Editing). Automatically enforces video editing summary and retention policies.
    lora_trigger_wordsoptSTRINGTrigger tokens for the LoRAs loaded elsewhere in the graph. Appended verbatim to the end of the description after enhancement and validation, so they never pass through the LLM and survive character for character.

    Outputs (6)

    NameTypeDescription
    system_promptSTRING
    user_promptSTRING
    resolved_modeSTRING
    treatment_warningsSTRING
    widthINT
    heightINT