Nodes/MiniMax H3 Audio T8/MiniMax H3 Timed Background Bed Lock / 分时背景底轨锁定 (EXP/T8)
ComfyUI Node

MiniMax H3 Timed Background Bed Lock / 分时背景底轨锁定 (EXP/T8)

Lock a Music Bed Into an H3 Clip Past the Dialogue

By T8mars·Created 20 days ago·Updated a day ago· 807
MiniMax H3 Timed Background Bed Lock / 分时背景底轨锁定 (EXP/T8)
  • av_latent
  • background_audio
  • audio_vae
  • av_latent
  • audio_latent
  • report_json
tail_lock_start_seconds5.000
head_denoise_strength1.00
tail_denoise_strength0.00
transition_seconds0.000
audio_latent_fit_policystrict

Here's a frustrating H3 reality: the model regenerates audio during sampling, and if you want a specific music or ambience track under your video, you have to fight the sampler for it. This node is a two-pass helper built to fight that fight properly. MiniMaxH3TimedAudioBedLockT8 encodes your own full-length music/ambience/SFX bed into the AV latent, then locks its tail - freezes it after an explicit dialogue boundary so the tail of the clip keeps your bed intact while the head (the talking part) is still open to regeneration.

Why this shape exists

H3 is a joint AV Transformer - video and audio share the forward pass, so you can't just "mute the audio and swap it in later" without the model's context disagreeing with itself. The two-pass idea here is: pass 1 samples the scene; this node stitches your independent bed into the audio latent; pass 2 re-refines, with the head allowed to change and the tail locked. "Head" is wherever dialogue is, "tail" is whatever plays after the talking stops.

The inputs that matter

  • av_latent - the sampled AV latent you're modifying. background_audio - your music/ambience/SFX track. audio_vae - the H3 audio VAE.
  • tail_lock_start_seconds - the boundary. The tooltip is blunt: connect a verified speech_end_seconds or an explicit planned boundary here, and it gets quantized up to H3's 40Hz audio-latent grid. Everything after it is the locked tail.
  • head_denoise_strength (default 1) and tail_denoise_strength (default 0) - the two halves' regeneration amounts. Tail at 0 is the whole game: "request an unchanged background-bed latent endpoint."
  • transition_seconds (default 0) - an explicit, crisp boundary by default; a nonzero value delays full lock and gets reported, not assumed safer.
  • audio_latent_fit_policy - strict (default) rejects a duration mismatch between your bed and the AV audio stream; fit_reported trims or zero-pads and records the action.

Outputs:

the modified av_latent, a separate audio_latent if you want the bed on its own, and report_json documenting the boundary, quantization and any fit actions.

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; H3 weights and the audio VAE are on you.

Where it doesn't help:

it can't separate speech from a mixed master - feed it a clean dialogue pass and a separate bed, not a final mix you hope it can un-merge. And "locked" means the latent endpoint is preserved; it's still subject to the decode chain and to H3's general audio behavior, so trust your ears on the seam. This is firmly experimental - the author says exactly what it does and doesn't do, and doesn't claim it's perceptually seamless.

CategoryT8/MiniMax H3/Speech/Experimental

Inputs (8)

NameTypeDefaultDescription
av_latentLATENT
background_audioAUDIO
audio_vaeVAE
tail_lock_start_secondsFLOAT5.0000–3600Connect a verified speech_end_seconds or an explicit planned boundary. It is quantized upward to the H3 40Hz audio-latent grid.
head_denoise_strengthFLOAT1.000–1
tail_denoise_strengthFLOAT0.000–1Use 0 to request an unchanged background-bed latent endpoint.
transition_secondsFLOAT0.0000–10Default 0 makes the lock boundary explicit. A nonzero transition delays the fully locked tail and is reported, not assumed perceptually safer.
audio_latent_fit_policyCOMBOstrictStrict rejects a duration mismatch. fit_reported explicitly trims or zero-pads the encoded latent and records the action.

Outputs (3)

NameTypeDescription
av_latentLATENT
audio_latentLATENT
report_jsonSTRING