المهام غير المتزامنة

الحصول على حالة المهمة

استرجاع حالة ونتيجة أي مهمة غير متزامنة باستخدام `poll_url` المُعاد من نقاط نهاية الإنشاء

GET
/v1/tasks/{id}

نظرة عامة

استخدم نقطة النهاية هذه للاستطلاع غير المتزامن الموحّد عبر أنواع المهام مثل إنشاء الفيديو والصورة والموسيقى و3D.

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

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

idstringpathمطلوب

معرّف المهمة المُعاد من طلب الإنشاء.

الاستجابة

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

idstring

معرّف المهمة.

task_idstring

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

poll_urlstring

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

statusstring

حالة المهمة مثل pending أو processing أو completed أو failed. يتم تمثيل المهام الملغاة كـ failed مع cancelled: true.

cancelledboolean

true عندما يتم إلغاء مهمة غير متزامنة في قائمة الانتظار قبل التنفيذ.

cancellation_statusstring

مؤشر الإلغاء. يظهر كـ cancelled عند نجاح الإلغاء.

dataarray

بالنسبة لمهام الصور المكتملة، تُعاد نتائج الصور التي تم إنشاؤها هنا. تعيد مهام الصور روابط URL في data[].url.

progressnumber

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

video_urlstring

URL الأصل الناتج عند اكتمال المهمة وإنتاج فيديو.

videoobject

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

videosarray

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

createdinteger

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

updatedinteger

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

modelstring

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

errorstring | object

رسالة الخطأ عند فشل المهمة.

سلوك الخطأ

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

{
  "error": {
    "message": "Task not found or no longer available.",
    "type": "invalid_request_error",
    "code": "async_task_not_found"
  }
}

أمثلة

الطلب

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

poll_url = "/v1/tasks/ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
response = requests.get(
    f"https://api.tokenlab.sh{poll_url}",
    headers={"Authorization": "Bearer sk-your-api-key"},
)
print(response.json())
JavaScript
const pollUrl = '/v1/tasks/ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa';
const response = await fetch(`https://api.tokenlab.sh${pollUrl}`, {
  headers: { Authorization: 'Bearer sk-your-api-key' },
});
console.log(await response.json());
{  "id": "string",  "status": "pending",  "progress": 0,  "created": 0,  "updated": 0,  "model": "string",  "video": {    "url": "string",    "duration": 0,    "width": 0,    "height": 0  },  "error": "string",  "error_details": {    "projection_version": 0,    "status": 400,    "message": "string",    "type": "string",    "code": "string",    "param": "string",    "retryable": true,    "upstream": {      "source": "string",      "code": "string",      "message": "string",      "param": "string"    }  },  "task_id": "string",  "poll_url": "string",  "cancelled": true,  "cancellation_status": "cancelled",  "billing_transaction_id": "string",  "video_url": "string",  "videos": [    {}  ],  "data": [    {}  ],  "audio_url": "string",  "title": "string",  "lyrics": "string",  "model_url": "string",  "glb_url": "string",  "fbx_url": "string"}

التفويض

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