MiniMax H3 duration errors: at most 15 s, at least 5 s, Recast 30 s
Video Router refuses a MiniMax H3 job over 15 s or under 5 s with a named message, and Recast has its own 5-30 s rule. Messages, limits and a pre-check.

A MiniMax H3 or H3 Max request with a duration outside 5 to 15 seconds is refused by the Video Router with "model minimax-h3 accepts a duration of at most 15 seconds." or "... at least 5 seconds.", naming the model you sent. H3 Max Recast has a separate window, 5 to 30 seconds, and a message of its own. No job is created, so nothing is billed.
Limits by id
Limits are per row. Read them from GET /v1/video-router/models instead of copying a number from another model, because other rows accept shorter or longer clips.
| Model id | Minimum | Maximum | Resolutions | Error when out of range |
|---|---|---|---|---|
| minimax-h3 | 5 s | 15 s | 480p, 768p | model minimax-h3 accepts a duration of at most 15 seconds. |
| minimax-h3-max | 5 s | 15 s | 480p, 768p, 1080p | model minimax-h3-max accepts a duration of at least 5 seconds. |
| h3-max-recast | 5 s | 30 s | 768p, 1080p | H3 Max Recast requires the inspected source video's duration (5-30 seconds). |
Related resolution errors
Resolution is checked in the same pass, with messages that name the fix.
- 720p on a MiniMax H3 id: "720p is not supported by model minimax-h3; use 768p."
- 1080p on plain MiniMax H3: "1080p is not supported by model minimax-h3."
- generate_audio false: "model minimax-h3 always produces native stereo audio; omit generate_audio."
A pre-check you can run
The snippet validates a duration against the table before any request is made.
LIMITS = {
"minimax-h3": (5, 15),
"minimax-h3-max": (5, 15),
"h3-max-recast": (5, 30),
}
def check(model, seconds):
low, high = LIMITS[model]
if seconds < low:
return "too short: %s accepts at least %d seconds" % (model, low)
if seconds > high:
return "too long: %s accepts at most %d seconds" % (model, high)
return "ok"
for model, seconds in [("minimax-h3", 16), ("minimax-h3-max", 4),
("h3-max-recast", 28), ("h3-max-recast", 31)]:
print(model, seconds, check(model, seconds))If you need more or less
For longer than 15 seconds, make several clips and join them on a timeline; two 15-second H3 Max clips at 768p are $3.00. For shorter than 5 seconds, trim a 5-second clip with video trim. Note that a Recast source must be at least 5 seconds as well.
Why the envelopes differ
The two MiniMax rows share the 5 to 15 second window because the model produces up to 15 seconds in one pass. Recast works differently: it processes an existing video, so the limit is the length of that source, with an extra rule about the longest single shot. If you route requests by a model id chosen at runtime, keep the table in code or read the live catalog, and fail early with a clear message. A request for 16 seconds on a MiniMax id is a design problem for your pipeline, not a transient fault, so do not retry it; change the length or split the job.
Both premiums are applied to the same list-times-1.25 formula, so a change in the list price moves the billable price in proportion. The figures here are the rows Sume lists as of 2026-10-08; check the live catalog before you commit a large batch.
Sources
Related posts
More in Developers
- Modal 1.6.1 endpoint logs and stats: debug a Sume webhook receiver
Modal 1.6.1 adds modal endpoint info, stats and logs. Use them to see why a Sume job webhook got a 401 or a timeout, and check the 150 s web timeout first.
- model sume/auto on /v1/videos: defaults, limits, replay-stable price
sume/auto lets Sume pick the video family. Defaults are 720p and 8 s, clips run 3 to 10 s at 16:9 or 9:16, and a replay gets the same route and price.
- Moving off Image 1.0: quality default flips from low to high
Image 1.0 defaults to quality low. On POST /v1/images with gpt-image-2.5 the default is high: 1 cent becomes 7. Field map and the one line to add to keep costs.
- Music 1.0 or Music Router: which route for new Sume code?
Use POST /v1/music-router/generate for new code. Music 1.0 still works but resolves through the router; every router model bills the same fixed $0.125.
Written by Sume