model sume/auto on /v1/videos: defaults, limits, replay-stable price
sume/auto lets Sume pick the video family. Defaults are 720p and 8 s, clips run 3 to 10 s at 16:9 or 9:16, and a replay gets the same route and price.

Send model: "sume/auto" to POST /v1/videos and Sume selects the model family. The create defaults are 720p and 8 seconds, clips run 3 to 10 seconds at 16:9 or 9:16, and the poll response reports sume/auto as the model rather than the family that ran.
Resolution of the route is a pure function of the normalized request and the catalog version, so an idempotent replay gets the same price and the same route. That is the property to rely on when a retry might otherwise land on a different, more expensive family.
A request
Pin duration and aspect_ratio explicitly; defaults are for exploration, not for production budgets.
import os, requests
r = requests.post(
"https://api.sume.com/v1/videos",
headers={"Authorization": "Bearer " + os.environ["SUME_API_KEY"],
"Idempotency-Key": "auto-demo-001"},
json={
"model": "sume/auto",
"prompt": "A vertical UGC-style product clip on a desk, natural light",
"aspect_ratio": "9:16",
"duration": 5,
},
timeout=30,
)
r.raise_for_status()
print(r.json()["model"], r.json()["polling_url"]) # model is "sume/auto"Auto or pinned
| Need | Use |
|---|---|
| Let Sume choose, short 3 to 10 s clip | sume/auto |
| A clip longer than 10 s | A pinned model such as seedance-2.5 or wan-3.0 (up to 30 s) |
| A known price per second | A pinned model; Auto does not disclose its family |
What not to do
Do not infer the family from how the output looks and then build logic on it; Sume does not disclose it and may change the routing with the catalog version. When cost certainty matters more than convenience, pin the model and reserve against its published estimate.
Budgeting with Auto
Because the family is not disclosed, treat Auto as a convenience for exploration and let the reserve at submit be the budget check: Sume reserves the estimate when it accepts the request, and a balance that cannot cover it returns 402 insufficient_credits. For repeatable cost, pin a model, read its price from the catalog, and keep Auto for prototypes and for cases where any good result will do.
- Replay the same request with the same key and you get the same job back.
- Check
supported_durationsbefore you rely on a length outside 3 to 10 seconds.
Sources
Related posts
More in Developers
- Moving off Image 1.0: quality default flips from low to high
Image 1.0 defaults to quality low. On POST /v1/images with gpt-image-2.5 the default is high: 1 cent becomes 7. Field map and the one line to add to keep costs.
- Music 1.0 or Music Router: which route for new Sume code?
Use POST /v1/music-router/generate for new code. Music 1.0 still works but resolves through the router; every router model bills the same fixed $0.125.
- Music 1.0 to Music Router: what changes in your integration
Sume is retiring Music 1.0 gradually; every request already resolves through the Music Router. New code should call /v1/music-router/generate. What changes.
- Music API 400s: duration and negative_prompt, and the fix
Sume's Music Router returns 400 if you send duration, duration_seconds or a non-empty negative_prompt. The fix for each, and a request that passes validation.
Written by Sume