Kling 4.0 Auto aspect ratio vs Sume's explicit aspect_ratio field
Kling 4.0 lists an Auto format next to 16:9, 1:1, 9:16 and 21:9. Sume's video ids take explicit ratios; see which ids list which values and how to read them.

Kling 4.0 adds an Auto (Smart) format on top of 16:9, 1:1 and 9:16, plus a new 21:9 ultrawide. On Sume you do not get an Auto choice on kling-3. You send an explicit aspect_ratio that the model's catalog row lists, and a value that the row does not list returns a 400 instead of a silent crop.
This matters for a 30-second brief because the ratio decides which ids you can even try today. Read the catalog row before you write the request, not after the first 400.
What Kling says it supports
Kling's own feature page lists 16:9, 1:1, 9:16, 21:9 ultrawide and a Smart format for Kling 4.0. fal's explainer for the model lists the same four fixed ratios plus Auto, and says that endpoint names and pricing will be announced at launch. Neither page says the model is open to API callers yet, so treat the ratio list as a plan, not as a contract you can call.
What Sume lists today
Sume's catalog is the contract. Each GET /v1/videos/models row has supported_aspect_ratios, and the API validates your request against it. The table below puts Kling 4.0's claim next to the ids that Sume lists for long clips.
| Model | Ratios | Auto or adaptive | Max length |
|---|---|---|---|
| Kling 4.0 (Kling pages) | 16:9, 1:1, 9:16, 21:9 | Auto / Smart format | 30 s |
| kling-3 (Sume) | 16:9, 9:16, 1:1 | No | 15 s |
| seedance-2.5 (Sume) | 21:9, 16:9, 4:3, 1:1, 3:4, 9:16 | auto / adaptive | 30 s |
| gemini-omni-flash-1.1 (Sume) | 16:9, 9:16 | No | 10 s |
How to choose when your brief says Auto
If a brief only says "match the source", decide the ratio yourself before you submit. For a still that you animate, pick the ratio of the still. For a text-only brief, pick the ratio of the channel: 9:16 for Shorts and Reels, 16:9 for a site hero, 1:1 for a feed tile.
If you need 21:9 today, kling-3 is not the id. Seedance 2.5 lists it and reaches 30 seconds, so that is the id to test for an ultrawide 30-second shot.
Read the ratios from the API
This script prints the ratios and the longest duration for every id in the catalog, so that you do not copy a table that is out of date.
import os, requests
r = requests.get(
"https://api.sume.com/v1/videos/models",
headers={"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"},
timeout=30,
)
r.raise_for_status()
for m in r.json()["data"]:
d = m.get("supported_durations") or [0]
print(m["id"], max(d), m["supported_aspect_ratios"])Next step
Pick the ratio first, filter the printed list to ids that list it, and then check duration. When Kling 4.0 shows up as a row, the same script will show its ratios without a code change.
Three habits that save a re-run
First, never rely on a model to guess the shape of a clip. A 30-second render is the most expensive thing in your queue, and a wrong ratio is a full re-render, not a crop. Decide the ratio in the brief and write it in the request.
Second, keep the ratio in one place. If your pipeline also builds captions, a Timeline or a thumbnail, they all read the same value, so a clip never goes out as 16:9 with 9:16 captions burned on top.
Third, treat the catalog as a living file. The ratio list for an id can change when a provider adds a format, and a new id can appear without a code release on your side. Re-read the rows on a schedule, and diff them, instead of editing a constant by hand each time.
Sources
Related posts
More in Models
- Kling 4.0's 3 to 30 seconds, split across Sume models by length
Kling 4.0 spans 3 to 30 s, and Flash 3 to 20 s. No single Sume id covers 3 to 30: Omni 3 to 10, Seedance 2.5 4 to 30, Wan 3.0 2 to 30. A lookup by seconds.
- Lyria 3.5 has no edit pass: iterate a music bed for $0.125 a take
Google says Lyria 3.5 is single-turn. Iterate a bed on Sume by changing one prompt axis per take; five takes cost $0.625 and a retry needs a key.
- Every Lyria 3.5 track carries SynthID: what brands should know
Google says all Lyria 3.5 output carries a SynthID audio watermark and blocks artist voices and copyrighted lyrics. Here is what that means for brand music.
- MAI-Transcribe-2-Streaming has no server VAD: who ends the turn?
In the preview, turn_detection only accepts null, so your client sends the commit event. Sume STT has no live socket; it cuts sentences after the job finishes.
Written by Sume