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

# Lấy Trạng thái Tác vụ

> Truy xuất trạng thái và kết quả của bất kỳ tác vụ async nào bằng cách sử dụng `poll_url` được trả về từ các endpoint create

## Tổng quan

Sử dụng endpoint này để polling async hợp nhất trên nhiều loại tác vụ như tạo video, hình ảnh, âm nhạc và 3D.

Nếu phản hồi create bao gồm `poll_url`, hãy gọi chính xác path đó. Đối với các workflow async mới hơn, `poll_url` có thể trỏ tới `/v1/tasks/{id}`.

## Tham số Đường dẫn

<ParamField path="id" type="string" required>
  ID tác vụ được trả về từ yêu cầu create.
</ParamField>

## Phản hồi

<ResponseField name="id" type="string">
  Định danh tác vụ.
</ResponseField>

<ResponseField name="task_id" type="string">
  Bí danh của mã định danh tác vụ bất đồng bộ.
</ResponseField>

<ResponseField name="poll_url" type="string">
  URL polling ưu tiên khi phản hồi tạo tác vụ cung cấp.
</ResponseField>

<ResponseField name="status" type="string">
  Trạng thái tác vụ như `pending`, `processing`, `completed` hoặc `failed`. Tác vụ đã hủy được biểu diễn là `failed` với `cancelled: true`.
</ResponseField>

<ResponseField name="cancelled" type="boolean">
  `true` khi một async task đang chờ được hủy trước khi thực thi.
</ResponseField>

<ResponseField name="cancellation_status" type="string">
  Dấu hiệu hủy. Có giá trị `cancelled` khi hủy thành công.
</ResponseField>

<ResponseField name="data" type="array">
  Với tác vụ hình ảnh đã hoàn tất, kết quả hình ảnh được tạo sẽ được trả về tại đây. Tác vụ hình ảnh trả về URL trong `data[].url`.
</ResponseField>

<ResponseField name="progress" type="number">
  Giá trị tiến độ tùy chọn. Chỉ được trả về khi có giá trị tiến độ thực; hãy dùng `status` để xác định khi tác vụ hoàn tất.
</ResponseField>

<ResponseField name="video_url" type="string">
  URL asset kết quả khi tác vụ hoàn tất và tạo ra một video.
</ResponseField>

<ResponseField name="error" type="string">
  Thông báo lỗi khi tác vụ thất bại.
</ResponseField>

## Hành vi lỗi

Nếu tác vụ không còn tồn tại, đã hết hạn hoặc không còn có trong bản ghi tác vụ công khai, TokenLab trả về:

```json theme={null}
{
  "error": {
    "message": "Task not found or no longer available.",
    "type": "invalid_request_error",
    "code": "async_task_not_found"
  }
}
```

## Ví dụ

<RequestExample>
  ```bash cURL theme={null}
  curl "https://api.tokenlab.sh/v1/tasks/ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" \
    -H "Authorization: Bearer sk-your-api-key"
  ```
</RequestExample>

```python Python theme={null}
import requests

poll_url = "/v1/tasks/ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
response = requests.get(
    f"https://api.tokenlab.sh{poll_url}",
    headers={"Authorization": "Bearer sk-your-api-key"},
)
print(response.json())
```

```javascript JavaScript theme={null}
const pollUrl = '/v1/tasks/ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa';
const response = await fetch(`https://api.tokenlab.sh${pollUrl}`, {
  headers: { Authorization: 'Bearer sk-your-api-key' },
});
console.log(await response.json());
```
