一句话答案
MiniMax H3 已经可以在本地跑,ComfyUI Desktop 自带所有模型,用 Hermes 搭好的 skill 一行命令生成 T2V/I2V/R2V 视频,不用 API key。
为什么想本地跑
MiniMax 的 API 体验其实不差,但我有两个不满:视频长度受限于积分,以及生成内容受平台审核。本地跑没有这些问题,而且 RTX 5080 的算力不用白不用。
第一次成功跑出视频的时候,我的感觉是:原来视频生成已经到这个地步了。
环境准备
路径结构(Windows)
C:\Users\<user>\AppData\Local\Comfy-Desktop\
├── ComfyUI-Installs\ComfyUI\ComfyUI\ ← 核心程序
├── ComfyUI-Shared\
│ ├── models\ ← 所有模型文件
│ │ ├── diffusion_models\
│ │ │ ├── minimax_h3_fl2va_pruned_int8_convrot.safetensors
│ │ │ └── minimax_h3_ref2va_pruned_int8_convrot.safetensors
│ │ ├── text_encoders\
│ │ │ └── qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors
│ │ └── vae\
│ │ ├── minimax_h3_video_vae_fp16.safetensors
│ │ └── minimax_h3_audio_vae_fp32.safetensors
│ └── output\ ← 生成结果输出
Desktop 版本装完模型就全在这里,不需要额外下载,也不需要 Hugging Face token。
启动服务器
ComfyUI 需要以 headless 模式启动,不是开桌面程序:
cd "C:\Users\<user>\AppData\Local\Comfy-Desktop\ComfyUI-Installs\ComfyUI\ComfyUI"
# 关键:清除 PYTHONPATH,否则 venv 会导入错误的 Pillow
env -u PYTHONPATH ".venv\Scripts\python.exe" main.py \
--listen 127.0.0.1 --port 8188 \
--extra-model-paths-config "C:\Users\<user>\AppData\Local\hermes\scripts\minimax_h3_extra_paths.yaml" \
--output-directory "C:\Users\<user>\AppData\Local\Comfy-Desktop\ComfyUI-Shared\output"
健康检查:
curl http://127.0.0.1:8188/system_stats
Workflow 节点链
官方 ComfyUI 模板是 subgraph 格式,直接 POST 到 /prompt API 会报 missing_node_type 错误。本地跑必须用标准节点构建 workflow。
正确的节点连接
MiniMaxH3ImageToVideo / MiniMaxH3ReferenceToVideo
output[0] = CONDITIONING ← 别接这里
output[1] = LATENT ← 接这里才对
LATENT ──► VAEDecode (samples=[H3, 1], vae=video_vae) ──► IMAGE
──► VAEDecodeAudio (samples=[H3, 1], vae=audio_vae) ──► AUDIO
AUDIO ──► CreateVideo (images, fps, audio, bit_depth=8)
IMAGE ────────────────────────────────────────────────► CreateVideo
CreateVideo output ──► SaveVideo ──► .mp4
踩过的坑:
坑 1:接错 output 索引。 H3 节点输出 CONDITIONING(索引0)和 LATENT(索引1)。我第一次接的是 [node_id, 0],结果报 received_type(CONDITIONING) mismatch input_type(LATENT)。
坑 2:CLIPLoader 缺少 type 参数。 普通 SDXL 的 CLIPLoader 不需要 type,但 H3 用的 qwen3vl_32b_minimax_h3_nvfp4_awq 必须加 type: "minimax",否则报错 required_input_missing: type。
坑 3:CreateVideo 的 bit_depth 是 INT。 我一开始传的是字符串 "auto",报错 invalid literal for int() with base 10: 'auto'。正确值是 8(8bit)或 10(10bit)。
三种模式实测
T2V — 纯文字生成
python run_h3.py \
--mode t2v \
--prompt "A sleek red sports car races through a neon-lit night city. Rain on the asphalt. Cinematic slow motion. Camera follows from behind." \
--seconds 5 \
--aspect 16:9 \
--mp 0.4 \
--seed 12345
输出:MiniMax_H3_00010_.mp4,1.2MB,864×480,124帧(~5秒)。
I2V — 起始图引导
python run_h3.py \
--mode i2v \
--first-frame "C:\path\to\character.png" \
--prompt "The character walks confidently toward the camera. Cinematic. Audio: footsteps, city ambience." \
--seconds 5 \
--aspect 16:9 \
--seed 42
加上 --last-frame 可以做首尾帧插值(FL2VA),让模型在两张图之间生成过渡帧。
R2V — 参考资料引导
python run_h3.py \
--mode r2v \
--ref-image "C:\path\to\char_ref.png" \
--ref-image "C:\path\to\style_ref.png" \
--prompt "The character walks confidently toward the camera. Cinematic." \
--seconds 5
支持最多 9 张参考图、3 段参考视频、3 段参考音频。ref_image_size 参数控制参考图尺寸策略:"match" 缩放到生成尺寸(保持宽高比),"max" 用 2048px 短边(identity 保真度最高,但速度慢几倍)。
分辨率和时长参数
H3 有固定的帧率(24fps)和网格对齐约束。
| 秒数 | 帧数 | 说明 | |------|------|------| | 5s | 124帧 | 17×7+5,最接近 5 秒的网格点 | | 10s | 175帧 | 17×10+5 | | 15s | 192帧 | 17×11+5 | | 20s | 209帧 | 17×12+5 |
时长用 --seconds 传,脚本会自动换算成帧数。也可以直接用 --length 124 指定帧数。
分辨率参数:
| megapixels | 16:9 输出 | 9:16 输出 | |------------|-----------|-----------| | 0.2(预览) | 864×480 | 480×864 | | 0.98(原生) | 1344×768 | 768×1344 | | 2.0(Full HD) | 1920×1088 | 1088×1920 |
H3 限制短边最大 768px,超过会自动缩放。
生成效果
RTX 5080 单次 T2V 5秒视频实测耗时约 2-3 分钟(取决于场景复杂度)。
效果方面,H3 的强项是镜头运动和场景一致性。能看出 AI 生成的痕迹,但在文字 prompt 描述准确的情况下,输出的视频已经可以直接用在概念展示、素材参考和早期创意验证阶段。




