---
title: "Poll video generation status"
method: GET
path: "/videos/{jobId}"
tags: ["Video Generation"]
---

# Poll video generation status

`GET /videos/{jobId}`

Returns job status and content URLs when completed

## Path parameters

- `jobId` string, required

## Response `200`

Video generation status

- VideoGenerationResponse
  - `error` string
  - `generation_id` string — The generation ID associated with this video generation job. Available once the job has been processed.
  - `id` string, required
  - `polling_url` string, required
  - `status` 'pending' | 'in_progress' | 'completed' | 'failed' | 'cancelled' | 'expired', required
  - `unsigned_urls` string[]
  - `usage` VideoGenerationUsage — Usage and cost information for the video generation. Available once the job has completed.
    - `cost` number, double, nullable — The cost of the video generation in USD.
    - `is_byok` boolean — Whether the request was made using a Bring Your Own Key configuration.

## Other responses

- `401` — Unauthorized - Authentication required or invalid credentials
- `404` — Not Found - Resource does not exist
- `500` — Internal Server Error - Unexpected server error

---

[API](https://skmtc.net/openrouterteam/apis/openrouter-api.md) · [All operations](https://skmtc.net/openrouterteam/apis/openrouter-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/openrouterteam/openrouter-api/versions/9d1da2c7d2c3/schema)
