"1080p is not supported by model": which Sume video ids take 1080p

Sume refuses 1080p on rows outside its allowlist, even kling-3 whose catalog lists it. Which ids accept 1080p, which do not, and a client fallback.

4 min readSume
All posts

The error 1080p is not supported by model X means the Video Router row you pinned does not offer 1080p. On Sume the rows that accept resolution: "1080p" at submit time are seedance-2, seedance-2.5, wan-3.0, minimax-h3-max and gemini-omni-flash-1.1. Everything else is refused before any money is held, so the fix is to change the id or lower the resolution.

Note that kling-3 is the one that surprises people, because its catalog row lists 1080p.

The allowlist, row by row

The validator uses an allowlist for 1080p rather than the resolutions array shown in the catalog. Sume keeps this historical allowlist separate from the catalog array, which still advertises 1080p on some rows (kling-3, seedance-2-mini, seedance-2-fast), so an id can list 1080p and still refuse it. When a request is refused, trust the error text and re-read the row.

1080p at submit time on the Sume Video Router (read 2026-10-04)
Catalog id1080p at submitOther resolutions
seedance-2, seedance-2.5yes480p, 720p
wan-3.0yes480p, 720p
minimax-h3-maxyes (latent refinement from native 768p)480p, 768p
gemini-omni-flash-1.1yes360p, 720p, 4K
minimax-h3no480p, 768p
kling-3no, despite 1080p in its catalog row720p
grok-imagine-video-1.5no480p, 720p

How to read the error

The message names the model. Your first move is the catalog, not a retry. A retry with the same body gets the same 400, and nothing is reserved on a failed validation, so you lose time but not money.

  • 1080p is not supported by model minimax-h3: use minimax-h3-max, or stay at 768p.
  • 360p is not supported by model X: only gemini-omni-flash-1.1 generates 360p.
  • 768p is not supported by model X: 768p exists only on the two MiniMax rows.

A fallback in client code

If your pipeline asks for 1080p first and lowers when refused, put the fallback in one place. This sketch tries 1080p on a model that may refuse it, then falls back to 768p on the MiniMax rows.

import os
import requests

URL = "https://api.sume.com/v1/video-router/generate"
HEAD = {"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"}

def submit(model, resolution, key):
    body = {"model": model, "prompt": "A product turntable, soft light",
            "resolution": resolution, "duration": 6, "mode": "async"}
    return requests.post(URL, json=body, timeout=60,
                         headers={**HEAD, "Idempotency-Key": key})

r = submit("minimax-h3", "1080p", "res-try-1080")
if r.status_code == 400:
    r = submit("minimax-h3", "768p", "res-try-768")
print(r.status_code)

Where to read more

The Video Router page lists resolutions per model, and it tells you to read capabilities from GET /v1/video-router/models rather than assume one envelope. Use a distinct Idempotency-Key per attempt, as above, because a replayed key returns the original job. The API reference has the full error list.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume