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

# List Videos

> List all videos for the authenticated user

```
GET /v1/videos
```

Returns a paginated list of all video generation tasks for the authenticated user.

## Query Parameters

<ParamField query="page" type="integer" default="1">
  Page number for pagination.
</ParamField>

<ParamField query="limit" type="integer" default="20">
  Number of videos per page (max 100).
</ParamField>

## Response

<ResponseField name="data" type="array">
  Array of video objects.

  <Expandable title="Video object">
    <ResponseField name="id" type="string">
      Unique identifier for the video.
    </ResponseField>

    <ResponseField name="status" type="string">
      Current status: `pending`, `processing`, `completed`, or `failed`.
    </ResponseField>

    <ResponseField name="prompt" type="string">
      The original prompt used to generate the video.
    </ResponseField>

    <ResponseField name="model" type="string">
      The model used for generation.
    </ResponseField>

    <ResponseField name="created_at" type="integer">
      Unix timestamp of creation.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="pagination" type="object">
  Pagination information.

  <Expandable title="properties">
    <ResponseField name="page" type="integer">
      Current page number.
    </ResponseField>

    <ResponseField name="limit" type="integer">
      Items per page.
    </ResponseField>

    <ResponseField name="total" type="integer">
      Total number of videos.
    </ResponseField>
  </Expandable>
</ResponseField>

## Examples

### List All Videos

<CodeGroup>
  ```python Python theme={null}
  import requests

  response = requests.get(
      "https://api.voidai.app/v1/videos",
      headers={"Authorization": "Bearer sk-voidai-your_key_here"},
      params={"page": 1, "limit": 10}
  )

  data = response.json()
  for video in data["data"]:
      print(f"{video['id']}: {video['status']} - {video['prompt'][:50]}...")
  ```

  ```typescript TypeScript theme={null}
  const response = await fetch('https://api.voidai.app/v1/videos?page=1&limit=10', {
    headers: {
      'Authorization': 'Bearer sk-voidai-your_key_here'
    }
  });

  const data = await response.json();
  for (const video of data.data) {
    console.log(`${video.id}: ${video.status} - ${video.prompt.slice(0, 50)}...`);
  }
  ```

  ```bash cURL theme={null}
  curl "https://api.voidai.app/v1/videos?page=1&limit=10" \
    -H "Authorization: Bearer sk-voidai-your_key_here"
  ```
</CodeGroup>

## Response Example

```json theme={null}
{
  "data": [
    {
      "id": "vid_abc123",
      "status": "completed",
      "prompt": "A serene beach at sunset with gentle waves",
      "model": "sora-2",
      "created_at": 1701691200
    },
    {
      "id": "vid_def456",
      "status": "processing",
      "prompt": "A cat playing piano in a jazz club",
      "model": "sora-2",
      "created_at": 1701691100
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 10,
    "total": 25
  }
}
```
