Nodes/ComfyUI-RH-MiniMax-H3/RunningHub MiniMax H3 Video Gen (Text / Keyframes)
ComfyUI Node

RunningHub MiniMax H3 Video Gen (Text / Keyframes)

Text, keyframes, or dubbing in one box

By RH-RunningHub·Created 9 days ago·Updated 9 days ago· 0
RunningHub MiniMax H3 Video Gen (Text / Keyframes)
  • h3_model
  • h3_text_encoder
  • h3_vae_bundle
  • first_frame
  • last_frame
  • source_video
  • sampler_config
  • frames
  • audio
  • av_latent
prompt
aspect_ratio16:9
width0
height0
duration_seconds5.0
seed42
steps21
video_shift12.00
audio_shift3.00
sampler_moderes_multistep
accel
allow_accel_with_res_multistepfalse
attention_backendauto

MiniMax H3 is the 33B omni-modal video model that generates picture and sound together - native stereo audio, not a music box bolted onto a silent clip. In ComfyUI, RHMiniMaxH3VideoGen is the front door. One node, three jobs, decided purely by what you plug into it: nothing plugged in is text-to-video-plus-audio (T2VA), first and/or last frame connected is keyframe generation (FL2VA), and a source_video is dubbing - the clip's picture becomes a clean condition and only the audio is regenerated.

No SGLang server, no Diffusers pipeline, no API key. The whole thing runs in your ComfyUI process.

How it works

The node is the modern all-in-one that replaced the old granular chain of target, text-encode, encode, and sampler nodes. Internally it's still that chain - it loads the FL2VA DiT, the Qwen3-VL text encoder, and the dual video/audio VAEs, resolves the output shape, builds conditioning, runs the joint video+audio sampler, and decodes - but you never see the plumbing. It even caches the static conditioning so re-runs skip re-encoding. The catch: this all-in-one version is only worth it if the models are actually there, because it auto-loads them from models/MiniMax-H3-INT8-CONVROT/ on first run.

The inputs that matter

  • prompt - multiline. Write the visual and audio in one go; the model treats them as one context.
  • aspect_ratio - 21:9 down to 9:16. auto only works when there's image/video material to reference; pure-text generation has to pick one.
  • width / height - 0 means "derive from aspect ratio," and anything non-multiple-of-32 gets floored. Leave them at 0 unless you know why not.
  • duration_seconds - 4–15. In keyframe mode it must be explicit; in dubbing mode 0 takes the source video's max usable slot.
  • seed, steps, video_shift, audio_shift, sampler_mode, accel - the sampler bank. Defaults are sane: res_multistep at 21 sigma points gives roughly Euler-50 quality at about half the DiT passes, video_shift 12 / audio_shift 3 are the official flow shifts. accel defaults to off because the acceleration profiles are calibrated at 50 steps and overlap poorly with the 21-point path.

Optional first_frame and last_frame (keyframes, mutually exclusive with source_video) plus override inputs h3_model, h3_text_encoder, h3_vae_bundle if you want to hand it components from the loaders, and sampler_config if you're into the experimental knobs.

Outputs

Three, and they're what make this pack nice: frames (IMAGE), audio (AUDIO), and av_latent (the joined latent, if you want to re-sample instead of decode).

Install and models

Manager: search "ComfyUI-RH-MiniMax-H3" and hit install, 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 the real project: ~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 want ComfyUI 0.27+, a CUDA PyTorch build, and ffmpeg/ffprobe on PATH for the reference paths.

Where people get burned

aspect_ratio=auto on a pure-text run errors immediately - there's nothing to reference. Keyframe mode without an explicit duration also refuses. And before you point this at a 8GB card: Qwen3-VL 32B plus the DiT is a big resident footprint; the INT8 weights help, but you still need serious VRAM or patience with offload. One more thing to know up front: the MiniMax H3 Community License excludes the US, EU, UK, and South Korea - if you're in those regions you're not licensed to run these weights locally, even though the pack installs fine.

CategoryRunningHub/MiniMax H3

Inputs (20)

NameTypeDefaultDescription
promptSTRING提示词;引用素材用 图N/视频N/音频N(按各类型接入顺序编号)
aspect_ratioCOMBO16:9auto 仅在有图片/视频素材可参照时可用
widthINT00 = 按 aspect_ratio 自动解析;非 32 倍数向下取整
heightINT00 = 按 aspect_ratio 自动解析;非 32 倍数向下取整
duration_secondsFLOAT5.00–150 = 自动(配音模式取源视频最大档位;参考模式从唯一音频推导)
seedINT420–9223372036854776000随机种子;同参同种子可复现
stepsINT212–1000采样 sigma 点数;res_multistep 推荐 21(20 次 DiT)≈ euler-50 质量
video_shiftFLOAT12.000.01–100视频流 flow shift;官方默认 12.0
audio_shiftFLOAT3.000.01–100音频流 flow shift;官方默认 3.0
sampler_modeCOMBOres_multistepres_multistep=二阶多步(推荐,21 点);euler=官方一阶(50 点)
accelCOMBO近似加速档位;off=关闭。manual-* 档展开对应旋钮
h3_modeloptMINIMAX_H3_DIRECT_MODEL覆盖内部 DiT 加载(如 Loader→FrameRate 链);留空自动加载转换模型。接入后仍由本节点的 attention_backend 决定注意力实现
h3_text_encoderoptMINIMAX_H3_TEXT_ENCODER覆盖内部文本编码器加载;留空自动加载转换模型。DiT 与文本编码器不在同一权重目录时(如 int8 DiT + 原始 TE)必须显式接入
h3_vae_bundleoptMINIMAX_H3_VAE_BUNDLE覆盖内部双 VAE 加载;留空自动加载转换模型。需要混用不同目录的 VAE 权重时显式接入
first_frameoptIMAGE首帧(fl2va);与 source_video 互斥
last_frameoptIMAGE尾帧(fl2va),可单独使用;与 source_video 互斥
source_videooptVIDEO配音模式(v2a):视频画面作为干净条件,仅生成音频。素材应为 24fps;duration=0 自动取最大可用档位
sampler_configoptMINIMAX_H3_SAMPLER_CONFIG接 Sampler Config 节点填实验性旋钮;不接走默认
allow_accel_with_res_multistepoptBOOLEANfalse允许 res_multistep 叠加 accel;未标定组合,默认关闭
attention_backendoptCOMBOautoDiT 注意力:auto=服从 ComfyUI 本体,sdpa=PyTorch SDPA,sage=强制 SageAttention(未安装会明确报错),ck=Comfy Kitchen INT8(同 --use-ck-attention,未就绪会报错)

Outputs (3)

NameTypeDescription
framesIMAGE
audioAUDIO
av_latentMINIMAX_H3_AV_LATENT