الانتقال إلى المحتوى الرئيسي

Documentation Index

Fetch the complete documentation index at: https://docs.tokenlab.sh/llms.txt

Use this file to discover all available pages before exploring further.

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

id
string
مطلوب
معرف المهمة (task ID) الذي تم إرجاعه من طلب إنشاء الصورة الأولي.
إذا تضمن رد الإنشاء poll_url، فمن الأفضل استدعاء ذلك الرابط (URL) بالضبط لعملية الاستقصاء (polling). قد تظهر بعض مهام الصور poll_url تحت /v1/tasks/{id} بدلاً من مسار الحالة الخاص بالصور.يمكنك أيضًا استطلاع معرّفات مهام الصور العامة مثل ldtask_... عبر /v1/images/{id}. يستخدم مسار التوافق هذا نفس التحقق من التفويض والملكية وترويسات الفوترة واللقطات النهائية وشكل الاستجابة مثل /v1/images/generations/{id}.إذا لم تعد المهمة موجودة أو لم يعد بالإمكان حلّها عبر عقد المهمة غير المتزامنة العامة، تُرجِع TokenLab القيمة async_task_not_found مع الرسالة Task not found or no longer available.

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

created
integer
طابع زمني Unix لوقت الإنشاء.
task_id
string
معرف المهمة.
status
string
حالة المهمة: pending أو processing أو completed أو failed.
data
array
مصفوفة من الصور التي تم إنشاؤها (يتم ملؤها عندما تكون الـ status هي completed).يحتوي كل كائن على:
  • url (string): رابط (URL) الصورة التي تم إنشاؤها
  • revised_prompt (string): الوصف (prompt) المستخدم لعملية الإنشاء
error
string
رسالة الخطأ (تظهر فقط عندما تكون الـ 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": [
    {
      "url": "",
      "revised_prompt": "a beautiful sunset over mountains"
    }
  ]
}

أفضل الممارسات للاستقصاء (Polling Best Practices)

فاصل الاستقصاء الموصى به: 3-5 ثوانٍ. تكتمل معظم مهام إنشاء الصور في غضون 30-120 ثانية اعتماداً على النموذج ومسار المزود الموجه.
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)
        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}")