Which Sume video model makes a 15-second 9:16 ad? A catalog filter
List the models in GET /v1/videos/models that accept 15 seconds at 9:16 with a short Python filter, instead of trusting a stale table.

To find which Sume models make a 15-second, 9:16 ad in one clip, filter the catalog rather than a table: GET /v1/videos/models returns each model's supported_durations, supported_aspect_ratios and supported_resolutions. The Sume docs say each other catalog model has a maximum of 15 seconds, while Seedance 2.5 accepts 4 to 30, Wan 3.0 accepts 2 to 30 and Gemini Omni Flash 1.1 accepts 3 to 10, so the answer depends on the model and changes with the catalog.
Source: Video generation: the /v1/videos API. Reddit's 15-second Engaged Video Views option is listed as a public beta from 2026-09-01 (read 2026-10-06 on the Social media platform updates, October 2026 (read 2026-10-06)), which is why 15 seconds is the length people are asking about.
Why filter instead of using a list
Model limits move. A blog table goes stale the day a new model ships or a limit changes. The catalog is the contract, and it says what the API accepts. A request outside a model's limits is refused, so reading the catalog before a batch avoids paying for failures. sume/auto is not in the catalog list, because it is a selector rather than a model, and the docs say Sume does not disclose which family it ran, so pin a model id when the length matters.
The filter
The script lists models whose supported_durations include 15 and whose supported_aspect_ratios include 9:16, and prints their resolutions and whether they can generate audio. It uses only the standard library and the fields from the catalog descriptor.
import json, os, urllib.request
req = urllib.request.Request(
"https://api.sume.com/v1/videos/models",
headers={"Authorization": "Bearer " + os.environ["SUME_API_KEY"]},
)
with urllib.request.urlopen(req) as r:
models = json.load(r)["data"]
for m in models:
durations = m.get("supported_durations") or []
ratios = m.get("supported_aspect_ratios") or []
if 15 in durations and "9:16" in ratios:
print(m["id"], m.get("supported_resolutions"),
"audio" if m.get("generate_audio") else "no audio flag")
What to do with the shortlist
A model on the list can make the clip, which is not the same as making a good one. Generate one test per model with the same prompt and compare the first second, the product and the end. Where a model has a longer limit, such as 30 seconds for Seedance 2.5, ask for exactly 15 rather than the maximum. If no model suits, join two clips with Timeline, which is what the stored post on a 15-second Omni ad does.
Price the shortlist before you test it. At the billed rates in the Sume pricing tables, a 15-second clip at 720p is $1.88 on Wan 3.0 ($0.125 a second) and $8.67 on Seedance 2.5, which is billed per video token. MiniMax H3 at 768p is $1.13 for 15 seconds ($0.075 a second, rounded up to the cent), and Kling 3 is $2.10 with audio off or $3.15 with audio on. These are catalog rates, and a 9:16 frame has the same pixel count as 16:9, so the orientation does not change the price on Seedance. The spread is nearly an order of magnitude, which is why the filter should be followed by a price check and one cheap draft at 480p.
| Model | Duration limit | Note |
|---|---|---|
| seedance-2.5 | 4 to 30 seconds | 480p, 720p, 1080p |
| wan-3.0 | 2 to 30 seconds | Check ratios in the catalog |
| gemini-omni-flash-1.1 | 3 to 10 seconds | 16:9 or 9:16; audio on |
| minimax-h3 | 5 to 15 seconds | Native 768p |
| Most other models | Up to 15 seconds | Read supported_durations |
Keep the filter in your pipeline
Run it at the start of any batch and fail the job if the shortlist is empty. That one check turns a surprise 400 in the middle of 200 jobs into a message at the start. Cache the result for the run, not for weeks.
Sources
Related posts
More in Use cases
- Yard sign artwork via API: 3:2 art, a quoted headline, a print check
Generate yard sign artwork at 3:2 on Sume with GPT Image 2.5 or Ideogram 4.5, keep the headline to a few words, quote it, and check the pixel size for print.
- YouTube Shorts series covers: one template, one edit per episode
YouTube is rolling out Shorts series with covers. Make one template with Ideogram 4.5, then change only the episode number with one edit call per episode.
- Shorts series: a season of 30-second episodes with Seedance 2.5
Shorts series are rolling out. A season of eight 30-second episodes costs $138.72 on Seedance 2.5 at 720p and $30.00 on Wan 3.0. The math and a batch loop.
- AI album cover generator: square art at 3000×3000
Generate square album art, then upscale: Apple recommends at least 3000×3000. On Sume, generate 2400×2400 and upscale it 1.25× to reach 3000×3000.
Written by Sume