الفيديو والمواد
الحصول على حالة الفيديو
يسترجع حالة ونتيجة مهمة إنشاء فيديو
معلمات المسار
معرّف المهمة المُعاد من طلب إنشاء الفيديو. اعتبر id و task_id نفس الهوية غير المتزامنة.
إذا أعادت استجابة الإنشاء قيمة poll_url، فاستدعِ ذلك العنوان بالضبط. عندما يشير إلى /v1/tasks/{id}، اعتبره نقطة النهاية الأساسية الثابتة لحالة المهمة.
قد تعيد المهمة العامة المنتهية أو غير المتاحة 404 async_task_not_found. إذا تعذر إثبات ملكية المهمة لمفتاح API الحالي، تكون الاستجابة 403 task_not_owned.
الاستجابة
تُعاد حقول النتائج والأخطاء والطوابع الزمنية والنموذج عند توفرها للمهمة.
المعرّف الرسمي للمهمة غير المتزامنة.
الاسم المستعار لمعرّف المهمة غير المتزامنة.
عنوان URL المفضل للاستعلام المتكرر عندما توفر استجابة الإنشاء واحدًا.
معرّف معاملة الفوترة في TokenLab عندما تكون التسوية قد اكتملت بالفعل. هذا هو معرّف المعاملة المستخدم في لوحة التحكم / المطابقة، وهو منفصل عن id / task_id غير المتزامن.
حالة المهمة: pending, processing, completed, failed.
قيمة تقدم اختيارية. لا تُعاد إلا عند توفر قيمة تقدم حقيقية؛ استخدم status لتحديد اكتمال المهمة.
عنوان URL للفيديو الناتج (عند الاكتمال).
حمولة فيديو مفردة تحتوي على الحقول url, duration, width, و height عندما تتوفر.
حمولات فيديو متعددة عندما تعيد مهمة التوليد أكثر من مخرج واحد.
رسالة الخطأ (إذا فشلت).
طابع زمني للإنشاء.
طابع زمني لآخر تحديث.
النموذج المستخدم للمهمة.
الطلب
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 مصادقة مفتاح API. قم بإنشاء أو إدارة مفاتيح API في Dashboard > API > API Keys.
الموضع: header
معاملات المسار
معرف المهمة غير المتزامنة الذي يتم إرجاعه بواسطة id / task_id، أو المضمن في poll_url
الاستجابة
application/json
application/json
application/json
application/json