Nodes/RunningHub MiniMax H3/RunningHub MiniMax H3 Dual VAE Loader (Direct) (Legacy)
ComfyUI Node

RunningHub MiniMax H3 Dual VAE Loader (Direct) (Legacy)

Where MiniMax H3 Keeps Video and Audio Separate

By RH-RunningHub·Created 29 days ago·Updated 19 days ago· 1
RunningHub MiniMax H3 Dual VAE Loader (Direct) (Legacy)
    • h3_vae_bundle
    model_root
    video_vae_pathMiniMax-H3-video_vae.safetensors
    audio_vae_pathMiniMax-H3-audio_vae.safetensors

    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 (legacy models/MiniMax-H3 accepted).
    • 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.

    CategoryRunningHub/MiniMax H3/loaders

    Inputs (3)

    NameTypeDefaultDescription
    model_rootCOMBO选择 MiniMax-H3 权重根目录:专属根 models/MiniMax-H3-INT8-CONVROT(兼容 models/MiniMax-H3)(<类型>/<分区>/<模型>,放量化与合并产物),或 models/diffusers 下的官方 release 根(含 FL2VA/Ref2VA 分片子目录)。三个组件必须来自同一个根。
    video_vae_pathCOMBOMiniMax-H3-video_vae.safetensors24 通道视频 VAE 权重;官方合并产物文件名为 MiniMax-H3-video_vae.safetensors,分片原始包逻辑名为 MiniMax-H3-video_vae。
    audio_vae_pathCOMBOMiniMax-H3-audio_vae.safetensors32 通道音频 VAE 权重;官方合并产物文件名为 MiniMax-H3-audio_vae.safetensors,分片原始包逻辑名为 MiniMax-H3-audio_vae。

    Outputs (1)

    NameTypeDescription
    h3_vae_bundleMINIMAX_H3_VAE_BUNDLE