MiniMax H3 Two-Pass Latent Reconcile / H3二采潜空间协调 (Advanced)
Stitch the Two H3 Passes Together Without Breaking the Audio Clock
- learned_latent
- highres_template
- positive
- av_latent
- positive
- report_json
The two-pass H3 pipeline has a natural seam problem: pass 1 ran at low resolution, and the refine pass wants to run at high resolution on a rebuilt Conditioning template - but the two latents live in different coordinate spaces, and if you just cram one into the other, you get stale frames, mismatched reference metadata, or an audio clock that disagrees with itself. MiniMaxH3TwoPassLatentReconcileT8Advanced is the node that sits on that seam and makes the merge safe. It combines the learned-upscaled first-pass values with a freshly rebuilt high-resolution H3 Conditioning template - and fails closed on any mismatch instead of producing subtly broken output.
What "fails closed" means here is the whole story
The description lists the exact failure modes it guards against: stale low-resolution keyframes, reference metadata mismatches, audio-clock mismatches, and NaN. If the learned upscale produced a latent that doesn't line up with the new high-res template, the node refuses rather than blending garbage. This is the pack's house style taken to its logical end - reconciliation nodes are exactly where silent errors would be most dangerous, so it won't do them silently.
The inputs that matter
learned_latent- the learned-upscaled pass-1 result.highres_template- the new high-res Conditioning template for pass 2.positive- the conditioning; it comes back out, so the reconcile node can re-anchor it to the rebuilt template.audio_policy(defaultauto) -autokeeps the high-res template audio for lock/remix masks, otherwise it continues the first-pass audio.second_pass_audio_source- the tooltip is worth quoting:legacy_policypreserves old saved-workflow behavior and is what you keep for native author-parity generation (pass 2 finishes the joint audio trajectory).first_passis the explicit audio-lock route where pass 2 only refines video.second_pass_audio_strength- 0 locks the selected audio exactly; values above 0 deliberately regenerate it (experimental).
Outputs:
av_latent (the reconciled latent for pass-2 sampling), positive, and report_json. Feed the av_latent into your second SamplerCustomAdvanced, and the positive into its conditioning.
Installing:
part of MiniMax H3 Audio T8. Manager → "MiniMax H3 Audio T8", or:
cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/comfyui-minimax-h3-audio-T8
Restart. No mandatory pip deps.
The trap
Choose the audio source deliberately. If you want the native route where pass 2 completes audio and video, leave legacy_policy - switching to first_pass changes what pass 2 is allowed to do to the sound, and the author labels the alternative routes experimental for a reason. And remember this node coordinates latents, not quality: reconcile-clean is a mechanical guarantee, not a promise the image looks better. Verify, as always, with your own eyes.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| learned_latent | LATENT | — | |
| highres_template | LATENT | — | |
| positive | CONDITIONING | — | |
| audio_policy | COMBO | auto | auto keeps the high-resolution template audio for lock/remix masks, otherwise it continues the first-pass audio. |
| second_pass_audio_sourceopt | COMBO | legacy_policy | legacy_policy preserves old saved-workflow behavior. first_pass is the explicit audio-lock route: reuse pass-1 audio while pass 2 refines video. For native author-parity generation, keep legacy_policy so pass 2 can finish the joint audio trajectory. |
| second_pass_audio_strengthopt | FLOAT | 0.000–1 | Pass-2 audio denoise only for an explicit non-legacy source. Use 0 to lock the selected audio exactly; values above 0 deliberately regenerate it and remain experimental. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| av_latent | LATENT | — |
| positive | CONDITIONING | — |
| report_json | STRING | — |