Nodes/comfyui-minimax-h3-audio-T8/MiniMax H3 HyperFlow Latent Parity Audit (EXP/T8)
ComfyUI Node

MiniMax H3 HyperFlow Latent Parity Audit (EXP/T8)

Latent parity between a split and a single-pass H3 run

By T8mars·Created 2 months ago·Updated about 7 hours ago· 1,158
MiniMax H3 HyperFlow Latent Parity Audit (EXP/T8)
  • single_av_latent
  • split_av_latent
  • report_json

The HyperFlow pack makes a strong, specific claim: that splitting one trained 8-step trajectory across two independently-patched models produces final video and audio latents identical to the single-pass run - measured max/mean/RMS absolute difference of 0 on the tested T2VA case, including 1+7 and 7+1 splits.

Strong claims deserve an instrument, and this is it. MiniMaxH3HyperFlowLatentParityT8Advanced takes two AV latents and produces a read-only difference report. That's the entire node.

How you use it

Run the graph twice - once with the single-pass sampler, once with the continuous split - and wire both final latents in:

  • single_av_latent - the AV latent from the full 8-interval single-pass route
  • split_av_latent - the AV latent from the split route

One output: report_json. It's marked as an output node, so the report renders on the canvas; you don't need a text-save node just to read it. It is strictly an audit - nothing is sampled, nothing is mutated, no cache identity changes. If your two inputs are the same tensor, you'll get a report telling you so, which is its own kind of useful.

Why it's worth two extra nodes in the graph

Because "the split is faithful" is the load-bearing assumption of the whole continuous-split feature. If the handoff drifts - a different base cloned into a stage, a content LoRA patch that touches the time embedder, a plan built off the wrong loader - you don't get a crash. You get a video. And the difference will be small enough to argue about and too small to see.

A parity report turns that from an argument into a number. It's the same instinct as the pack's other receipts: the model-identity hashes, the frozen stage contracts, the "bad receipt must be rejected" checks. When a node family is built on typed plans rather than free-form sigmas, an audit node isn't a nice extra - it's the thing that keeps the typing honest.

What a mismatch usually means

In rough order of likelihood:

  1. Two different bases. The instruction for every split route is to clone one common full H3 base for both stages. If the two branches came from different files - or one is pruned - the numbers won't be zero.
  2. Different content patches on each side, which you wanted. That's not a bug, and the report should show a nonzero difference. Note that the pack's own probes with two different content LoRAs changed decoded RGB and PCM hashes versus a no-content run, and it declines to call that quality evidence either way.
  3. A stack the loader warned you about. If a content LoRA patches the base time embedder, the HyperFlow loader reports that the original endpoint branch is unchanged - read that report before assuming the split route did what you planned.
  4. A different seed, sample count, or resolution. Obvious, easy to forget, and it'll show up immediately in the report.

Install

ComfyUI Manager → MiniMax H3 Audio T8, or:

cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/comfyui-minimax-h3-audio-T8.git minimax-h3-audio-T8

Full quit and restart, then refresh the browser. Nothing to install: the pack's requirements.txt deliberately adds no packages, and this node is arithmetic over two latents. There's no model requirement for the audit itself - though the latents you compare, obviously, come from runs that needed HyperFlow safetensors in models/hyperflow/loras and the H3 base in models/diffusion_models.

Where it bites

It compares final latents, not decoded media. A zero difference in latent space is a much stronger statement than "the videos look the same", but it is still a statement about latents - it says the sampling math matched, not that the delivery was identical.

The tested case is T2VA. The parity result is recorded against one task and one configuration, and the pack never extends it to every route. If you're on I2VA or a reference-driven task, run the audit and get your own answer rather than assuming.

Zero is not "good". Parity proves the split didn't cost you trajectory fidelity. Whether the trajectory itself is any good is a separate question - and the pack's own docs keep saying so, which is a habit worth copying.

CategoryT8/MiniMax H3/Performance/Experimental

Inputs (2)

NameTypeDefaultDescription
single_av_latentLATENT—
split_av_latentLATENT—

Outputs (1)

NameTypeDescription
report_jsonSTRING—