/v1/videos size returns 400: send resolution and aspect_ratio
Every v1 Sume video model reports supported_sizes null, so a size field gets 400 unsupported_parameter. Send resolution and aspect_ratio; where to read values.

Sending size such as "1280x720" to POST /v1/videos returns 400 unsupported_parameter on Sume. Every v1 video model reports supported_sizes as null, so the field has no allowed value. Send resolution (for example 720p) and aspect_ratio (for example 16:9) instead.
Why
The Videos docs list this under the differences from OpenRouter. OpenRouter accepts size when a model shows supported_sizes; Sume models do not show it. A client copied from another video API that sets size will fail on its first call, which is a cheap failure because the request is rejected before a job starts.
Read the model row first
GET /v1/videos/models gives each model the lists you need. Pick values from those lists, because limits differ by model.
| Instead of | Send | Where the allowed values are |
|---|---|---|
| size: "1280x720" | resolution: "720p" | supported_resolutions |
| size: "720x1280" | resolution: "720p" and aspect_ratio: "9:16" | supported_aspect_ratios |
| Length in the size string | duration, in whole seconds | supported_durations |
Example
A request that follows the row for seedance-2, whose sample row lists 480p, 720p and 1080p.
curl -X POST https://api.sume.com/v1/videos \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2",
"prompt": "A paper boat drifting down a rainy street",
"resolution": "720p",
"aspect_ratio": "9:16",
"duration": 5
}'Sources
Related posts
More in Developers
- Validate clip length against supported_durations before a Sume submit
Durations differ by model: some start at 2 seconds, some stop at 10, some reach 30. Read supported_durations from the catalog and snap a request in Python.
- Validate Wan 3.0 reference limits in Python before submitting
wan-3.0 takes 10 images, 5 videos (15 s total, 16 fps minimum) and 5 audios (15 s total). A short Python check catches an over-limit manifest early.
- verifyWebhook in a fetch handler: four rules, 204 for unknown events
Use @sume-com/sdk verifyWebhook on the raw body, await it, treat false as 401 and answer unknown events with 204. A runnable handler for Workers, Deno and Node.
- waitForJob polls every 2 s: 600 reads in a 20-minute Sume video job
The SDK's waitForJob floor is a 2-second poll and a 20-minute timeout: at most 600 reads per job. The read budget by plan and why next_poll_after_seconds wins.
Written by Sume