MiniMax H3 reference mix: why 9 + 3 + 3 fails the 12 cap

H3 and H3 Max allow 9 images, 3 videos and 3 audios, but only 12 inputs in total. A Python preflight counter and the cost of images past five.

5 min readSume
All posts

A reference-to-video request on MiniMax H3 or H3 Max can carry at most 12 inputs in total. The per-type maxima are 9 images, 3 videos and 3 audio clips, but they add up to 15, so you cannot fill all three. Send 9 images and 3 videos, and you have used all 12; a single audio clip pushes the request over.

The full constraint set

MiniMax's H3 announcement says H3 accepts image, video and audio references (read 2026-10-04). The Sume catalog turns that into concrete limits for both ids.

  • Images: at most 9.
  • Videos: at most 3, each 2-15 s, combined at most 15 s.
  • Audios: at most 3, each 2-15 s, combined at most 15 s.
  • Images plus videos plus audios: at most 12.
  • Audio cannot be the only reference.

Mixes that fit and mixes that do not

The table checks a few common combinations against the rules.

Reference mixes checked against the MiniMax H3 limits in the Sume catalog. Sume code, read 2026-10-04.
ImagesVideosAudiosTotalFits
93012Yes
93315No, over 12
63312Yes
5229Yes
0022No, audio only

Extra images cost extra on H3

On minimax-h3 the first 5 reference images are free; each extra image is $0.08 list, $0.10 billed. Nine images therefore add four extra, or $0.40 billed. For H3 Max the reference-token overage is not reserved. The rest of the bill is the per-second rate, $0.75 for a 10 s H3 clip at 768p.

Run the check offline

This preflight needs no network or key. Run it before you upload.

def check(images, videos, audios):
    errors = []
    if images > 9:
        errors.append("max 9 images")
    if videos > 3:
        errors.append("max 3 videos")
    if audios > 3:
        errors.append("max 3 audios")
    if images + videos + audios > 12:
        errors.append("max 12 inputs in total")
    if audios and not (images or videos):
        errors.append("audio cannot be the only reference")
    return errors

for mix in [(9, 3, 0), (9, 3, 3), (6, 3, 3), (0, 0, 2)]:
    print(mix, check(*mix) or "ok")

Sources

Related posts

More in Developers

All Developers posts

Written by Sume