> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hypergate.store/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> Generate your first video in 3 steps.

## Step 1 — Get your available models

```bash theme={null}
curl https://hypergate.store/v1/models \
  -H "Authorization: Bearer <your-token>"
```

```json theme={null}
{
  "data": [
    {
      "id": "kwaivgi/kling-v2.5-pro/text-to-video",
      "name": "Kling v2.5 Pro — Text to Video",
      "description": "...",
      "durations": [5, 10]
    }
  ]
}
```

Copy an `id` from the response — you'll need it in the next step.

## Step 2 — Create a video job

```bash theme={null}
curl -X POST https://hypergate.store/v1/videos \
  -H "Authorization: Bearer <your-token>" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "kwaivgi/kling-v2.5-pro/text-to-video",
    "prompt": "A wooden boat drifting across a calm bay at dawn, slow panning camera",
    "aspect_ratio": "16:9",
    "duration": 5
  }'
```

The API responds immediately with **HTTP 202** and a job object:

```json theme={null}
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "model": "kwaivgi/kling-v2.5-pro/text-to-video",
  "status": "queued",
  "created_at": "2026-08-14T08:00:00.000Z"
}
```

<Note>Save the `id` — you'll use it to check the result.</Note>

## Step 3 — Poll for the result

```bash theme={null}
curl https://hypergate.store/v1/videos/3fa85f64-5717-4562-b3fc-2c963f66afa6 \
  -H "Authorization: Bearer <your-token>"
```

Poll every **3–5 seconds** until `status` is `completed` or `failed`. Generation typically takes **1–5 minutes**.

```json theme={null}
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "status": "completed",
  "video_url": "https://hypergate.store/media/3fa85f64.mp4",
  "expires_at": "2026-09-13T08:00:00.000Z"
}
```

Download or stream from `video_url` before `expires_at` (files are kept for 30 days).

## Job status values

| Status        | Meaning                                         |
| ------------- | ----------------------------------------------- |
| `queued`      | Accepted, waiting to be sent to the AI provider |
| `submitting`  | Being sent upstream                             |
| `created`     | AI provider acknowledged the job                |
| `processing`  | Video is being generated                        |
| `downloading` | Video ready, being saved to our servers         |
| `completed`   | Done — `video_url` is available                 |
| `failed`      | Generation failed — see `error.code`            |
