MiniMax H3 Max publishes two size limits, and the relationship between them is the part that breaks integrations:
The second is not a generous ceiling above the first. It is a pool, and two frames plus the prompt all draw from it.
Two images at 30 MB each is 60 MB — under the whole-request cap, but only just. Add the prompt and any encoding overhead and you are pressing against 64 MB with no margin.
So the real constraint is not "each image may be 30 MB". It is: two images may be 30 MB each only if nothing else in the request is large. A first frame and a last frame, both straight off a modern phone, both untouched, is the exact shape of request that fits the per-file rule and fails the whole-request rule.
The failure is confusing because the user did nothing wrong by the documented per-image limit. They will check that number, see 30 MB, see their 28 MB photo, and reasonably conclude the file is fine.
The accepted image formats include HEIC and HEIF — the two nobody else publishes, and the two an iPhone produces by default. That is a real convenience: users can hand you camera-roll files without converting anything.
It also means the files arriving at your endpoint are the originals, at full capture resolution, rather than something a converter already shrank on the way through. The format support that removes one friction quietly raises the odds of hitting the other limit.
Add the dimension ceiling — 256 to 5760 px per side — and a modern phone photo can be close to two of those three limits at once before anyone has thought about it.
Validate against the pool, not the per-file number. Sum the encoded sizes of every attachment plus the prompt, compare against 64 MB, and reject before you upload rather than after.
Downscale server-side, not in the browser. The dimension range tops out at 5760 px per side; almost nothing needs to arrive at that size, and a resize to something sane removes the whole class of problem. Do it after receipt, so a user on a slow connection is not uploading 30 MB you were going to discard.
Say which limit was hit. "Image too large" is wrong when the image was legal and the request was not. The message that saves a support round trip is the one that names the pool: both frames together exceed the 64 MB request budget.
Check the aspect range too, while you are validating: 0.4 to 2.5, so 2:5 through 5:2. A panorama or a very tall crop will pass every size check and still be refused.
The 30 MB per-image limit, the 64 MB whole-request budget, the 256–5760 px dimension range, the 0.4–2.5 aspect range and the accepted formats are all published limits, each with the date it last changed, on the MiniMax H3 Max specifications page.
Disclosure: this site is written by the people who run minimaxh3max.video, an independent third-party interface to this model. We are not affiliated with MiniMax.