MiniMax H3 Audio Latent Control (T8)
Lock your voice into the latent so H3 doesn't reinvent it
- av_latent
- source_audio
- audio_vae
- av_latent
- source_audio
H3 generates picture and audio in one transformer pass, which is great - until you want the audio to be exactly the track you already have, and the model decides it knows better. MiniMaxH3AudioLatentControlT8 is the surgical version of that control: it injects your source audio into the joint latent once, up front, and leaves the video's noise mask alone.
It's the low-level sibling of the audio_mode setting on MiniMaxH3AudioConditioningT8. The Conditioning node handles the high-level strategy (lock vs remix vs native); this node works directly on the LATENT after conditioning, which makes it useful when you're building a workflow that conditions once and then wants to re-drive the audio at the latent stage, or when you need to inject source audio into an existing latent without re-running the full conditioning stack.
How it works
H3's joint latent is a nested structure holding video and audio streams side by side. This node takes your av_latent, encodes the source_audio with the audio_vae, and writes it into the audio stream of the latent. The video stream and its noise mask are preserved as-is - no re-encoding of frames, no re-injection, no mask churn.
The two knobs:
- mode -
lock(default) preserves the source latent;remixdenoises it and lets H3 rebuild on top.lockis the "keep my voice" choice;remixis "keep the timing but let the model add character." - strength - how hard the source audio is held. Default 0.35 is the pack's tested middle ground. Below that the model drifts more, above it you risk the source fighting the joint transformer's other conditions.
Wiring
av_latent + source_audio + audio_vae in; av_latent (the audio-locked one) out, ready to hand to the sampler. It also passes source_audio through so you can still reach the original track later for a final mix. Output the same latent into your dual-clock sampler and you're done - this is meant to slot right where the Conditioning node's av_latent output would go.
Where people get burned: forgetting that the source you lock is still a generation condition, not a master tape. H3's joint transformer can alter the sound even in lock mode, and the README is explicit that lock_source preserves the source latent but doesn't guarantee phoneme-perfect lip sync. If you need the original audio byte-for-byte in the final file, keep your source_audio wire and let the Audio Mix node or the Conditioning node's mux_audio handle the final mux.
Install
It's in the T8/MiniMax H3/Audio category of the same pack:
cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/comfyui-minimax-h3-audio-T8
Restart ComfyUI. No extra dependencies, no model downloads - you only need the H3 audio VAE you already loaded for conditioning. Start on the pack's 02-audio-control example workflows, where the audio lock/remix recipes already exist as wired-up canvases you can just copy.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| av_latent | LATENT | — | |
| source_audio | AUDIO | — | |
| audio_vae | VAE | — | |
| mode | COMBO | lock | 2 options: lock, remix |
| strength | FLOAT | 0.350–1 | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| av_latent | LATENT | — |
| source_audio | AUDIO | — |