MiniMax H3 Contex Loop Seam Probe
Did your H3 clip actually continue the last one?
- clip_b_untrimmed
- clip_a_latent
- audio_vae
- audio
- report
Seam Probe is the one node in the Contex Loop pack that doesn't generate anything - it measures. Specifically, it answers two questions about the boundary where clip B joins clip A in a chain: does B's audio continue A's audio (or did it restart from silence), and is there an audible level step at the cut? In a multi-scene H3 production, the video seam gets most of the attention, but the audio seam is where the "this feels like separate clips taped together" feeling comes from. This is the diagnostic for that.
It's a descendant of the seam probe concept from NikoDemon80's H3 Motion Context, reimplemented for this pack with its own distinct node ID so both packs can coexist.
How it works
You feed it clip B's audio straight off the VAE decode, before the trim node - that's the clip_b_untrimmed input. At that point it still carries the pinned head (the repeated context frames that the trim node is about to remove), and that head is exactly what needs comparing against clip A. You also pass trim_frames, the same value the trim node receives, ideally wired directly from the Motion Context node's trim output.
Then the optional part does the interesting work: connect clip_a_latent - the previous clip's AV latent, the same one wired into Motion Context's context_latent - and the audio_vae, and the node decodes clip A's audio itself, tail-matches it, and correlates it against clip B's pinned head. The result: a report telling you whether B continues A's audio and how big the level step at the cut is.
It's a genuinely honest measurement tool. If you don't connect clip_a_latent, there's nothing to compare against and the node just describes clip B - the tooltip is upfront that "nothing is measured." The window_ms (correlation window, default 50) and search_ms (max lag searched either side, default 40) tune the analysis. fps must match what you feed Create Video.
Outputs: audio - clip B's untrimmed audio, passed through unchanged so you can wire it on to the trim node without breaking the chain - and report, a string for a Preview Text node.
Why you'd actually run it
Because "continuity" in H3's AV modes is a claim, not a promise. The 39-frame protected prefix should hand the audio off cleanly, but generated audio can still pop at the boundary, and a level step reads as an edit even when the waveform matches. Rather than eyeballing two clips, run the probe, look at the report, and if the seam is bad you know it's the transition (adjust the policy) rather than re-rendering the whole scene blind. Think of it as the graph-level version of the review-then-reroll loop, but for audio physics.
Install
From the ComfyUI-MiniMaxH3-Contex-Loop pack. ComfyUI Manager → search the pack, or:
cd ComfyUI/custom_nodes
git clone https://github.com/ethanfel/ComfyUI-MiniMaxH3-Contex-Loop.git
Restart. No pip dependencies. It needs a current ComfyUI with native Add Guide for MiniMax H3 support, and the H3 weights (not bundled) are license-locked out of the US/EU/UK/South Korea.
Gotchas
The classic mistake is feeding it clip B's trimmed audio by accident - the whole correlation depends on the pinned head still being present, so grab the output from before the trim node. And don't expect the probe to fix anything; it's a stethoscope, not a scalpel. When it tells you the seam is off, the fix lives in Chain Policy or the AV transition settings, not in the probe.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| clip_b_untrimmed | AUDIO | This clip's audio straight off the VAE decode, BEFORE the trim node. It still carries the pinned head, which is what gets compared. | |
| trim_frames | INT | 00–4096 | Wire this from the Motion Context node's trim output, the same value the trim node gets. It is the pinned span. |
| clip_a_latentopt | LATENT | The PREVIOUS clip's AV latent: the same one wired into Motion Context's context_latent. The node decodes and tail-matches it itself. Without it only clip B is described, nothing is measured. | |
| audio_vaeopt | VAE | The H3 audio VAE, needed to decode clip A's audio out of its latent. | |
| fpsopt | FLOAT | 24.0001–240 | Must match what you feed Create Video. |
| window_msopt | FLOAT | 505–500 | Correlation analysis window. |
| search_msopt | FLOAT | 405–500 | Maximum lag searched either side. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | clip_b_untrimmed, unchanged. Wire it on to the trim node. |
| report | STRING | The measurement report, for a Preview Text node. |