Prism DAC Audio VAE
Where the audio latent becomes something you can actually hear
- audio_vae
What it is
Prism generates audio as latents, like everything else. The Prism DAC Audio VAE is the codec that turns those latents into a waveform - DAC being the Descript Audio Codec, which is also why the pack's requirements file pulls in descript-audiotools.
You reach for it because the audio_vae socket on Prism Native Pipeline needs filling. Miss this one and you get a silent Prism - assuming you get anything at all, since the pipeline won't assemble without all seven components in place.
What's on the node, and what the loader is doing
model_name, an enum over your models/vae/ folders. The file is prism_alpha_audio_vae_bf16.safetensors from t8star/Prism-Comfy - note it starts with the same prefix as the video VAE, so read the second half of the filename before you drag it. One output, audio_vae, into the pipeline.
Two details explain most of its behaviour:
Stored BF16, executed FP32. The file is saved in BF16 but the runtime loads the audio VAE in float32, alone among the components. Audio artefacts are the kind of thing people notice immediately, so the codec gets the extra precision even though the transformers around it are quantised. If you're ever chasing "why is the audio the only thing not in INT8?", this is why.
The codec rounds up to whole codec frames. DAC works in fixed-size frames, so a latent that's slightly longer than your video will decode into audio that outlives the picture. The sampler trims the waveform back to exactly num_frames / fps seconds before handing it on. That's why the frames and the audio line up neatly in the saved file instead of trailing a few stray milliseconds.
The sample rate comes out at 48 kHz, matching what the pack's example workflows record as FLAC alongside the MP4.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/Comfyui-Prism-T8.git
cd Comfyui-Prism-T8
python -m pip install -r requirements.txt # with ComfyUI's own Python
ComfyUI Manager → Comfyui-Prism-T8, or registry t8star/prism-t8, if you prefer the UI. descript-audiotools>=0.7.2 is in the requirements list along with transformers, diffusers, sentencepiece and friends - leave ComfyUI's CUDA PyTorch alone while you install them, then restart.
Then put the file in models/vae/ next to the video VAE. Both VAEs are plain BF16 safetensors with no quantisation; the ConvRot INT8 treatment only touches the block Linear layers of the transformer components.
At sampling time this VAE, the video VAE and the text encoder are the components wrapped for CPU offload, so on a low-VRAM card they can each sit in system RAM until they're needed.
Where people get burned
The two VAEs, swapped. Socket typing saves you - Incorrect component in audio_vae: video_vae - but it's a two-second fix that feels like a five-minute one.
Mixed bundles. All seven components must share a bundle id: Components are from different Prism variants/conversion bundles. Re-download the set rather than patching a single file.
Assuming the codec is the problem. The author's own finding, reproduced with the FreeVideo author, is that Prism's base model degrades audio for certain prompt, seed and reference-image combinations. Both the native and accelerated samplers inherit it, and it isn't the VAE's fault. Automated checks - finite waveform, no clipping, speech recognised by ASR - do not establish that the audio sounds right. Listen to the track; that's the only test that counts.
Expecting it to be a general-purpose audio stack. It decodes Prism's latents. It won't decode a Wan or MMAudio latent, and it isn't a TTS or music model. If you want a specific voice or a song, that's Chatterbox or ACE-Step territory, generated separately.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| model_name | COMBO | 0 options: |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| audio_vae | PRISM_AUDIO_VAE | — |