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

# Get a video

> Poll a video task. This request is not billed.

Returns the same task envelope as create. Query is pinned to the platform that created the task.

<ParamField path="id" type="string" required>
  Public task ID returned by create (`gen-...`).
</ParamField>

<RequestExample>
  ```bash cURL theme={"dark"}
  curl https://api.pipellm.ai/v2/videos/gen-xxxxxxxx \
    -H "Authorization: Bearer $PIPELLM_API_KEY"
  ```

  ```python Python theme={"dark"}
  import os
  import requests

  response = requests.get(
      "https://api.pipellm.ai/v2/videos/gen-xxxxxxxx",
      headers={"Authorization": f"Bearer {os.environ['PIPELLM_API_KEY']}"},
  )
  print(response.json())
  ```
</RequestExample>

<ResponseExample>
  ```json theme={"dark"}
  {
    "id": "gen-xxxxxxxx",
    "object": "video",
    "model": "seedance-2-0-mini",
    "provider": "volcengine",
    "status": "completed",
    "progress": 100,
    "created_at": 1726400000,
    "updated_at": 1726400120,
    "completed_at": 1726400120,
    "outputs": [
      {
        "type": "video",
        "role": "result",
        "url": "https://example.com/output.mp4",
        "mime_type": "video/mp4",
        "duration": 4.0
      }
    ]
  }
  ```
</ResponseExample>

<ResponseField name="status" type="string">
  `queued`, `in_progress`, `completed`, `failed`, `cancelled`, or `expired`.
</ResponseField>

<ResponseField name="progress" type="integer">
  Optional 0–100 progress.
</ResponseField>

<ResponseField name="outputs" type="array">
  Present when the task completed. Duration is on each output, not the task.
</ResponseField>

<ResponseField name="error" type="object">
  Present when `status` is `failed`. Contains `code` and `message`.
</ResponseField>

<ResponseField name="usage" type="object">
  Optional provider metering (`completion_tokens`, `total_tokens`). Customer billing uses the create-time quote, not this object.
</ResponseField>

A missing or foreign task ID returns `404`. This route does not charge.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.