الفيديو والمواد

الحصول على حالة الفيديو

يسترجع حالة ونتيجة مهمة إنشاء فيديو

GET
/v1/tasks/{id}

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

idstringpathمطلوب

معرّف المهمة المُعاد من طلب إنشاء الفيديو. اعتبر id و task_id نفس الهوية غير المتزامنة.

إذا أعادت استجابة الإنشاء قيمة poll_url، فاستدعِ ذلك العنوان بالضبط. عندما يشير إلى /v1/tasks/{id}، اعتبره نقطة النهاية الأساسية الثابتة لحالة المهمة.

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

الاستجابة

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

idstring

المعرّف الرسمي للمهمة غير المتزامنة.

task_idstring

الاسم المستعار لمعرّف المهمة غير المتزامنة.

poll_urlstring

عنوان URL المفضل للاستعلام المتكرر عندما توفر استجابة الإنشاء واحدًا.

billing_transaction_idstring

معرّف معاملة الفوترة في TokenLab عندما تكون التسوية قد اكتملت بالفعل. هذا هو معرّف المعاملة المستخدم في لوحة التحكم / المطابقة، وهو منفصل عن id / task_id غير المتزامن.

statusstring

حالة المهمة: pending, processing, completed, failed.

progressnumber

قيمة تقدم اختيارية. لا تُعاد إلا عند توفر قيمة تقدم حقيقية؛ استخدم status لتحديد اكتمال المهمة.

video_urlstring

عنوان URL للفيديو الناتج (عند الاكتمال).

videoobject

حمولة فيديو مفردة تحتوي على الحقول url, duration, width, و height عندما تتوفر.

videosarray

حمولات فيديو متعددة عندما تعيد مهمة التوليد أكثر من مخرج واحد.

errorstring | object

رسالة الخطأ (إذا فشلت).

createdinteger

طابع زمني للإنشاء.

updatedinteger

طابع زمني لآخر تحديث.

modelstring

النموذج المستخدم للمهمة.

الطلب

curl "https://api.tokenlab.sh/v1/tasks/ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" \
  -H "Authorization: Bearer sk-your-api-key"

الاستجابة

{
  "id": "ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "task_id": "ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "poll_url": "/v1/tasks/ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "status": "pending",
  "model": "veo3.1",
  "created": 1706000000,
  "updated": 1706000000
}

أفضل ممارسات الاستطلاع

  • استعلم كل 5-10 ثوانٍ
  • طبّق آلية تراجع أُسِّي (exponential backoff) للمهام الطويلة
  • حدد مهلة قصوى (مثلاً، 10 دقائق)
  • تعامل مع الحالة failed بشكل ملائم
import requests
import time

def wait_for_video(task_id, max_wait=600, interval=5):
    """Wait for video with timeout."""
    start = time.time()

    while time.time() - start < max_wait:
        response = requests.get(
            f"https://api.tokenlab.sh/v1/tasks/{task_id}",
            headers={"Authorization": "Bearer sk-your-api-key"}
        )
        response.raise_for_status()
        data = response.json()

        if data["status"] == "completed":
            return data["video_url"]
        elif data["status"] == "failed":
            raise Exception(data.get("error", "Video generation failed"))

        time.sleep(interval)

    raise TimeoutError("Video generation timed out")

التفويض

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