Does Sume accept lowercase 4k as a video resolution? Yes
Since fab7d59af, lowercase 4k is an alias on every Sume video row that lists 4K, on both /v1/video-router/generate and /v1/videos.

Yes. Since commit fab7d59af (#11356), lowercase 4k is accepted as an alias for 4K on every Sume video model whose catalog row lists 4K, on both POST /v1/video-router/generate and POST /v1/videos. On a row that does not list 4K, both spellings are still refused.
Why it was inconsistent
The commit message explains the split: the builders for the Tencent VOD rows already took 4k on /v1/videos, while the Video Router request rule refused it. The docs line in docs/api/video-router.md adds the reason for the spelling: Sume sends resolution 4K to fal as fal's own enum value 4k, so callers who copy fal examples write lowercase.
The fix is a shared alias table in apps/api/src/video-router/catalog.ts. SHARED_RESOLUTION_ALIASES maps 4k to 4K, and videoRouterResolutionAliases keeps an alias only for rows whose resolutions list the target. That filter is why the alias is not a general loosening.
Which public rows list 4K
Reading the catalog rows at that commit, two public rows list 4K. The docs table also lists Tencent VOD rows that carry 4K, but the docs say those appear only where the Tencent switch serves them, so check the models endpoint before you rely on them.
| Model id | Resolutions listed | Duration | Does `4k` work? |
|---|---|---|---|
| minimax-h3 | 480p, 768p, 2K, 4K | 5 to 15 s | Yes, alias of 4K |
| gemini-omni-flash-1.1 | 360p, 720p, 1080p, 4K | 3 to 10 s | Yes, alias of 4K |
| seedance-2.5 | 480p, 720p, 1080p | 4 to 30 s | No: 4K is not listed |
| minimax-h3-max | 480p, 768p, 1080p | 5 to 15 s | No: 4K is not listed |
A request that uses it
The body below follows the shape in the Videos docs at docs.sume.com/models/videos; only resolution is the point here. Set SUME_API_KEY first.
curl https://api.sume.com/v1/videos \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-omni-flash-1.1",
"prompt": "A paper boat crossing a puddle, macro lens",
"resolution": "4k",
"aspect_ratio": "16:9",
"duration": 4
}'What it does not change
The alias does not make 4K reachable on a row that lacks it, and it does not rename the value you read back: the models endpoint lists 4K. Billing follows the listed tier, so a 4k request is priced as 4K. If your client compares strings, normalize to 4K on your side so a logged request and a catalog value match.
For the rows themselves, the pinned table is at docs.sume.com/models/video-router.
Related posts
More in Developers
- Lyria 3.5 is single-turn: what that means for Sume Music retries
Google says Lyria music is single-turn, with no iterative editing and varying results per call. On Sume that means a new take per prompt: no seed, no duration.
- Which language does Lyria 3.5 sing in? Spanish prompt on Sume Music
Google says Lyria generates music in the language of your prompt. On Sume, write the brief in the language you want sung; no language field exists on Music.
- Make a vertical Short clip with curl and jq: submit, poll, download
A 20-line shell script that asks Sume for an 8-second 9:16 clip at 1080p, polls the job, and saves short.mp4, matched to YouTube's Shorts page.
- Map Sume API error codes to messages your app's users can act on
A translation table from Sume HTTP codes such as 402, 409, 413, 415 and 429 to user-facing copy, plus which errors the user cannot fix and should never see raw.
Written by Sume