VAE Encode Audio
The generic door into ComfyUI's audio latent
- audio
- vae
- LATENT
ComfyUI treats audio the way it treats images: real sound gets compressed into a latent, the diffusion model works in that latent, and at the end something decodes it back. VAE Encode Audio is the "in" door - it takes an AUDIO tensor and produces the audio latent that conditioning and sampling can use. It's the generic node; the LTX-specific LTXV Audio VAE Encode is the same operation wearing an LTX-2 costume.
Two inputs, one output:
- audio - an AUDIO object, from a Load Audio node or the audio track pulled off a video.
- vae - an audio-capable VAE.
- Output: a LATENT holding the compressed audio.
The mechanism matters because it's invisible: the source reads the audio's sample rate, and if it doesn't match the VAE's native rate (44100 Hz for the LTX-2 audio VAE) it resamples the waveform before encoding. Then it runs the encoder, same as any VAE encode. The output carries no special marker in the generic version - you're just handing a latent into whatever audio-aware sampler you're using.
What it's for
- Audio-conditioned generation. Encode a reference voice or song so the model can be conditioned on it - the basis of LTX-2's audio-to-video, lipsync, and voice-cloning-from-a-clip workflows.
- Audio inpainting/editing within a graph. Encode real audio, modify it via sampling (regenerate a section, change the tone), decode the result. Same round-trip logic as image img2img, for sound.
- As a generic building block underneath the LTX-specific nodes, which subclass this very class - if you understand this one, you understand those.
The failure modes that will bite you
- No audio track. The node raises a clear error if the input audio is
None- meaning the source video had no audio track. This is the #1 way people meet this node: they load a video that turns out to be silent and the encode refuses. That's correct behavior; get audio into the graph (or use the LTX audio path) before encoding. - Sample-rate mismatch is handled, quality isn't. Automatic resampling means you won't crash, but heavily compressed audio stays heavily compressed - the encoder faithfully encodes garbage. Feed it decent source.
- VAE matching. The audio VAE must belong to the same latent space as the model you're conditioning. LTX-2.3 rebuilt its audio VAE; encoding with an old VAE against a 2.3 checkpoint produces latents the model can't read well. Match loader to checkpoint version.
The place in the bigger picture
Audio latents are new enough that the whole ecosystem is thin - there's a tiled variant of this node for long clips, and the LTX-2 world gives you empty audio latents to generate from nothing and a decode to hear the result. This node is the piece that gets existing sound into the machine, which is the whole trick behind "put sound on my Wan movie" and the reason LTX-2's launch threads were full of people amazed at voice cloning from a few seconds of audio. It's two wires and a resample, but it's the front door for everything audio in ComfyUI.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| audio | AUDIO | — | |
| vae | VAE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| LATENT | LATENT | — |