Video 1.0 metadata field: stored on the job, not sent upstream
The metadata object on a Video 1.0 request is stored on the job as caller metadata and is not sent to the provider. Use it to tag jobs; the limits it has.

The optional metadata field on Video 1.0 is caller metadata stored on the job; it is not sent to the provider. Use it to tag your own job records, not to steer the model.
What does the docs table say?
metadata is described as caller metadata stored on the job, not sent to the provider. The docs show no size limit or schema for it here, so keep the object small and plain.
Which fields go upstream and which stay with Sume?
The Video 1.0 fields split by what they control.
| Field | Role |
|---|---|
| prompt, image_url, reference_* | Generation input |
| mode, webhook_url, wait_timeout_seconds | How the job returns (async, sync, subscribe, webhook) |
| metadata | Caller metadata stored on the job |
How do I use it?
Add your own reference, such as an order or batch label, in the request body.
curl -X POST https://api.sume.com/v1/video-1.0/generate \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: v1-meta-001" \
-d '{"prompt":"A clean product spin on a turntable","duration":5,"metadata":{"batch":"batch_demo"}}'Where do I read it back?
Job status and result are read with GET /v1/jobs/{id}/status and /result; see the Jobs and results docs for the fields those return. The docs here do not say the metadata is echoed in a specific field, so check a real response.
How do I keep my own records in sync?
Store the job id from the submit response so you can recover work after a restart. The jobs page says to poll with exponential backoff and stop on completed, failed or canceled.
Pair your own tag in metadata with the returned job id and the Idempotency-Key you sent, so a retry maps back to the same record.
Sources
Related posts
More in Developers
- Video 1.0 reference_audio_urls: why audio alone is rejected
In Video 1.0, reference_audio_urls (1 to 3 URLs) requires at least one reference image or video. Field limits for images, videos and audio references.
- routing_preset kling or grok on Video 1.0: accepted, then ignored
Video 1.0 still accepts the retired routing_preset values cost, speed, quality, grok and kling, but all of them run through Auto. How to pick a family instead.
- Video analyses API returns 410 video_analysis_retired: fix
POST /v1/video-analyses answers 410 video_analysis_retired in Sume's dest environment. Stored rows stay readable; new clip inspection uses video inspect.
- Video analysis limits: max_scenes 2-40 and the 90 s and 300 s caps
Sume's video analysis takes max_scenes from 2 to 40 (default 24), warns past about 90 seconds and rejects past 300. Cost, runtime and polling advice.
Written by Sume