الصور
الحصول على حالة الصورة
الحصول على حالة ونتيجة مهمة إنشاء صورة غير متزامنة (async)
معلمات المسار
معرف المهمة (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)
تُعاد حقول النتائج والأخطاء والطوابع الزمنية والنموذج عند توفرها للمهمة.
معرّف المهمة.
عنوان URL المفضل للاستعلام عندما توفره استجابة الإنشاء.
طابع زمني Unix لوقت الإنشاء.
معرف المهمة.
حالة المهمة: pending أو processing أو completed أو failed.
مصفوفة من الصور التي تم إنشاؤها (يتم ملؤها عندما تكون الـ status هي completed).
يحتوي كل كائن على:
url(string): رابط (URL) الصورة التي تم إنشاؤهاrevised_prompt(string): نسخة prompt معدّلة اختيارية عندما يعيدها النموذج المحدد
رسالة الخطأ (تظهر فقط عندما تكون الـ 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 مصادقة مفتاح API. قم بإنشاء أو إدارة مفاتيح API في Dashboard > API > API Keys.
الموضع: header
معاملات المسار
معرف المهمة غير المتزامنة الذي يتم إرجاعه بواسطة id / task_id، أو المضمن في poll_url
الاستجابة
application/json
application/json
application/json
application/json