T8 Context IR Prompt Compiler / IR提示词编译 (Advanced)
The deterministic half of H3's scene-understanding pipeline
- context_ir
- cast
- sound_canvas
- prompt_packet
- compiled_prompt
- negative_prompt
- audio_prompt
- report_json
An LLM understanding your scene is only half the job. The other half is turning that understanding into a prompt the sampler can't misinterpret - deterministically, with the dialogue exact, the media tags bound, and no "creative" drift from run to run. MiniMaxH3ContextIRPromptCompilerT8Advanced is that half. It takes one reviewed Context IR and compiles it through the pack's Prompt Packet contract into the actual conditioning inputs, and it's built so the provider can't sneak in path changes or sampling tweaks along the way.
This is the trust boundary in the pack's studio pipeline. The Context IR Provider (its sibling) may use a cloud model to understand the scene. This node guarantees the compilation is reproducible: same Context IR in, same prompt out, every time. That separation - creative model upstream, deterministic contract downstream - is exactly how you build a workflow where an external provider can't silently change your camera path or your sample rate.
What it takes in
- context_ir (custom
H3_T8_CONTEXT_IR) - the reviewed scene structure from the Provider. - prompt - your base text that gets merged with the IR.
- backend (
minimax_h3) - which target contract to compile for. - duration_seconds (5.167) and aspect_ratio ("16:9") - the physical scene contract, compiled into the packet.
- strict_exact_dialogue (true) - the safety rail: if dialogue in the IR must match verbatim, this enforces it. Off, and the compiler can be more permissive.
- Optional: dialogue, negative_prompt, cast (the unified cast type), sound_canvas, cast_ids.
What comes out
- prompt_packet (
H3_T8_PROMPT_PACKET) - the big one; it feeds the sampling side of the studio chain. - compiled_prompt and negative_prompt - the readable results, so you can eyeball what the IR produced before it runs.
- audio_prompt - the audio-specific portion, separate from the visual prompt. H3's joint model wants audio handled explicitly, and this is where that intent lives.
- report_json - the audit trail.
The description's key promise: "The provider cannot alter local paths or sampling." Compilation happens against a fixed contract, which means a poisoned or drifted IR can't inject a weird path or change your resolution - it gets caught at compile time.
Install
Standard pack install:
cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/comfyui-minimax-h3-audio-T8
Restart ComfyUI. It's in T8/MiniMax H3/Studio/Experimental, needs no extra pip dependencies and no model files - pure deterministic string/contract work. Wire it after the Context IR Provider and before your conditioning node, and read the compiled_prompt once on a test scene to see how the pack binds scene, cast, sound canvas and dialogue together. Once you've seen it, you'll trust it enough to stop hand-typing prompts for multi-shot productions.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| context_ir | H3_T8_CONTEXT_IR | — | |
| prompt | STRING | — | |
| backend | COMBO | minimax_h3 | 4 options: minimax_h3, wan_2_2, ltx_video, generic_cinematic |
| duration_seconds | FLOAT | 5.1670.001–86400 | — |
| aspect_ratio | STRING | 16:9 | — |
| strict_exact_dialogue | BOOLEAN | true | — |
| dialogueopt | STRING | — | |
| negative_promptopt | STRING | — | |
| castopt | H3_T8_UNIFIED_CAST | — | |
| sound_canvasopt | H3_T8_SOUND_CANVAS | — | |
| cast_idsopt | STRING | — |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| prompt_packet | H3_T8_PROMPT_PACKET | — |
| compiled_prompt | STRING | — |
| negative_prompt | STRING | — |
| audio_prompt | STRING | — |
| report_json | STRING | — |