RunningHub MiniMax H3 Dual VAE Loader (Direct) (Legacy)
Where MiniMax H3 Keeps Video and Audio Separate
- h3_vae_bundle
Most video models have one VAE. MiniMax H3 has two, and this legacy loader is where you pick up both at once. Video runs through a 24-channel video VAE, audio through a separate 32-channel audio VAE - H3 keeps the two latent streams apart all the way through sampling and only recombines them at decode. That split is the whole reason the pack's latent plumbing (Empty AV Latent, the Dual Sigma Sampler, Decode AV) exists, and it's the reason a loader like this takes two file paths instead of one.
If you're wondering why you can't just "use the default VAE" like in SD: H3's native stereo audio is generated jointly with the picture in a shared latent space, so there's no standard ComfyUI VAE that knows anything about it. You need H3's own video VAE and its own audio VAE, and they need to match the checkpoint you loaded. This node is how the graph says "use these."
Inputs
- model_root - weights root,
models/MiniMax-H3-INT8-CONVROT(legacymodels/MiniMax-H3accepted). - video_vae_path - the 24-channel video VAE, default
MiniMax-H3-video_vae.safetensors. - audio_vae_path - the 32-channel audio VAE, default
MiniMax-H3-audio_vae.safetensors.
That's the whole input list, and the defaults are right - you almost never change these. Output is a single h3_vae_bundle handle that feeds both the encode nodes (which push images/video into latent space) and RHMiniMaxH3DecodeAV (which turns the sampled latent back into frames and audio).
How it works
The node resolves the two VAEs from the same root and wraps them as one bundle so the rest of the graph can't accidentally mix a video VAE from one checkpoint with an audio VAE from another. If a sampled latent doesn't match the bundle you're decoding with - wrong VAE fingerprint - the decode node will refuse rather than quietly produce garbage. That guard is a small thing, but it saves you from the most confusing failure mode in this whole pack.
The legacy framing
Like every loader in this pack except RHMiniMaxH3ModelLoader and friends, this one is marked (Legacy): it's the old explicit-root version. New workflows use RHMiniMaxH3VAELoader - same bundle, fewer knobs, no partition pin. Old graphs with this node keep loading fine, which is the deal legacy means here.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/RH-RunningHub/ComfyUI-RH-MiniMax-H3.git
pip install -r ComfyUI-RH-MiniMax-H3/requirements.txt
Restart, then the ~95 GiB INT8 ConvRot bundle into ComfyUI/models/MiniMax-H3-INT8-CONVROT/ via hf download Gluttony10/MiniMax-H3-INT8-CONVROT --local-dir ./models/MiniMax-H3-INT8-CONVROT (or ModelScope in China). ComfyUI 0.27+ and a CUDA PyTorch build are the floor. And the pack-wide reminder: MiniMax H3's Community License excludes the US, EU, UK and South Korea from running the local weights.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| model_root | COMBO | 选择 MiniMax-H3 权重根目录:专属根 models/MiniMax-H3-INT8-CONVROT(兼容 models/MiniMax-H3)(<类型>/<分区>/<模型>,放量化与合并产物),或 models/diffusers 下的官方 release 根(含 FL2VA/Ref2VA 分片子目录)。三个组件必须来自同一个根。 | |
| video_vae_path | COMBO | MiniMax-H3-video_vae.safetensors | 24 通道视频 VAE 权重;官方合并产物文件名为 MiniMax-H3-video_vae.safetensors,分片原始包逻辑名为 MiniMax-H3-video_vae。 |
| audio_vae_path | COMBO | MiniMax-H3-audio_vae.safetensors | 32 通道音频 VAE 权重;官方合并产物文件名为 MiniMax-H3-audio_vae.safetensors,分片原始包逻辑名为 MiniMax-H3-audio_vae。 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| h3_vae_bundle | MINIMAX_H3_VAE_BUNDLE | — |