TokenLab

圖像

獲取圖片狀態

獲取非同步圖片生成任務的狀態與結果

GET
/v1/tasks/{id}

路徑參數

idstringpath必填

從初始圖片生成請求中返回的任務 ID。

如果建立請求的響應中包含 poll_url,建議優先調用該 URL 進行輪詢。某些圖片任務可能會在 /v1/tasks/{id} 下顯示 poll_url,而非圖片特定的狀態路徑。

你也可以用 /v1/images/{id} 輪詢 ldtask_... 這類公開圖片任務 ID。這個相容 alias 會沿用與 /v1/images/generations/{id} 完全相同的鑑權、ownership 檢查、計費 header、終態快照和回應格式。

已過期或不可用的公開任務可能回傳 404 async_task_not_found。無法確認目前 API 金鑰對任務的歸屬權限時,回傳 403 task_not_owned。

響應

結果、錯誤、時間戳記與模型欄位僅在任務提供時回傳。

idstring

標準的非同步任務識別碼。

poll_urlstring

當建立回應提供時,首選的輪詢 URL。

createdinteger

建立時的 Unix 時間戳。

task_idstring

任務識別碼。

statusstring

任務狀態:pending、processing、completed 或 failed。

dataarray

生成的圖片陣列(當 status 為 completed 時填充)。

每個物件包含:

  • url (string): 生成圖片的 URL
  • revised_prompt (string): 所選模型回傳的選填 prompt 改寫結果
errorstring | object

錯誤訊息(僅在 status 為 failed 時出現)。

請求

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

回應

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

輪詢最佳實踐

狀態為 pending 或 processing 時,每 3–5 秒查詢一次;變為 completed 或 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}")

授權

BearerAuth
AuthorizationBearer <token>

API Key 驗證。請在 Dashboard > API > API Keys 建立或管理 API 金鑰。

位置: header

路徑參數

id*string

由 id / task_id 回傳,或嵌入於 poll_url 中的非同步任務 ID

回應

application/json

application/json

application/json

application/json