'720p is not supported by model minimax-h3; use 768p' and its twins

MiniMax H3 and H3 Max are 768p models on Sume: 720p gets a 400 that says use 768p. 768p is refused elsewhere, and 360p is Gemini Omni only.

4 min readSume
All posts

If Video Router says "720p is not supported by model minimax-h3; use 768p.", change the resolution to 768p. MiniMax H3 and H3 Max are native 480p and 768p models, and the catalog notes say 768p is first-class, not 720p. The other tier errors follow the same pattern: 768p is refused on every model except those two, and 360p is refused on every model except gemini-omni-flash-1.1.

Which tier belongs to which model

Resolution strings are not interchangeable between families. The H3 pair has no 720p. Everyone else has no 768p. Gemini Omni is the only model with 360p, and it is also the only one with a native 4K row alongside minimax-h3's upscales. The validation reads these rules from the model id, so the message is predictable.

Tier rules in the Video Router validation on main (read 2026-10-05)
Resolution stringAccepted byError elsewhere
360pgemini-omni-flash-1.1360p is not supported by model X.
480pSeedance family, Wan 3.0, Grok, MiniMax H3 and H3 Max, GenjutsuPer catalog
720pSeedance family, Wan 3.0, Kling 3, Grok, Gemini Omni, Genjutsu720p is not supported by model minimax-h3; use 768p. (same for minimax-h3-max)
768pminimax-h3, minimax-h3-max768p is not supported by model X.
1080pseedance-2, seedance-2.5, wan-3.0, minimax-h3-max, gemini-omni-flash-1.11080p is not supported by model X.

Why 768p is not a typo

H3 generates natively at 768p, and the catalog says 1080p on H3 Max is a latent refinement from that native size. Sume therefore keeps 768p as its own row and prices it separately; it is not a rounded 720p. If you map a generic quality setting to a resolution, give the H3 models their own mapping rather than falling back to 720p.

A mapping that does not trip

The function picks the closest valid tier per model from the rules above. It is local, prints a string and sends nothing.

TIERS = {
    "minimax-h3": ["480p", "768p"],
    "minimax-h3-max": ["480p", "768p", "1080p"],
    "gemini-omni-flash-1.1": ["360p", "720p", "1080p", "4K"],
    "seedance-2.5": ["480p", "720p", "1080p"],
}

def pick(model: str, want: str) -> str:
    order = ["360p", "480p", "720p", "768p", "1080p", "4K"]
    ok = TIERS[model]
    if want in ok:
        return want
    higher = [t for t in order if t in ok and order.index(t) > order.index(want)]
    return higher[0] if higher else ok[-1]

print(pick("minimax-h3", "720p"), pick("gemini-omni-flash-1.1", "480p"))

Limits of this advice

The table summarizes the validation rules, but the catalog entry for each model remains the source for what is currently listed, including whether a provider is configured. Call the single-model endpoint before you hard-code a tier, and keep a fallback, because catalog rows change.

One more detail: lowercase and uppercase matter at the edges. The request enum accepts 4K and a lowercase 4k alias, and the K-style tiers 2K and 4K are priced only where the catalog says so. For minimax-h3 the catalog notes that 2K and 4K are upscales of the native 768p picture, which Sume prices if you request them. If you want a sharper result from an H3 clip, decide whether an upscale of the native frame is what you are paying for.

The neighbouring post on the 1080p error covers the other half of this matrix.

Sources

Related posts

More in Models

All Models posts

Written by Sume