Nodes/MiniMax H3 Audio T8/MiniMax H3 AV Decode (T8)
ComfyUI Node

MiniMax H3 AV Decode (T8)

Turning the joint AV latent back into frames and sound

By T8mars·Created 20 days ago·Updated a day ago· 807
MiniMax H3 AV Decode (T8)
  • av_latent
  • video_vae
  • audio_vae
  • frames
  • generated_audio
  • video_latent
  • audio_latent

Every H3 workflow ends the same way: you've sampled a joint audio-video latent, and now you need it to become actual pixels and actual sound. That's the entire job of MiniMaxH3AVDecodeT8, and it's the node you'll probably use on every single render. MiniMax H3's signature - native stereo audio generated in the same transformer pass as the picture - only becomes real at this step, when the joint latent is split and run through the video and audio VAEs separately.

The README lists it as one of the pack's core stable nodes, and for good reason: everything funnels through it. The sampler produces av_latent, this node decodes it, and out the other side you get frames and generated_audio plus the separated video_latent and audio_latent if you need them for further work.

What goes in

Only three inputs, and they're all the things you already have:

  • av_latent - the joint latent from your dual-clock sampler.
  • video_vae - the H3 video VAE.
  • audio_vae - the H3 audio VAE.

No settings, no knobs, no mode. That's the appeal: it's the boring, reliable end of a pipeline full of experimental gadgets. If you want gates and VRAM preflight around this, the advanced sibling MiniMaxH3AVDecodeSafetyT8Advanced wraps the same contract with headroom checks - but for daily use this is the one.

The trap in the outputs

frames and generated_audio seem like the obvious things to save. And usually they are - if you generated audio from scratch. But if you ran with lock_source to preserve your original voice, the README is emphatic: save the mux_audio from MiniMaxH3AudioConditioningT8, not this node's generated_audio. In lock/remix modes generated_audio can carry a different voice than the one you locked, because it's whatever the joint transformer produced. Wire the wrong one and your "keep the original sound" run ships with a stranger's voice.

Also keep the timeline in mind: this node preserves the audio-video timeline, but if you windowed and trimmed with MiniMaxH3AudioWindowT8, finish with a trim step that applies final_trim_start_seconds / final_duration_seconds so your deliverable matches the scene window you planned, not the full decoded length.

Install

It ships in the T8/MiniMax H3/Audio category of the T8mars pack:

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

Restart ComfyUI. No extra dependencies, no model downloads - the two VAEs are whatever you loaded for conditioning. Start from examples/workflows/01-basic-generation and read the NOTE nodes; the README's own advice is a short 22-frame clip first to confirm your decode chain works before you commit to 124 frames. And yes, H3's weights carry a community license that excludes the US/EU/UK/Korea even though they're public on HuggingFace - worth keeping in mind before you plan a long local production run.

CategoryT8/MiniMax H3/Audio

Inputs (3)

NameTypeDefaultDescription
av_latentLATENT
video_vaeVAE
audio_vaeVAE

Outputs (4)

NameTypeDescription
framesIMAGE
generated_audioAUDIO
video_latentLATENT
audio_latentLATENT