/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
- v1/videos job statuses and a failed-job error handler
Map /v1/videos statuses (pending, in_progress, completed, failed, cancelled) to actions, and decide which failed-video errors deserve a retry. Python handler.
- 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.
- Verify Sume job webhooks in Express: raw body, sume-v1, replay window
Verify a Sume job.completed webhook in Express with @sume-com/sdk verifyWebhook: raw body, empty secret refused, dedupe on job_id, answer 2xx fast.
Written by Sume