RunningHub MiniMax H3 Video Gen (References)
Images, clips, and audio in one autogrowing node
- images
- videos
- audios
- h3_model
- h3_text_encoder
- h3_vae_bundle
- sampler_config
- frames
- audio
- av_latent
Text prompts are only half of what MiniMax H3 does well. Feed it reference media - a face, a room, a camera move, a voice - and RHMiniMaxH3RefGen generates a new clip that actually honors them. This is the reference (Ref2VA) counterpart to RHMiniMaxH3VideoGen, and it's the node that makes H3 feel less like a text-to-video toy and more like a working edit tool: character stays the character, the set stays the set, and the audio can come from a reference clip too.
The limits, up front
H3's reference contract: up to 9 images, up to 3 videos, up to 3 audio references - 12 total - and audio can't be the only reference. The sequence is ordered images → videos → audio, and you reference them in the prompt by their per-type index: the first image is image_1, the first video video_1, and so on. A reference video with an audio track doubles as an audio reference automatically.
How it works
The node's inputs autogrow - images, videos, and audios are Autogrow ports, so you click to add more slots up to the limits. It builds the reference sequence, resolves the target shape from what you gave it (which is why aspect_ratio=auto is allowed here, unlike pure text), encodes the multimodal conditioning through the Qwen3-VL text encoder, and runs the same joint video+audio sampler as the other generation node. duration_seconds=0 derives the length from a single audio reference. Under the hood this replaces the whole legacy chain of Ref2VA reference nodes, target, and encode.
Inputs that matter
Beyond the media ports and prompt, the sampler bank matches RHMiniMaxH3VideoGen: seed (42, reproducible), steps (21 default - res_multistep at 21 points ≈ Euler-50 quality), video_shift (12) and audio_shift (3), sampler_mode (res_multistep recommended), and accel (off by default - profiles are calibrated at 50 steps, see the pack's sampling docs). Width/height of 0 derive from aspect_ratio. The ref_image_size option picks how reference images are sized into the sequence (match to the target, or max).
Optional overrides: h3_model, h3_text_encoder, h3_vae_bundle to hand it explicitly loaded components, sampler_config for the experimental knobs, and attention_backend (auto, sdpa, sage, or ck for Comfy Kitchen INT8).
Outputs
frames (IMAGE), audio (AUDIO), and av_latent (the joined latent, if you want to re-sample). Wire frames and audio to a video save node and you're done.
Install
Same story as every node in this pack - Manager (search "ComfyUI-RH-MiniMax-H3") or:
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 ~95 GiB of INT8 ConvRot weights into models/MiniMax-H3-INT8-CONVROT/:
cd /path/to/ComfyUI
hf download Gluttony10/MiniMax-H3-INT8-CONVROT --local-dir ./models/MiniMax-H3-INT8-CONVROT
You need ffmpeg/ffprobe on PATH here more than anywhere else in the pack - the node probes every video and audio reference you feed it.
Where people get burned
An audio-only reference set gets rejected - audio can't ride alone. A video_audio reference without an audio track throws rather than silently dropping the sound. And the same license reality check as the rest of H3: the Community License excludes the US, EU, UK, and South Korea, so check your region before building a pipeline on these weights.
Inputs (21)
| Name | Type | Default | Description |
|---|---|---|---|
| images | COMFY_AUTOGROW_V3 | — | |
| videos | COMFY_AUTOGROW_V3 | — | |
| audios | COMFY_AUTOGROW_V3 | — | |
| prompt | STRING | 提示词;引用素材用 图N/视频N/音频N(按各类型接入顺序编号) | |
| aspect_ratio | COMBO | 16:9 | auto 仅在有图片/视频素材可参照时可用 |
| width | INT | 0 | 0 = 按 aspect_ratio 自动解析;非 32 倍数向下取整 |
| height | INT | 0 | 0 = 按 aspect_ratio 自动解析;非 32 倍数向下取整 |
| duration_seconds | FLOAT | 5.00–15 | 0 = 自动(配音模式取源视频最大档位;参考模式从唯一音频推导) |
| seed | INT | 420–9223372036854776000 | 随机种子;同参同种子可复现 |
| steps | INT | 212–1000 | 采样 sigma 点数;res_multistep 推荐 21(20 次 DiT)≈ euler-50 质量 |
| video_shift | FLOAT | 12.000.01–100 | 视频流 flow shift;官方默认 12.0 |
| audio_shift | FLOAT | 3.000.01–100 | 音频流 flow shift;官方默认 3.0 |
| sampler_mode | COMBO | res_multistep | res_multistep=二阶多步(推荐,21 点);euler=官方一阶(50 点) |
| accel | COMBO | 近似加速档位;off=关闭。manual-* 档展开对应旋钮 | |
| h3_modelopt | MINIMAX_H3_DIRECT_MODEL | 覆盖内部 DiT 加载(如 Loader→FrameRate 链);留空自动加载转换模型。接入后仍由本节点的 attention_backend 决定注意力实现 | |
| h3_text_encoderopt | MINIMAX_H3_TEXT_ENCODER | 覆盖内部文本编码器加载;留空自动加载转换模型。DiT 与文本编码器不在同一权重目录时(如 int8 DiT + 原始 TE)必须显式接入 | |
| h3_vae_bundleopt | MINIMAX_H3_VAE_BUNDLE | 覆盖内部双 VAE 加载;留空自动加载转换模型。需要混用不同目录的 VAE 权重时显式接入 | |
| ref_image_sizeopt | COMBO | match | 参考图入序列的分辨率策略:match=贴合 target,max=上限 |
| sampler_configopt | MINIMAX_H3_SAMPLER_CONFIG | 接 Sampler Config 节点填实验性旋钮;不接走默认 | |
| allow_accel_with_res_multistepopt | BOOLEAN | false | 允许 res_multistep 叠加 accel;未标定组合,默认关闭 |
| attention_backendopt | COMBO | auto | DiT 注意力:auto=服从 ComfyUI 本体,sdpa=PyTorch SDPA,sage=强制 SageAttention(未安装会明确报错),ck=Comfy Kitchen INT8(同 --use-ck-attention,未就绪会报错) |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| frames | IMAGE | — |
| audio | AUDIO | — |
| av_latent | MINIMAX_H3_AV_LATENT | — |