28-second AI video API: near the 30 s ceiling on Sume

A 28 s clip is one request on Wan 3.0 or Seedance 2.5, jobs are async, and status moves pending to completed. Price for 28 s and how to poll.

5 min readSume
All posts

Twenty-eight seconds is two seconds under the longest single clip Sume offers. Wan 3.0 and Seedance 2.5 both accept 2-30 s and 4-30 s respectively, so 28 s is one request. ByteDance's Seedance 2.5 page lists a 30 s maximum in a single generation (read 2026-10-04).

Which models accept 28 seconds

Genjutsu and Recast accept 28 s only when the source clip is 28 s.

Models whose supported_durations include 28 s on Sume, with billed price for 28 s (provider list x 1.25, rounded up to the cent). Sume docs and code, read 2026-10-04.
Model idDuration rangeBilled for 28 s
wan-3.02-30 s480p $1.75, 720p $3.50, 1080p $7.00
seedance-2.54-30 stoken priced, read pricing_skus
higgsfield-genjutsu4-30 s (source length)read pricing_skus
h3-max-recast5-30 s (source length)768p $10.50, 1080p $15.75

Long clips are asynchronous

A request returns a job, not a file. The documented statuses are pending, in_progress, completed, failed and cancelled, and the docs suggest polling about every 30 s. For a 28 s render, expect to poll more than once.

If you need more than 30 s, the options are separate clips or provider extensions; see the stored guide on going past 30 seconds.

What a 28 second request costs

Sume bills the provider list price times 1.25, rounded up to the next cent. The amount is reserved when you submit and refunded if the job fails, so a rejected or failed clip does not cost you. The /v1/videos/models descriptor lists the billable rate in pricing_skus, which is the field to trust over any number in a blog post.

A 28 s Wan clip bills $1.75 at 480p, $3.50 at 720p and $7.00 at 1080p.

Check 28 seconds against the live catalog

Duration support lives in the catalog, not in this page. Each entry on GET /v1/videos/models carries supported_durations, which is every whole second from the model minimum to its maximum, so one membership test answers the question. This script lists every model that accepts 28 s, with its resolutions and billable rates.

Set SUME_API_KEY first. See the Video Generation docs for the request and polling lifecycle.

import os
import requests

N = 28
resp = requests.get(
    "https://api.sume.com/v1/videos/models",
    headers={"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"},
    timeout=30,
)
resp.raise_for_status()
for m in resp.json()["data"]:
    if N in m["supported_durations"]:
        print(m["id"], m["supported_resolutions"], m["pricing_skus"])

Sources

Related posts

More in Models

All Models posts

Written by Sume