الفيديو والمواد
الحصول على حالة الفيديو
الحصول على حالة مهمة الفيديو ونتيجتها
معاملات المسار (Path Parameters)
معرف المهمة (task ID) الذي تم إرجاعه بواسطة طلب إنشاء الفيديو. id و task_id يشيران إلى نفس المهمة.
إذا كانت استجابة الإنشاء تتضمن poll_url، فقم باستدعاء ذلك الرابط مباشرة.
قد تُرجع المهمة العامة منتهية الصلاحية أو غير المتاحة الخطأ 404 async_task_not_found. إذا تعذر إثبات ملكية المهمة لمفتاح API الحالي، فستكون الاستجابة 403 task_not_owned.
الاستجابة (Response)
يتم إرجاع الحقول التي تصف النتائج، والأخطاء، والطوابع الزمنية، والنموذج عند توفرها للمهمة.
معرف المهمة.
نفس معرف المهمة الخاص بـ id.
رابط للتحقق من الحالة واسترجاع النتيجة.
معرف معاملة الفوترة بعد التسوية. وهو منفصل عن معرف المهمة.
حالة المهمة: pending (قيد الانتظار)، processing (قيد المعالجة)، completed (مكتملة)، failed (فاشلة).
قيمة اختيارية للتقدم. يتم إرجاعها فقط عند توفر قيمة تقدم حقيقية؛ استخدم status لتحديد حالة الاكتمال.
رابط الفيديو الذي تم إنشاؤه (عند اكتماله). إذا كان الرابط يشير إلى TokenLab API، فقم بتنزيله باستخدام نفس ترويسة Authorization: Bearer المستخدمة لاستطلاع حالة المهمة. المؤسسة التي تمتلك المهمة هي فقط من يمكنها الوصول إلى النتيجة.
نتيجة فيديو فردية مع 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
}الفاصل الزمني للتحقق (Check Interval)
- تحقق كل 5–10 ثوانٍ.
- قم بزيادة الفاصل الزمني للمهام التي تستغرق وقتًا طويلاً.
- حدد أقصى وقت انتظار لتطبيقك.
- توقف عندما تكون الحالة
failedواعرض الخطأ المرجع فيerror.
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