768p on seedance-2.5 returns 400: use 720p, or pin a MiniMax id

Sume's resolution list is per model. seedance-2.5 takes 480p, 720p and 1080p; 768p exists on the MiniMax H3 ids and H3 Max Recast, and kling-3 has no 480p.

5 min readSume
All posts

A resolution value the model does not list fails with HTTP 400 unsupported_capability and the text '<model> does not support resolution <value>.' on Sume. seedance-2.5 reports 480p, 720p and 1080p, so 768p is rejected; minimax-h3 reports 480p and 768p, so 720p is rejected; and kling-3 reports 720p and 1080p, so 480p is rejected. Nothing is billed for a rejected request.

This comes from the catalog in the Video Router docs and the Video generation docs, which say 768p is first-class on MiniMax H3 rather than a rounding of 720p. New vendor launches tend to publish their own resolution names, so expect to hit this when you port a request.

The ladder per id

The table lists the values each id reports today. The exact set is also in supported_resolutions on GET /v1/videos/models.

minimax-h3-max adds 1080p, described in the docs as a latent refinement from native 768p, and gemini-omni-flash-1.1 is the only one with 360p and 4K.

Resolutions by Sume id (read 2026-10-03)
Sume idResolutions
seedance-2.5, seedance-2, wan-3.0480p, 720p, 1080p
minimax-h3480p, 768p
minimax-h3-max480p, 768p, 1080p
kling-3720p, 1080p
gemini-omni-flash-1.1360p, 720p, 1080p, 4K
h3-max-recast768p, 1080p
higgsfield-genjutsu480p, 720p

A safe request builder

Read the list and fall back to the nearest supported value instead of hard-coding. This snippet runs as written once you set a key.

``python import asyncio, os import httpx ORDER = ["480p", "720p", "768p", "1080p"] async def main(): h = {"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"} async with httpx.AsyncClient() as c: r = await c.get("https://api.sume.com/v1/videos/models", headers=h) models = {m["id"]: m for m in r.json()["data"]} want = "768p" have = models["seedance-2.5"]["supported_resolutions"] pick = want if want in have else min(have, key=lambda v: abs(ORDER.index(v) - ORDER.index(want))) print(pick) asyncio.run(main()) ``

With seedance-2.5 and a wanted 768p the script prints 720p, because 720p and 1080p are equally close and min keeps the first. Decide whether rounding up (more cost) or down is right for your job and make that explicit.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume