Nodes/VELVET VICE — MiniMax H3/VELVET VICE MiniMax H3 — Typed VAE Router
ComfyUI Node

VELVET VICE MiniMax H3 — Typed VAE Router

The internal glue that stops your VAE loaders from crossing a subgraph boundary and exploding

By Velvet-Vice·Created 21 days ago·Updated 18 days ago· 3
VELVET VICE MiniMax H3 — Typed VAE Router
  • model_config
  • video_vae
  • audio_vae
  • status
◄barrier—►
◄audio_enabledtrue►

You will probably never add this node to a graph by hand, and that's fine - it's the plumbing that keeps the Velvet VICE MiniMax H3 workflow from falling over, and knowing what it does is how you debug it when something upstream complains.

The problem it solves is subtle and real. ComfyUI lets you cram a workflow into a subgraph, but dropdown/enum values (COMBOs) don't cross a subgraph boundary cleanly - the string you selected on the System Hub can't reliably be handed to a loader living inside a collapsed group. The VELVET VICE MiniMax H3 Typed VAE Router exists to convert decisions made in the hub into actual typed VAE objects that can travel anywhere.

So the job order is: the System Hub resolves which VAE files should be used, the prompt barrier fires (a signal that the graph is safe to start loading the heavyweight stuff), and then this router actually calls the VAE loaders and hands back strongly-typed VAE sockets.

Its three inputs:

  • model_config - the custom VELVET_VICE_H3_MODEL_CONFIG dict straight out of the System Hub. It carries the resolved video and audio VAE filenames. If that config isn't "ready," the router refuses to run - it will not load a half-resolved set of VAEs.
  • barrier - a plain STRING you feed from the pipeline's barrier node (the System Check's prompt passthrough works). It exists purely to sequence execution: the VAE router must not fire before the preflight has blessed the run. It doesn't read the string's content, only its presence.
  • audio_enabled - flip this off and the audio VAE is never loaded; you get a clean MUTED / VIDEO ONLY path. Leave it on and the router demands a usable audio VAE.

Outputs: video_vae (VAE), audio_vae (VAE - empty in muted mode), and a status string that reports exactly what got loaded, which is your friend when a workflow mysteriously renders silent video.

The interesting hard rule hidden inside: with audio on, the audio VAE must be a native ComfyUI VAE - a GGUF audio VAE is refused, with a suggestion to switch to MUTED. Same for the video side, which the hub already enforces. There's no GGUF VAE loader in the ecosystem, so this pack doesn't pretend there is one.

Install and troubleshooting

It's part of the one-pack install:

cd ComfyUI/custom_nodes
git clone https://github.com/Velvet-Vice/velvet-vice-minimax-h3

Restart ComfyUI. No extra dependencies, no model files of its own - the VAEs it loads are the standard minimax_h3_video_vae_fp16.safetensors and minimax_h3_audio_vae_fp32.safetensors you already dropped in models/vae/.

The failure modes you'll actually meet, in one line each: "received a non-ready System Hub configuration" means the hub couldn't resolve your models - read its status, don't blame the router. "WITH SOUND requires a native ComfyUI H3 audio VAE" means either the file is missing or it's a GGUF; drop the real safetensor in, or mute. Both are messages that tell you exactly where to look, which is more than most internal nodes manage.

CategoryVELVET VICE/MiniMax H3/Internal

Inputs (3)

NameTypeDefaultDescription
model_configVELVET_VICE_H3_MODEL_CONFIG—
barrierSTRING—
audio_enabledBOOLEANtrue—

Outputs (3)

NameTypeDescription
video_vaeVAE—
audio_vaeVAE—
statusSTRING—