TokenLab

Hình ảnh

Lấy Trạng thái Hình ảnh

Lấy trạng thái và kết quả của một tác vụ tạo hình ảnh bất đồng bộ

GET
/v1/tasks/{id}

Tham số Path

idstringpathbắt buộc

ID của tác vụ được trả về từ yêu cầu tạo hình ảnh ban đầu.

Nếu phản hồi tạo bao gồm poll_url, hãy ưu tiên gọi URL chính xác đó để thực hiện polling. Một số tác vụ hình ảnh có thể hiển thị poll_url dưới /v1/tasks/{id} thay vì đường dẫn trạng thái dành riêng cho hình ảnh.

Bạn cũng có thể polling các ID tác vụ ảnh công khai như ldtask_... tại /v1/images/{id}. Alias tương thích này dùng cùng cơ chế xác thực, kiểm tra quyền sở hữu, header billing, snapshot terminal và dạng phản hồi như /v1/images/generations/{id}.

Tác vụ công khai đã hết hạn hoặc không khả dụng có thể trả 404 async_task_not_found. Nếu không xác nhận được quyền sở hữu cho API key hiện tại, phản hồi là 403 task_not_owned.

Phản hồi

Các trường kết quả, lỗi, thời gian và model được trả về khi tác vụ cung cấp chúng.

idstring

Định danh tác vụ.

poll_urlstring

URL polling ưu tiên khi phản hồi tạo tác vụ cung cấp.

createdinteger

Unix timestamp lúc tạo.

task_idstring

Định danh của tác vụ.

statusstring

Trạng thái tác vụ: pending, processing, completed, hoặc failed.

dataarray

Mảng các hình ảnh đã tạo (được điền khi status là completed).

Mỗi đối tượng bao gồm:

  • url (string): URL của hình ảnh đã tạo
  • revised_prompt (string): Bản sửa prompt tùy chọn khi model đã chọn trả về trường này
errorstring | object

Thông báo lỗi (chỉ xuất hiện khi status là failed).

Yêu cầu

curl "https://api.tokenlab.sh/v1/tasks/ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" \
  -H "Authorization: Bearer sk-your-api-key"

Phản hồi

{
  "created": 1706000000,
  "id": "ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "task_id": "ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "poll_url": "/v1/tasks/ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "status": "pending",
  "data": []
}

Các thực hành tốt nhất về Polling

Kiểm tra mỗi 3–5 giây khi trạng thái là pending hoặc processing, và dừng ở completed hoặc failed.

import requests
import time

def poll_image_task(task_id, api_key, max_wait=300, interval=3):
    """Poll for image generation result with timeout."""
    url = f"https://api.tokenlab.sh/v1/tasks/{task_id}"
    headers = {"Authorization": f"Bearer {api_key}"}

    start_time = time.time()
    while time.time() - start_time < max_wait:
        response = requests.get(url, headers=headers, timeout=30)
        response.raise_for_status()
        data = response.json()

        if data["status"] == "completed":
            return data["data"][0]["url"]
        elif data["status"] == "failed":
            raise Exception(data.get("error", "Generation failed"))

        time.sleep(interval)

    raise TimeoutError(f"Task {task_id} did not complete within {max_wait}s")

# Usage
image_url = poll_image_task("ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "sk-your-api-key")
print(f"Generated image: {image_url}")

Xác thực

BearerAuth
AuthorizationBearer <token>

Xác thực bằng Khóa API. Tạo hoặc quản lý khóa API trong Dashboard > API > API Keys.

Vị trí: header

Tham số đường dẫn

id*string

ID tác vụ async được trả về bởi id / task_id, hoặc được nhúng trong poll_url

Phản hồi

application/json

application/json

application/json

application/json