LanPaint MiniMax Audio Decode
Turning MiniMax H3's audio latent back into something you can hear
- samples
- vae
- audio
MiniMax H3 generates video with native audio, which means its audio lives in latent space until something decodes it. LanPaint_MiniMaxAudioDecode is that something for LanPaint's AV inpainting pipeline: feed it a MiniMax H3 audio latent and it hands you back an AUDIO waveform, in the layout ComfyUI actually expects.
It's the mirror image of LanPaint_MiniMaxAudioEncode, and it exists for the same boring-but-lethal reason: the H3 audio VAE wrapper returns audio channels-last, [B, L, C], while ComfyUI's AUDIO convention is [B, C, L]. Skip the conversion and every downstream node (preview, save, VideoCombine) sees a waveform with its channels and samples swapped - which decodes to silence or static, not a subtle bug you can easily spot. This node does the transposition back and reports the correct sample rate (the VAE's, normally 32 kHz), so what comes out is a proper ComfyUI audio dict ready to preview or save.
The inputs
- samples - a MiniMax H3 audio latent, or a nested AV latent straight from a LanPaint sampler. In the AV case it automatically unwraps the nested latent and decodes just the audio stream - so you can drop this node on the AV decode path without tearing the bundle apart yourself.
- vae - the MiniMax H3 audio VAE.
Output is a single audio (waveform + sample rate).
How it fits the pipeline
Two typical spots. In a plain audio-inpainting workflow it's the final decode after sampling, feeding a SaveAudio or a preview node. In the full AV pipeline it's also what LanPaint_AVDecode calls internally to get the audio stream it merges back into the video - so like its encode sibling, it's doing the real work both directly and behind the scenes. If you only ever use the AV Encode/Decode pair, you'll never wire this one yourself; you'd only reach for it when you want to pull the audio out of an AV latent as its own track.
Install and caveats
Ships with the LanPaint pack: ComfyUI Manager → search "LanPaint", or clone into custom_nodes and restart:
cd ComfyUI/custom_nodes
git clone https://github.com/scraed/LanPaint
No pip dependencies bundled. You need the MiniMax H3 audio VAE loaded - the decode is the inverse of the encode, and it can't invent the VAE's output sample rate if it isn't there.
The one thing to keep straight: the nested-AV handling only works if the latent actually is a nested AV latent (the kind LanPaint_AVEncode produces). Feed it a plain audio latent and it decodes it directly; feed it something else entirely and the stream-unwrap step is a good place for the error to land. Match the VAE you decoded with, and don't mix in a video VAE - this node's entire reason for being is that the audio VAE's conventions are its own.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| samples | LATENT | Audio latent, or a nested AV latent (the audio stream is decoded). | |
| vae | VAE | The MiniMax H3 audio VAE. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | — |