---
title: "Get a video by ID"
method: GET
path: "/videos/{id}"
tags: ["Videos"]
---

# Get a video by ID

`GET /videos/{id}`

Returns details for a single video. Use this to check generation status after creating a video.

**Polling pattern:** After `POST /generate`, poll this endpoint every 5-10 seconds until `status` is `completed` or `failed`. Typical generation takes 1-3 minutes depending on video length and media type.

## Path parameters

- `id` string, uuid, required — The video ID returned from `POST /generate` or `GET /videos`.

## Response `200`

OK

- unknown

## Other responses

- `401` — 401
- `402` — 402
- `403` — 403

## Changes

- **2026-08-15** `ac1de8fd0dfc` — 1 breaking, 2 info
  - the `oneOf[subschema #1]/data` response's property type changed from no type to `object` for status `403`
  - the response property `oneOf[subschema #1]/data` became required for the status `403`
  - added the required property `oneOf[subschema #1]/data/feature` to the response with the `403` status

[Change history](https://skmtc.dev/aituber/apis/aituber-api/changes/videos/:id/get.md)

---

[API](https://skmtc.dev/aituber/apis/aituber-api.md) · [All operations](https://skmtc.dev/aituber/apis/aituber-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/aituber/aituber-api/revisions/ac1de8fd0dfc/schema)
