Nodes/ComfyUI/VAE Decode Audio
ComfyUI Node Runs on cloud

VAE Decode Audio

Hear what the latent was saying

By Comfy-Org·Created 4 years ago·Updated 35 minutes ago· 129,939
VAE Decode Audio
  • samples
  • vae
  • AUDIO

ComfyUI grew an audio latent a while back, and this is the node at the end of every audio pipeline: VAE Decode Audio turns a sampled audio latent back into an actual waveform. If your workflow generated sound (an LTX-2 voice, foley, a song) and you're staring at a latent wondering where the audio went - this is the node you're missing between the sampler and the save.

Two inputs, one output:

  • samples - the audio LATENT. Same data structure as image latents, but the sampler treated it as sound.
  • vae - an audio-capable VAE. Any VAE with an audio decoder; for LTX-2 workflows that's the LTXV audio VAE.
  • Output: an AUDIO object - waveform plus sample rate - that feeds audio preview nodes, Save WEBM, or a video muxer to attach to frames.

Mechanically it's the sibling of VAEDecode: run the latent through the VAE's decoder, then normalize (the source applies a 5×-standard-deviation loudness normalization so quiet generations don't stay silent and hot ones don't clip), and report the VAE's native sample rate. Nothing to tune - you genuinely cannot set these wrong.

What's it for, really

The generic audio-VAE family (VAE Encode Audio / VAE Decode Audio, plus their tiled variants) is the plumbing for ComfyUI's audio-latent generation. The loudest real-world user is LTX-2, whose audio+video model produces an audio latent alongside the video latent; this node is how that latent becomes a soundtrack. The LTX-specific nodes (LTXV Audio VAE Encode/Decode) are thin wrappers around exactly this machinery, so understanding the generic one means understanding those.

Where you'll actually place it: sampler output → this node → Save Audio/WebM, or → Combine into a video node so the generated sound lands on the generated frames. On its own it produces nothing visible - like a decode with no consumer, it just sits there and looks busy.

Gotchas

  • VAE matching is everything. The VAE you decode with must match the latent space the sampler used - same checkpoint generation. LTX-2.3 rebuilt its VAE (new latent space), so decoding 2.3 audio latents with an older VAE gives garbage. Version-match your VAE loader to your checkpoint.
  • Empty audio latents decode to silence, not nothing. If you decode an audio latent that never went through sampling (or that you zeroed out), you get quiet normalized noise or silence - the node still "works." A silent result usually means the audio latent was empty, not that decode is broken.
  • Distilled-model quirks land here but aren't this node's fault. "Mumbling" audio from the LTX-2 distilled LoRA is a sampling-side issue (fixed by the 1.1 LoRA), not a decode problem. Don't blame the decoder for what the sampler produced.

It's a two-wire node with no settings, which makes it easy to overlook - but it's the difference between "I generated audio" and "I can hear my audio." In the LTX-2 era, that's a difference worth having a node for.

Categorymodel/latent

Inputs (2)

NameTypeDefaultDescription
samplesLATENT
vaeVAE

Outputs (1)

NameTypeDescription
AUDIOAUDIO