Video Generation

Poll video generation status

Changed on

Returns job status and content URLs when completed

get/videos/{jobId}

Request

  • Base URL: https://openrouter.ai/api/v1
  • URL: https://openrouter.ai/api/v1/videos/{jobId}
  • Auth: HTTP bearer

Path parameters

jobIdstring required
Example:job-abc123

Response

Video generation status

errorstring
expires_atinteger

Unix timestamp in seconds when OpenRouter's stored copy of the outputs stops being available. Present only when that copy exists.

generation_idstring

The generation ID associated with this video generation job. Available once the job has been processed.

idstring required

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_urlstring required
status'pending' | 'in_progress' | 'completed' | 'failed' | 'cancelled' | 'expired' required
unsigned_urlsstring[]

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.

urlsstring[]

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.

Example response

{
  "generation_id": "gen-vid-1789480874-Ab3dEf9hIjKlMnOpQrSt",
  "id": "gen-vid-1789480874-Ab3dEf9hIjKlMnOpQrSt",
  "polling_url": "/api/v1/videos/gen-vid-1789480874-Ab3dEf9hIjKlMnOpQrSt",
  "status": "pending"
}

Changes