h3check: the three MiniMax H3 request errors the API only reports after it has charged you
A dependency-free Python validator for MiniMax H3 (the model MiniMax also ships as Hailuo 3). It exists because all three of these failures are cheap to catch locally and expensive to discover from a billing line.
1. The duration you request is not the duration that renders
H3 snaps output to a 17n + 5 frame grid at 24 fps. Ask for 5 seconds and you get
5.167. Ask for 10 and you get 10.125. Solving (17n + 5) mod 24 = 0 across the
4–15 second range has exactly one solution:
n = 11 -> 192 frames -> 8.000 seconds
If you are cutting to music, 8 seconds is the only length in the whole range that will not drift against the beat. Anyone can verify this with a calculator, which is the part that still surprises me — it is not in any tutorial I have found.
2. The reference caps do not add up the way they look
| Input type | Per-type cap |
|---|---|
| Images | 9 |
| Video clips | 3 |
| Audio files | 3 |
| Total across all types | 12, not 15 |
Nine plus three plus three is fifteen, and that is the number people build their payload around. The real ceiling is twelve files in total, so a payload that respects every per-type limit can still be rejected. The full breakdown of what each reference slot actually does is in this write-up of H3 reference-to-video.
3. There is no resolution between 768P and 2K, and nothing above
No 1080P tier. No 4K. Requests carrying anything else fail. Worth knowing too: the 2K path is not an upscale — H3 sends the 768P result back through the model together with your original context and generates it again, which is why small on-screen text survives it and a separate upscaler does not reproduce the result.
What ships with it
h3check.py— the validator, no third-party dependencies.h3_spec.json— a machine-readable spec sheet where every field carries the source it came from and the date that source was checked.- A cost calculator using the published hosted rate, so you can price a shot before you commit to a length.
Where the rest of it lives
The same figures, laid out as tables with each row linked to the primary source and the date it was last verified, are at minimax-h3ai.video. That site also runs the model in the browser, and two of its tools — a prompt generator that prints H3's three-field structure, and a video-to-prompt tool that reverses a clip into an editable prompt — need no account at all.
Also on this site
A second reference card, for a different model: every shape Alibaba's Wan 3.0 will actually give you — the six aspect ratios, the three resolution tiers, the frame rate, and the two entries (21:9 and 4K) that comparison tables keep listing which the API does not accept. Same method as this page: every row read off the vendor's own parameter reference and dated.
And a longer note on a habit that keeps producing wrong spec sheets: open weights are not the finish line — what a post-trained speed build loses relative to the base model it is named after, and three requests that tell the two apart.