用 Redis 之父写的 h3-metal 在 Mac 上跑 MiniMax H3 视频生成
一个 C 文件,一台 Apple Silicon 的 Mac,就能生成视频。
这个项目解决什么问题?
MiniMax H3 是目前最火的多模态大模型之一,但官方推理需要巨量 GPU 资源,普通开发者根本碰不到。Redis 之父 antirez(Salvatore Sanfilippo)用纯 C 语言 + Metal 写了一个本地推理引擎h3-metal,让任何一台 Apple Silicon 的 Mac(M3 Max 甚至 M5 Max)都能直接跑 H3 生成视频。
没有 Docker,没有 Python 环境依赖,一个make编译完就跑。
核心亮点
纯 C 实现,极致极简。整个项目只有一个h3.c文件,没有复杂的构建系统。make -j8编译,./h3运行。antirez 一贯的风格——把问题压缩到最小可运行形态。
原生 Metal 加速。不依赖 PyTorch、TensorRT 等重量级推理框架,直接调用 Apple Silicon 的 Metal GPU API。BF16 精度,内存复用 prompt conditioning 和 DiT 预编码器。
交互式会话。类似 ChatGPT 的对话式操作,输入提示词自动生成视频,支持!first、!last首尾帧锚定,!ref-image引用参考图。生成的视频保留在会话目录中。
Ref2VA 参考图工作流。可以传入一张人物照片,让 H3 生成"照片中的人向镜头挥手"的视频,这在本地推理中非常罕见。
快速上手
# 1. 克隆项目gitclone https://github.com/antirez/h3.c.gitcdh3.c# 2. 下载模型(约 40GB)# 从 Hugging Face 获取 MiniMax-H3 快照到当前目录# 3. 编译make-j8# 4. 检查模型./h3--info-d./MiniMax-H3# 5. 生成视频./h3--profile\-d./MiniMax-H3\-p"A red fox walks through fresh snow in a pine forest"\--width512--height512\--frames22--steps20\--layers45--reuse2\--show\-ooutputs/fox-fast.mp4--layers 45只跑 50 层中的 45 层 Transformer,平衡速度和质量。--reuse 2复用前一次的 denoiser 结果,跳过一半的计算。
我的评价
这是 antirez 的招牌套路。和 Redis、luajit、kdb 一样——把一个领域里大家默认"需要复杂框架"的事情,压缩成一个 C 文件。技术含量不在"用了什么新技术",而在"用了最少的技术做了什么"。
局限也很明显。模型体积大(H3 权重几十 GB),对内存有要求(M3 Max 起步),不支持 Windows 和 Linux(Metal 是 macOS 独占 API)。这决定了它更像是一个技术 demo 和参考实现,而非生产工具。
但它的参考价值很高。如果你想知道 H3 到底是怎么跑起来的——不是看 Python 的抽象层,而是看实际的 GPU kernel、内存管理、denoising 流程——h3-metal 是最短路径。
GitHub: https://github.com/antirez/h3.c · License: AGPL-3.0
