antirez · 2026-08-09 · major
h3.c — antirez ships a C engine that runs MiniMax H3 on Apple Silicon
h3.c is an MIT-licensed inference engine written in C that runs the MiniMax H3 multimodal model natively on Apple Silicon Macs. It generates video and audio from a prompt using Metal, and reached 638 stars two days after publication.
A single C program that turns a prompt into video and audio on a Mac, with no Python stack underneath.
Key specs
| GitHub stars | 638 |
|---|---|
| Hacker news points | 197 |
Quick facts
| Maker | antirez (Salvatore Sanfilippo) |
|---|---|
| License | MIT |
| Language | C |
| Model it runs | MiniMax H3 |
| Platform | Apple Silicon Macs, Metal (M3 and M5 tested) |
| Memory | 128 GB unified memory recommended for the full feature set |
| First published | 2026-08-09 |
What is it?
h3.c runs the MiniMax H3 multimodal model directly on Apple Silicon, written in C against Metal instead of a Python framework. It takes a text prompt and produces video with sound. A Ref2VA mode lets you steer the result with first-frame and last-frame anchors plus ordered image, video, and audio references. Salvatore Sanfilippo (antirez), the creator of Redis, wrote it.
How does it work?
The engine runs the diffusion transformer denoising loop on Metal and exposes the quality-versus-speed knobs directly: step count, layer count, a layer-reuse factor, an internal render resolution, and an int8 path instead of BF16. Building h3.c is a plain `make -j8`; it shells out to FFmpeg and FFprobe for reading and writing media. Running the binary without a prompt drops you into an interactive session.
Why does it matter?
Local video generation normally means a large Python and CUDA stack on an NVIDIA box. Because h3.c is C plus Metal, a Mac owner can clone it, run make, and generate clips offline with nothing else installed. The README reports about 3.5 seconds for a four-step denoise of a 512×512, 22-frame clip on an M5 Max, so iteration is fast enough to actually experiment.
Who is it for?
Mac developers who want local video generation without a Python stack
Frequently asked questions
- What hardware do you need to run h3.c?
- h3.c requires an Apple Silicon Mac with Metal support; the README notes M3 and M5 were tested. FFmpeg and FFprobe must be on your PATH because the engine shells out to them for media input and output. The author recommends 128 GB of unified memory to use the full feature set.
- How fast is h3.c on an M5 Max?
- The h3.c README gives several figures for an M5 Max. A four-step denoise of a 512×512, 22-frame fox clip takes about 3.5 seconds. The default preset drops from 16.69 to 12.60 seconds with token reduction, and an aggressive profile at 320 internal render spends 8.02 seconds in the diffusion transformer.
- Does int8 make h3.c faster than BF16?
- Yes. The h3.c README reports 36.30 seconds using BF16 on MPS versus 25.80 seconds using int8 for the same work on an M5 Max. A complete Ref2VA run including audio is listed at 74.58 and 76.99 seconds, so the reference-conditioned path costs noticeably more than plain prompt-to-video.
- What output sizes and lengths does h3.c support?
- h3.c requires canvas dimensions that are multiples of 32, and the width times height product cannot exceed 768×1344 pixels. Frame counts snap to the formula 5+17n, so a request for 23 frames rounds up to 39. Audio references are capped at 15 seconds total across a maximum of three inputs, and native 128×128 is unsupported.
- Is h3.c free to use commercially?
- h3.c itself is released under the MIT license, which permits commercial use, modification, and redistribution. The engine is only the runtime, though — you still need the MiniMax H3 weights, which are distributed separately on Hugging Face under their own terms, so check that model license before shipping anything built on it.
Try it
make -j8 && ./h3 -d ./MiniMax-H3 -p "a fox running" --width 512 --height 512