الصور

الحصول على حالة الصورة

الحصول على حالة ونتيجة مهمة إنشاء صورة غير متزامنة (async)

GET
/v1/tasks/{id}

معلمات المسار

idstringpathمطلوب

معرف المهمة (task ID) الذي تم إرجاعه من طلب إنشاء الصورة الأولي.

إذا تضمن رد الإنشاء poll_url، فمن الأفضل استدعاء ذلك الرابط (URL) بالضبط لعملية الاستقصاء (polling). قد تظهر بعض مهام الصور poll_url تحت /v1/tasks/{id} بدلاً من مسار الحالة الخاص بالصور.

يمكنك أيضًا استطلاع معرّفات مهام الصور العامة مثل ldtask_... عبر /v1/images/{id}. يستخدم مسار التوافق هذا نفس التحقق من التفويض والملكية وترويسات الفوترة واللقطات النهائية وشكل الاستجابة مثل /v1/images/generations/{id}.

قد تعيد المهمة العامة المنتهية أو غير المتاحة 404 async_task_not_found. إذا تعذر إثبات ملكية المهمة لمفتاح API الحالي، تكون الاستجابة 403 task_not_owned.

الاستجابة (Response)

تُعاد حقول النتائج والأخطاء والطوابع الزمنية والنموذج عند توفرها للمهمة.

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": []
}

أفضل ممارسات الاستقصاء

استعلم كل 3–5 ثوانٍ أثناء pending أو processing، وتوقف عند 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. قم بإنشاء أو إدارة مفاتيح API في Dashboard > API > API Keys.

الموضع: header

معاملات المسار

id*string

معرف المهمة غير المتزامنة الذي يتم إرجاعه بواسطة id / task_id، أو المضمن في poll_url

الاستجابة

application/json

application/json

application/json

application/json