antirez/h3.c · 上手攻略
- 仓库:antirez/h3.c
- 链接:https://github.com/antirez/h3.c
- 分类:AI 推理引擎 · 视频生成 · Apple Silicon
- 作者:Tom
- 更新:2026-08-23
这是什么
h3.c 是 MiniMax H3 视频/音频生成模型的原生 Metal 推理引擎,专为 Apple Silicon 设计。由 antirez(Redis 作者)手写 C + Metal 实现,不依赖 Python 或 PyTorch,直接跑在 Mac 的 GPU 上。
H3 是 MiniMax 开源的多模态生成模型,支持文生视频、文生音频、首帧/尾帧条件化、Ref2VA 有序参考(图片/视频/音频输入)。h3.c 把这个模型本地化到 Mac,无需云端算力,在 M3/M5 Max 上即可跑出可用的视频生成结果。
⚠️ 项目处于活跃开发阶段("vertical slices"方式迭代),README 中的性能数字和参数可能随版本变化。
解决什么问题
现有 H3 Mac 推理方案的痛点:
- ComfyUI / MLX 端口慢:非原生实现,512×512 视频动辄 15 分钟以上
- 需要 Python 环境:依赖链重,不适合轻量部署
- 显存/内存压力大:H3 checkpoint 约 33 GB,峰值物理内存约 40 GB
h3.c 用纯 C + Metal 直接对接 Apple GPU,去掉所有中间层,实现了:
- M5 Max 512×512 约 16.69 秒(45 层 + reuse 2,默认质量)
- 4 步去噪激进模式约 3.5 秒(画质打折但可用)
- SSD 流式模式:DiT 存储从 ~36.5 GiB 降至 ~2.0 GiB(牺牲约 26-84% 速度换取内存)
快速安装
前置要求
- macOS(Apple Silicon,M3 Max 或 M5 Max 测试通过)
- Hugging Face 上的 MiniMax-H3 checkpoint 放在本地
./MiniMax-H3目录 ffmpeg和ffprobe在 PATH 中- 编译工具(
make、clang)
编译
git clone https://github.com/antirez/h3.c.git
cd h3.c
make -j8
下载模型
# 约 33 GB,需要登录 HuggingFace
# 使用 huggingface-cli 或手动下载 MiniMax-H3 权重
# 放到 ./MiniMax-H3 目录
mkdir -p outputs
验证模型布局
./h3 --info -d ./MiniMax-H3
--info 只检查模型布局并打印选中的 Metal 设备,不会加载全部权重或生成媒体。
核心用法
交互式 REPL(推荐入门)
不加 -p 启动交互式会话,保持 BF16 prompt conditioning、DiT、视频解码器在内存中,重复 prompt 不用重新加载:
./h3 -d ./MiniMax-H3 --width 512 --height 512 --steps 6
常用命令:
| 命令 | 说明 |
|---|---|
!status |
查看当前状态 |
!seed random |
切换随机种子 |
!seconds 2 |
生成 2 秒视频 |
!show |
在终端显示预览帧 |
!save output.mp4 |
保存为 MP4 |
!cache |
查看缓存状态 |
!first PATH |
设置首帧图片 |
!last PATH |
设置尾帧图片 |
!ref-image PATH |
添加 Ref2VA 参考图(最多多张) |
!int8-row-fc2 on |
开启 int8 量化(~2.6% 速度提升) |
!ssd-streaming on |
开启 SSD 流式(省内存) |
推荐首发配置(验证过的均衡预设)
./h3 --profile \
-d ./MiniMax-H3 \
-p "A red fox walks through fresh snow in a pine forest. Medium tracking shot, natural winter light, realistic fur, soft footsteps and wind." \
--width 512 --height 512 \
--frames 22 --steps 20 \
--layers 45 --reuse 2 \
--show \
-o outputs/fox-fast.mp4
--steps 20:20 步去噪(默认档)--reuse 2:跳过一半去噪转换,用速度换质量--layers 45:用 45/50 个 transformer 块(省显存)--show:在支持的终端(Kitty/Ghostty/iTerm2/WezTerm/Konsole)显示逐帧预览
质量档位控制(可组合)
| 参数 | 慢参考档 | 默认档 | 激进档 |
|---|---|---|---|
| 去噪步数 | --steps 50 |
--steps 20 |
--steps 4~7 |
| DiT 复用 | --reuse 1 |
--reuse 2 |
--reuse 3 |
| 激活层数 | --layers 50 |
--layers 45 |
--layers 40 |
| Token 缩减 | 关闭 | 可选 --token-reduction |
— |
最小可跑命令(4 步激进):
./h3 --profile \
-d ./MiniMax-H3 \
-p "A red fox walks through fresh snow in a pine forest. Medium tracking shot, natural winter light, realistic fur." \
--width 512 --height 512 --frames 22 \
--steps 4 --layers 50 --reuse 1 \
--show \
-o outputs/fox-4step.mp4
4 步约 3.5 秒出结果,与 29 步参考(约 26.4 秒)SSIM 约 0.55,内容和运动保持一致。
低内存模式(SSD 流式)
./h3 --profile \
-d ./MiniMax-H3 \
-p "A red fox walks through fresh snow in a pine forest." \
--width 512 --height 512 --frames 22 --steps 20 \
--layers 50 --reuse 1 --ssd-streaming \
-o outputs/fox-ssd.mp4
DiT 存储从 ~36.5 GiB 降至 ~2.0 GiB(512px),速度慢约 84%(1.35s → 2.49s)。注意 --show 保持预览 VAE 常驻额外 ~10 GiB。
分辨率与时长
- 输出宽高必须是 32 的倍数,最小 32×32
- H3 输出 24 fps,时长向上取整到合法帧数:
22帧≈0.92s、243帧≈10.1s --seconds N自动换算帧数(比直接指定--frames更直观)- 支持最大 1344×768
终端预览(可选)
# 使用 --show 显示逐帧预览(iTerm2 / WezTerm / Konsole / Kitty / Ghostty)
./h3 --profile ... --show ...
# 或输出 PPM 帧文件
./h3 ... --frames-dir ./frames ...
# 禁用 MP4 编码(ffmpeg 不可用时)
./h3 ... -o ''
典型适用场景
- 本地视频生成原型:不依赖云端,在 M3/M5 Max 上快速验证 prompt 效果
- prompt 迭代:交互式 REPL 保持状态,重复 seed 调试细节
- 首帧/尾帧条件化:控制视频起止画面,实现情节连贯的短视频序列
- Ref2VA 多模态参考:输入图片或视频片段作为生成引导
- 内存受限环境:SSD 流式模式在 2 GiB DiT 占用下运行(适合非工作站 Mac)
坑与注意
- M5 Max 实测数据,MacBook 会降频:桌面 M5 Max 跑满载长时间生成不会降频,笔记本用户注意散热和热节流
- 首次运行付模型加载成本:比较性能应从第二次运行开始
- --reuse 和 --core-reuse 互斥:不能同时开启
- --ssd-streaming 不能与 --use-int8-row-fc2 并用
--token-reduction+--layers 40+--reuse 3三合一会出色彩振铃:验证过的组合,不要再叠加- 512×512 是最稳妥开发尺寸:README 明确推荐,其他尺寸模型质量未充分验证
- 256×256 自动半频 RoPE:避免了伪影但细节和构图空间有限
- 数值像素级与 MLX 不一致:随机数和执行引擎不同,内容和运动应一致,但不保证逐像素相同
- 视频音频生成:README 提到支持但未展开详细用法,文档尚不完整
与同类对比
| 方案 | 语言 | 平台 | 速度(512px) | 内存占用 | 依赖 |
|---|---|---|---|---|---|
| h3.c | C + Metal | Apple Silicon 原生 | ~16.7s(M5 Max) | ~36 GiB(全载)/ ~2 GiB(SSD流) | 无 Python |
| ComfyUI + MLX | Python | Mac(MLX加速) | 分钟级 | 取决于实现 | 重度 Python |
| 云端 API | — | — | 快 | 不占本地 | 网络 |
h3.c 的核心优势是无 Python 原生 Metal 实现:绕过 Python 开销,直接调用 Apple GPU,在 Mac 上实现本地视频生成的工程可行性。
一句话推荐结论
在 Apple Silicon Mac 上跑 MiniMax H3 视频生成的首选开源引擎——纯 C + Metal、无 Python 依赖、M5 Max 16 秒出 512px 视频,适合本地 prompt 迭代和轻量视频原型。(⚠️ 需 33 GB 模型文件 + ~40 GB 峰值内存,请确认硬件条件再动手)
来源:GitHub README (https://github.com/antirez/h3.c) · Web 搜索补充 (daily.dev / aiweekly.co / qwe.edu.pl / X @MiniMax_AI 2026-08-10 推文)
待验证:int8 QKV 路径具体参数、音频生成详细用法、--core-reuse 与 --reuse 性能对比数字。