メインコンテンツへスキップ

パスパラメータ

id
string
必須
初期の画像生成リクエストから返されたタスクID。
作成時のレスポンスに poll_url が含まれている場合は、そのURLを直接呼び出してポーリングすることをお勧めします。一部の画像タスクでは、画像固有のステータスパスではなく /v1/tasks/{id} の下に poll_url が表示される場合があります。If the task no longer exists or can no longer be resolved through the public async-task contract, LemonData returns async_task_not_found with the message Task not found or no longer available.

レスポンス

created
integer
作成時のUnixタイムスタンプ。
task_id
string
タスク識別子。
status
string
タスクのステータス: pendingprocessingcompleted、または failed
data
array
生成された画像の配列(statuscompleted の際に入力されます)。各オブジェクトの内容:
  • url (string): 生成された画像のURL
  • revised_prompt (string): 生成に使用されたプロンプト
error
string
エラーメッセージ(statusfailed の場合のみ存在)。
curl "https://api.lemondata.cc/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": [
    {
      "url": "",
      "revised_prompt": "a beautiful sunset over mountains"
    }
  ]
}

ポーリングのベストプラクティス

推奨されるポーリング間隔: 3〜5秒。ほとんどの画像生成タスクは、モデルやルーティングされたプロバイダーのパスに応じて30〜120秒以内に完了します。
import requests
import time

def poll_image_task(task_id, api_key, max_wait=300, interval=3):
    """タイムアウト付きで画像生成結果をポーリングします。"""
    url = f"https://api.lemondata.cc/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)
        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}")