# Скачать готовое видео

`GET /v1/videos/{video_id}/content`

> Отдаёт байты MP4 завершённой задачи (Content-Type `video/mp4`). Если генерация ещё не завершена — 409 в OpenAI-формате ошибки, несуществующий или чужой id — 404. Скачивание бесплатное — списание уже произошло при завершении генерации.

Авторизация: заголовок `Authorization: Bearer <API-ключ>` (ключ sk-aiagg-… из личного кабинета). Base URL: `https://api.trackly.one/v1`.

Веб-версия: https://ai.trackly.one/developers/docs/reference/videos-content · Индекс документации: https://ai.trackly.one/llms.txt

## Параметры пути

| Поле | Тип | Обязательное | Описание |
| --- | --- | --- | --- |
| `video_id` | `string` | да | — |

## Ответы

| Код | Описание | Схема |
| --- | --- | --- |
| 200 | Успешный ответ | — |
| 422 | Ошибка валидации тела запроса или параметров | — |

## Пример запроса

```bash
curl -o drone.mp4 \
  https://api.trackly.one/v1/videos/video_5f2c1d8e-3a4b-4c5d-8e9f-0a1b2c3d4e5f/content \
  -H "Authorization: Bearer $TRACKLY_API_KEY"
```

```python
from openai import OpenAI

client = OpenAI(
    api_key="sk-aiagg-...",
    base_url="https://api.trackly.one/v1",
)

content = client.videos.download_content(
    "video_5f2c1d8e-3a4b-4c5d-8e9f-0a1b2c3d4e5f",
)
content.write_to_file("drone.mp4")
```

```javascript
import fs from "node:fs";
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: "sk-aiagg-...",
  baseURL: "https://api.trackly.one/v1",
});

const res = await client.videos.downloadContent(
  "video_5f2c1d8e-3a4b-4c5d-8e9f-0a1b2c3d4e5f",
);
fs.writeFileSync("drone.mp4", Buffer.from(await res.arrayBuffer()));
```

## Пример ответа

Ответ бинарный (video/mp4) — сохраняйте поток в файл, как в примерах. Незавершённая задача отвечает 409 video_not_ready в OpenAI-формате ошибки, чужой или несуществующий id — 404.
