Fields
| Field | Type | Required | Description | Example |
|---|---|---|---|---|
error | Optional[str] | ➖ | N/A | |
expires_at | Optional[int] | ➖ | Unix timestamp in seconds when OpenRouter’s stored copy of the outputs stops being available. Present only when that copy exists. | |
generation_id | Optional[str] | ➖ | The generation ID associated with this video generation job. Available once the job has been processed. | |
id | str | ✅ | The video job ID, in the gen-vid-<timestamp>-<20 alphanumerics> generation ID format. Pass it as previous_job_id to continue the generation. | |
polling_url | str | ✅ | N/A | |
status | components.VideoGenerationResponseStatus | ✅ | N/A | |
unsigned_urls | List[str] | ➖ | OpenRouter content URLs for each output. They need your API key in the Authorization header and keep working for as long as the output is available. | |
urls | List[str] | ➖ | Signed download URLs for OpenRouter’s stored copy of each output, usable without an API key until expires_at. Anyone holding a URL can download that output until it expires, so treat it like a secret. Present only when the stored copy exists. | |
usage | Optional[components.VideoGenerationUsage] | ➖ | Usage and cost information for the video generation. Available once the job has completed. | { “cost”: 0.5, “is_byok”: false } |