Nodes/MiniMax H3 Audio T8/MiniMax H3 Two-Pass Audio Audit / H3二采音频硬校验 (Advanced)
ComfyUI Node

MiniMax H3 Two-Pass Audio Audit / H3二采音频硬校验 (Advanced)

A Guardrail That Stops Pass 2 From Silently Rewriting Your Audio

By T8mars·Created 20 days ago·Updated a day ago· 807
MiniMax H3 Two-Pass Audio Audit / H3二采音频硬校验 (Advanced)
  • second_pass_input
  • second_pass_output
  • verified_av_latent
  • report_json
expected_audio_strength0.00
fail_on_locked_mismatchtrue
locked_atol0

Here's a failure mode you might not have imagined until it happened to you: your two-pass H3 workflow ran, the video looked great, but the audio came out different - because pass 2 was supposed to lock the audio and quietly regenerated it instead. MiniMaxH3TwoPassAudioAuditT8Advanced exists to make that impossible to miss. It compares the audio latent immediately before pass 2 with the one after, and in the explicit strength-0 lock route it allows only bounded floating-point roundoff - then restores the exact input audio before decode. Anything bigger fails closed, so a mechanically valid but sonically rewritten result never reaches your save node.

The mechanism

You connect two latents: second_pass_input (the Reconcile AV latent entering pass 2) and second_pass_output (what pass 2's SamplerCustomAdvanced produced). The node diffs their audio components against locked_atol (default 1e-05 - a tight tolerance that says "roundoff only"). If the diff is within tolerance, it swaps the pass-2 audio back for the exact input latent, so the locked track is bit-preserved, then passes the verified AV latent onward. If it's outside tolerance and fail_on_locked_mismatch is on (default), the workflow stops with a report. The expected_audio_strength input must match the Reconcile node's second_pass_audio_strength - that's how the audit knows what "locked" is supposed to mean.

Why the description warns you where not to use it

"Do not insert this node into the native author-parity route: native pass 2 must complete audio as well as video." If you're running the native route where pass 2 legitimately finishes the joint audio trajectory, the audio is supposed to change - an audit that demands zero change would either fail or strip out the native pass-2 audio work. This node is for the explicit lock route only.

Outputs:

verified_av_latent (what you wire into decode) and report_json.

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 one thing to get right:

keep expected_audio_strength in sync with the Reconcile node, or the audit compares against the wrong expectation and either false-fails or - worse - false-passes. The node can't read the Reconcile setting for you; it trusts the number you type. That's the price of a guardrail that never assumes.

CategoryT8/MiniMax H3/Latent/Experimental

Inputs (5)

NameTypeDefaultDescription
second_pass_inputLATENTConnect the Reconcile AV latent that enters pass 2.
second_pass_outputLATENTConnect pass-2 SamplerCustomAdvanced output.
expected_audio_strengthFLOAT0.000–1Must match Reconcile second_pass_audio_strength.
fail_on_locked_mismatchBOOLEANtrueAt strength 0, stop the workflow if audio differs after pass 2.
locked_atolFLOAT00–1Maximum sampler roundoff allowed before failure. After the check, locked audio is replaced by the exact pass-2 input latent.

Outputs (2)

NameTypeDescription
verified_av_latentLATENT
report_jsonSTRING