OpenRouter video provider.options on Sume: rejected, not dropped
OpenRouter lists provider passthrough configuration. Sume v1 runs one backend per model, so a non-empty provider.options returns 400 unsupported_parameter.

A non-empty provider.options on POST /v1/videos returns 400 unsupported_parameter on Sume, because v1 runs a single backend per model and every model's allowed_passthrough_parameters is empty. Remove it when you port a client.
What is provider.options?
OpenRouter's page describes provider as provider-specific passthrough configuration. Sume keeps the field but the docs say options are keyed by provider slug and only the matched provider's are forwarded.
What does v1 do?
The catalog field decides what may pass through, and today it lists nothing.
| Item | Sume value |
|---|---|
| allowed_passthrough_parameters | Empty for every model |
| Non-empty provider.options | 400 unsupported_parameter |
| Empty options object | Shown in the docs example |
What does a valid body look like?
The docs example sends an empty options object.
curl -X POST https://api.sume.com/v1/videos \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: prov-001" \
-d '{"model":"seedance-2","prompt":"A time-lapse of a flower blooming","provider":{"options":{}}}'How do I tune output then?
Use the documented fields: resolution, aspect_ratio, duration and references. See the video docs.
What other differences should I check?
The differences table also covers size, seed, the webhook envelope, model ids and billing. Zero Data Retention is another delta: OpenRouter's page says video generation is ineligible for it, and Sume has no ZDR toggle.
Billing is a workspace USD balance reserved on submit at provider list times 1.25.
Sources
Related posts
More in Developers
- OpenRouter video seed on Sume: no v1 model accepts it
OpenRouter lists seed for deterministic video generation. On Sume no v1 video model accepts seed: each reports seed false and the field is rejected.
- 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.
- 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.
Written by Sume