画像

画像ステータスの取得

非同期画像生成タスクのステータスと結果を取得します

GET
/v1/tasks/{id}

パスパラメータ

idstringpath必須

初期の画像生成リクエストから返されたタスクID。

作成時のレスポンスに poll_url が含まれている場合は、そのURLを直接呼び出してポーリングすることをお勧めします。一部の画像タスクでは、画像固有のステータスパスではなく /v1/tasks/{id} の下に poll_url が表示される場合があります。

ldtask_... のような公開画像タスク ID は /v1/images/{id} でもポーリングできます。この互換エイリアスは /v1/images/generations/{id} と同じ認証、所有権チェック、課金ヘッダー、終端スナップショット、レスポンス形式を使います。

期限切れまたは利用できない公開タスクでは 404 async_task_not_found が返る場合があります。現在の API キーでタスクの所有権を確認できない場合は 403 task_not_owned が返ります。

レスポンス

結果、エラー、タイムスタンプ、モデルのフィールドはタスクで利用可能な場合に返されます。

idstring

標準的な非同期タスク識別子。

poll_urlstring

create レスポンスが提供する場合の推奨ポーリングURL。

createdinteger

作成時のUnixタイムスタンプ。

task_idstring

タスク識別子。

statusstring

タスクのステータス: pending、processing、completed、または failed。

dataarray

生成された画像の配列(status が completed の際に入力されます)。

各オブジェクトの内容:

  • url (string): 生成された画像のURL
  • revised_prompt (string): 上流モデルが返した任意のプロンプト修正版(提供者が返す場合のみ)
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):
    """タイムアウト付きで画像生成結果をポーリングします。"""
    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")

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

認証

BearerAuth
AuthorizationBearer <token>

APIキー認証。Dashboard > API > API KeysでAPIキーを作成または管理します。

場所: header

パスパラメータ

id*string

id / task_id によって返される、または poll_url に埋め込まれた非同期タスクID

レスポンス

application/json

application/json

application/json

application/json