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.

5 min readSume
All posts

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.

Duration limits for the MiniMax ids on Sume, as of 2026-10-08
Model idMinimumMaximumResolutionsError when out of range
minimax-h35 s15 s480p, 768pmodel minimax-h3 accepts a duration of at most 15 seconds.
minimax-h3-max5 s15 s480p, 768p, 1080pmodel minimax-h3-max accepts a duration of at least 5 seconds.
h3-max-recast5 s30 s768p, 1080pH3 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

All Developers posts

Written by Sume