h3check

h3check is a single-file, dependency-free Python program that reads a MiniMax H3 (Hailuo 3) render request and tells you what is wrong with it before you send it to a paid endpoint. It ships alongside h3_spec.json, a machine-readable spec sheet in which every constraint carries the source it came from.

$ h3check validate request.json
FAIL
  ERROR    13 reference files exceeds the total cap of 12 - the per-type caps add up to 15, but the total is 12
  note     duration 10s renders as 243 frames = 10.125s (n=14). The only whole second in range is 8.000s (192 frames).
  note     hosted cost at 2K: $1.3163 for 10.125 rendered seconds

Nothing in that request is obviously wrong. Nine reference images is exactly the image cap. One clip is well under the clip cap. Three audio files is exactly the audio cap. Each field passes on its own and the combination is rejected, because the per-type caps add up to fifteen and the total cap is twelve.

Why a validator and not a schema

Most of what h3check checks could be expressed as JSON Schema. Three classes of problem could not:

Constraints that only exist as a relationship between fields. The twelve-file total above is one. Reference clip budgets are another: three clips of six seconds each are individually legal and collectively over budget.

Values that are accepted and then silently changed. duration takes any whole number from 4 to 15, and the renderer snaps it to a frame grid — so a request for 10 seconds is valid, is accepted, and produces 10.125 seconds of video. A schema validates the request. It cannot tell you that the file you get back will not be the length you asked for. See Validation rules for the arithmetic.

Fields that are ignored rather than rejected. generate_audio: false does not disable audio, because there is no separate audio step to disable. The request succeeds, you are billed the same, and the flag did nothing. h3check raises this as a warning rather than an error, for the reason described in Errors, warnings and notes.

What it covers

Area Checks
Duration presence, integer type, 4–15 range, frame-grid snap
Resolution presence, membership in 768P / 2K, explicit 1080p and 4K diagnosis
Aspect ratio membership in the six supported ratios
Prompt character ceiling
Reference inputs per-type counts, twelve-file total, per-clip and total second budgets
Mode ref2va with an empty reference set
Audio attempts to switch audio off
Cost hosted price for the duration that actually renders

Where the numbers come from

Every entry in h3_spec.json carries a source field pointing at MiniMax's own API reference, its pricing page, the Hugging Face model card, or the ComfyUI release notes. Several of them contradict what the highest-ranking write-ups about this model say, and where that happens the spec file records the discrepancy in a commonError field so you can see what you are disagreeing with. The full tables, with each row linked to its primary source and dated, are published at minimax-h3ai.video.

If a number here is wrong, open an issue with the source. Corrections are the point of the repository.

Requirements

pip install h3check

Python 3.9 or newer. No third-party packages, at runtime or for the tests. The whole tool is two files — src/h3check/__init__.py and src/h3check/h3_spec.json — so if you would rather vendor it than depend on it, copy those two side by side into your own project and run h3check against them.


Disclosure: this project is maintained by the author of minimax-h3ai.video, an independent third-party interface for MiniMax H3. It is not affiliated with, endorsed by, or sponsored by MiniMax.