TokenLab

이미지

이미지 상태 조회

비동기 이미지 생성 작업의 상태 및 결과를 조회합니다.

GET
/v1/tasks/{id}

경로 파라미터

idstringpath필수

초기 이미지 생성 요청에서 반환된 작업 ID입니다.

생성 응답에 poll_url이 포함된 경우, 폴링을 위해 해당 URL을 호출하는 것을 권장합니다. 일부 이미지 작업은 이미지 전용 상태 경로 대신 /v1/tasks/{id} 아래에 poll_url을 표시할 수 있습니다.

ldtask_... 같은 공개 이미지 작업 ID는 /v1/images/{id}에서도 폴링할 수 있습니다. 이 호환 alias는 /v1/images/generations/{id}와 동일한 인증, 소유권 검사, 과금 헤더, 종료 스냅샷, 응답 형태를 사용합니다.

만료되었거나 사용할 수 없는 공개 작업은 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): 선택한 모델이 반환한 선택적 프롬프트 수정본
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 키 인증입니다. Dashboard > API > API Keys에서 API 키를 생성하거나 관리하십시오.

위치: header

경로 매개변수

id*string

id / task_id로 반환되거나 poll_url에 포함된 비동기 작업 ID입니다.

응답

application/json

application/json

application/json

application/json