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

# Jimeng Task Status Query

> Use `GET /v1/videos/{task_id}` to query Jimeng video task status and results.

# Jimeng Task Status Query

OpenAI-format query entry. If the task was submitted via `POST /v1/video/create`, please use [Query Task](./unified-query).

After a Jimeng series task is submitted, query it via `GET /v1/videos/{task_id}`.

* The query path is `GET /v1/videos/{task_id}`.
* A successful response returns an OpenAI-style `video` object.
* After the task is completed, you can read the result from `video_url`.

## Method and Path

```http theme={null}
GET /v1/videos/{task_id}
```

## Request Example

<CodeGroup>
  ```bash theme={null}
  curl https://octopusx.ai/v1/videos/video_123 \
    -H "Authorization: Bearer YOUR_API_KEY"
  ```

  ```python theme={null}
  import requests

  resp = requests.get(
      "https://octopusx.ai/v1/videos/video_123",
      headers={"Authorization": "Bearer YOUR_API_KEY"},
      timeout=30,
  )
  print(resp.json())
  ```

  ```javascript theme={null}
  const response = await fetch("https://octopusx.ai/v1/videos/video_123", {
    headers: {
      Authorization: "Bearer YOUR_API_KEY",
    },
  });

  console.log(await response.json());
  ```
</CodeGroup>

## Response Example

<ResponseExample>
  ```json 200 - queued theme={null}
  {
    "id": "video_123",
    "object": "video",
    "model": "jimeng-video-3.0",
    "status": "queued",
    "progress": 0,
    "created_at": 1712697600,
    "video_url": ""
  }
  ```

  ```json 200 - completed theme={null}
  {
    "id": "video_123",
    "object": "video",
    "model": "jimeng-video-3.0",
    "status": "completed",
    "progress": 100,
    "created_at": 1712697600,
    "completed_at": 1712697900,
    "video_url": "https://example.com/video/output.mp4"
  }
  ```
</ResponseExample>

## Authentication

```http theme={null}
Authorization: Bearer YOUR_API_KEY
```

## Path Parameters

<ParamField body="task_id" type="string" required>
  Video task ID.
</ParamField>

## Response

<ResponseField name="id" type="string">
  Task ID.
</ResponseField>

<ResponseField name="object" type="string">
  Fixed as `video`.
</ResponseField>

<ResponseField name="model" type="string">
  Model name.
</ResponseField>

<ResponseField name="status" type="string">
  Task status: `queued`, `processing`, `completed`, `failed`, `cancelled`.
</ResponseField>

<ResponseField name="progress" type="integer">
  Progress percentage (0-100).
</ResponseField>

<ResponseField name="created_at" type="integer">
  Creation timestamp.
</ResponseField>

<ResponseField name="completed_at" type="integer">
  Completion timestamp (returned after the task is completed).
</ResponseField>

<ResponseField name="video_url" type="string">
  Video result URL (returned after the task is completed).
</ResponseField>

## Status Description

| Status       | Description                     |
| ------------ | ------------------------------- |
| `queued`     | Task submitted, queued          |
| `processing` | Task is being processed         |
| `completed`  | Task completed, video available |
| `failed`     | Task failed                     |
| `cancelled`  | Task cancelled                  |

## Related APIs

* [Jimeng Video Overview](./overview)
* [Jimeng Video Generation](./generation)
* [Query Task (Unified Video)](./unified-query)
