OpenRouter video size parameter on Sume: 400 unsupported_parameter
On Sume every video model reports supported_sizes null, so a size parameter returns 400 unsupported_parameter. Send resolution and aspect_ratio instead.

Sending size such as 1280x720 to Sume's /v1/videos returns 400 unsupported_parameter, because every v1 model reports supported_sizes: null. Use resolution plus aspect_ratio instead.
What does OpenRouter accept?
OpenRouter's page lists resolution/aspect_ratio or size as output dimensions. Sume's differences table describes the OpenRouter side as accepting size where the model advertises supported_sizes.
What happens on Sume?
No Sume video model advertises sizes, so the field is rejected instead of ignored.
| Item | Value |
|---|---|
| supported_sizes on every v1 model | null |
| size in a request | 400 unsupported_parameter |
| What to send | resolution + aspect_ratio |
What is the replacement?
Pick resolution such as 720p and an aspect_ratio from the model's lists.
curl -X POST https://api.sume.com/v1/videos \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: size-001" \
-d '{"model":"seedance-2","prompt":"A drone shot over a coastline","resolution":"720p","aspect_ratio":"16:9"}'How do I know which values are valid?
Read supported_resolutions and supported_aspect_ratios from GET /v1/videos/models. The video docs list both.
What else did the port change?
OpenRouter's page also names seed and provider; on Sume both are rejected in v1 as well. See the seed and provider.options posts in this series for the exact behavior.
Base path is https://api.sume.com/v1/videos with no /api segment, and auth is Authorization: Bearer $SUME_API_KEY.
Sources
Related posts
More in Developers
- OpenRouter video statuses vs Sume: cancelled or canceled?
OpenRouter lists four video job states; Sume's /v1/videos lists five including cancelled, while /v1/jobs spells it canceled. Both status sets side by side.
- video.generation.completed on Sume? The webhook event map
OpenRouter sends video.generation.* events; Sume sends job.completed, job.failed or job.canceled with a signed body. What to change in a receiver.
- Paper edit by API: build a rough cut from transcript lines
Premiere 26.5 added Paper Edit. To do the same by API, transcribe with sentence segments, pick the lines you keep, then render those ranges as a Timeline.
- Pipedream 30-second timeout: call Sume in async mode, not sync
Pipedream HTTP workflows time out at 30 seconds by default. Sume sync waits up to 30 seconds too, so submit async and take the result by webhook or poll.
Written by Sume