FunPack VAE Loader
A VAE loader where dtype is the whole point
- VAE
- status
Most VAE loaders are boring on purpose: pick a file, get a VAE, done. The FunPack VAE Loader from ComfyUI-FunPack adds one knob - an explicit dtype - and for LTX-2 and MiniMax H3 that knob is the difference between a good render and garbage. Why? Both model families ship two VAEs: a video VAE and a separate audio VAE. If you're generating synced sound for LTX-2 or H3, you'll be wiring up two of these, one per VAE, and you need both to land on the right precision.
The node exists because the modern video VAEs are picky about numeric precision in a way the old SD 1.5 days never were. Where a 2023 user loaded a VAE to fix washed-out colours, here you're loading one to avoid a silently broken output track.
How it works
Under the hood it's unglamorous in the good way: it reads your chosen VAE file from ComfyUI/models/vae, loads it with metadata intact, hands it to ComfyUI's comfy.sd.VAE with the dtype you asked for, and runs ComfyUI's own validity check on it before handing it back. No funky wiring, no extra dependencies past what the pack already installs. The dtype choice maps to a real torch dtype (fp16, bf16, fp32) or default, which just lets ComfyUI pick.
That dtype dropdown isn't cosmetic, and the tooltip says exactly why. MiniMax H3's VAEs must run in bf16 - fp16 produces garbage and fp32 decodes slowly. "Garbage" here isn't a mild colour shift; think decoded frames you can't use, or an audio track that sounds like a bent radio. bf16 is the safe lane.
The inputs that matter
- vae_name - dropdown of everything in
ComfyUI/models/vae. Pick the video VAE for the video node, the audio VAE for the audio node. - dtype -
default,fp16,bf16, orfp32. On H3, leave it atbf16. On LTX-2,defaultis genuinely fine and most people never touch it.
Outputs: VAE, which goes into your VAE Decode (and the audio-VAE decode path in FunPack's pipeline), plus a status string that confirms what loaded and at what dtype. It's a one-line report - FunPack VAE Loader | <file> dtype=bf16 - handy when a workflow mysteriously changed precision under you.
Installing it
Same pack, same install as every other FunPack node:
cd ComfyUI/custom_nodes
git clone https://github.com/olivv-cs/ComfyUI-FunPack
restart ComfyUI, or skip the terminal and grab ComfyUI-FunPack via ComfyUI Manager (or comfy node install ComfyUI-FunPack). Then drop your VAE files into ComfyUI/models/vae - LTX-2 and H3 each ship their video and audio VAEs as separate files, so budget for both. FunPack runs off your existing ComfyUI/PyTorch install and expects transformers >= 5.0.0; no models are bundled.
Troubleshooting
- Decoded video looks broken or the soundtrack is static - you're probably on fp16 with an H3 VAE. Switch to
bf16. The audio channel corrupts first, which reads as "sound problem" when the real culprit is precision. - No audio track at all - you only loaded the video VAE. LTX-2 and H3 treat audio as a second stream with its own VAE; you need one of these nodes per VAE.
- Noise or flat colour instead of frames - a VAE from the wrong model family or channel count. Re-check that the file in
models/vaeactually belongs to the model you're running. - H3 in the wrong region - worth a flag: MiniMax H3's community license excludes the US, EU, UK and Korea, so if that's you, downloading and running the weights may be unlicensed territory regardless of what your tools let you do.
One last heads-up shared by the whole pack: since v4.0.0 the maintainer targets FunPack's own Cutting Room editor, and nodes aren't guaranteed to look right (or be tested) in the plain ComfyUI frontend. They still run - just expect the occasional rough edge.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| vae_name | COMBO | The VAE file, from ComfyUI/models/vae. | |
| dtype | COMBO | default | MiniMax H3's VAEs must run in bf16 — fp16 produces garbage and fp32 decodes slowly. 'default' lets ComfyUI choose. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| VAE | VAE | — |
| status | STRING | — |