---
title: "Download a video"
method: GET
path: "/v1/videos/{id}"
---

# Download a video

`GET /v1/videos/{id}`

## Request

- Base URL: `https://api.octen.ai`
- URL: `https://api.octen.ai/v1/videos/{id}`
- Auth: one of:
  - HTTP bearer
  - API key in header `x-api-key`

Returns a video generation task by id.

## Path parameters

- `id` string, required

## Response `200`

Successful video task response

- VideoTask
  - `id` string, required: Unique task id, used to download the video.
  - `model` string, required: The model used for this task.
  - `status` 'queued' | 'in_progress' | 'completed' | 'failed', required: Task state.
  - `created` integer, required: Unix timestamp in seconds when the task was created.
  - `video_url` string: Signed download URL for the video file, present when `status` is `completed`. Valid for 7 days after generation.
  - `expires_at` integer: Unix timestamp in seconds when `video_url` expires. Present when `status` is `completed`.
  - `duration` integer: Length of the generated video in seconds. Present when `status` is `completed`.
  - `resolution` string: Resolution of the generated video. Present when `status` is `completed`.
  - `usage` VideoUsage: Metering for the task. Present only when `status` is `completed`.
    - `video_seconds` integer: Video length in seconds.
    - `video_tokens` integer: Billed token count.
    - `input_image_count` integer: Number of input images, returned when images were supplied.
  - `error` string: Failure reason, present when `status` is `failed`.
  - `code` string: Machine-readable failure code, present when `status` is `failed`.

## Other responses

- `401`: Invalid API Key
- `404`: Video task not found
- `429`: Exceeding the rate limit
- `500`: Internal error

---

[API](https://skmtc.dev/octen/apis/octen-api.md) - [All operations](https://skmtc.dev/octen/apis/octen-api/llms.txt) - [OpenAPI document](https://skmtc.dev/octen/apis/octen-api/revisions/aaa6caaf46b0?raw)
