MiniMax H3 Motion Recover AV / 动作音画回时钟 (Advanced)
Put the repaired clip back on the exact world clock — audio untouched by default
- generated_frames
- generated_audio
- pass1_audio
- motion_plan
- frames
- audio
- report_json
The repair chain stretched your clip in time so H3 could re-sample it - which means the result is longer than your original. Somebody has to compress it back to the exact world-frame clock, or your repaired video drifts out of sync with everything else. MiniMaxH3MotionRecoverAVT8Advanced is that somebody: it collapses the regenerated clip back to its original duration by selecting one real generated frame from every hold group, and it does it in a way that doesn't invent frames.
That last part is the mechanism worth understanding. Because the stretched latent was built from hold groups (each original frame expanded into several), the recovered video is a genuine H3-generated frame for every output position - no interpolation, no blending of half-frames. It's a selection, which is why the timing lands exactly on the original clock.
Inputs
generated_frames/generated_audio- the second-pass output (from the Recovery Composer's sampler).pass1_audio- the original audio, which is the safe default deliverable.motion_plan- the signed plan; it knows the hold-group structure needed to recover the clock.audio_mode- this is where the author's testing shows up.pass1_originalis the stable default and the one you should ship with.pass2_recovered_expwas rejected in human review because the middle window suddenly sounded distant before returning - kept only for diagnostics.blend_expsounded fine in one reviewed clip atpass1_mix=0.8, but it's opt-in, not a guarantee.pass1_mix- used only byblend_exp; 1.0 is all pass-1 audio.
Outputs
frames and audio - the recovered clip, back on the world clock. Plus report_json.
Install and honest expectations
Pack install once: ComfyUI Manager → search MiniMax H3 Audio T8, or git clone https://github.com/T8mars/comfyui-minimax-h3-audio-T8 into ComfyUI/custom_nodes/, restart. No pip extras, no model downloads.
The takeaway is simple: keep audio_mode on pass1_original. The README documents the exact trap - the "recovered" audio from the second pass can sound wrong, and the author has been upfront that one clip's pass at blend_exp doesn't generalize. If you must try the recovered audio, A/B it properly instead of shipping it. And note this node does not phase-vocode the deliverable soundtrack - that's deliberate; phase vocoding is where artifacts creep in. The frame side is the star here; treat the audio side as pass-1's responsibility by default. It's Experimental, so validate the output before it goes anywhere important.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| generated_frames | IMAGE | — | |
| generated_audio | AUDIO | — | |
| pass1_audio | AUDIO | — | |
| motion_plan | H3_T8_MOTION_RECOVERY_PLAN | — | |
| audio_mode | COMBO | pass1_original | pass1_original is the stable exact-pass1 default. A full human review rejected pass2_recovered_exp because its middle window suddenly sounded distant before returning; keep it diagnostic-only. blend_exp sounded normal in that one clip at pass1_mix=0.8 but remains opt-in. |
| pass1_mix | FLOAT | 0.800–1 | Used only by blend_exp; 1.0 is all pass-1 audio. One reviewed I2VA clip passed at 0.8, which is not a general audio guarantee. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| frames | IMAGE | — |
| audio | AUDIO | — |
| report_json | STRING | — |