الفيديو والمواد
الحصول على مهمة (متوافقة مع Volc)
الحصول على مهمة توافق Seedance باستخدام معرف مهمة cgt الخاص بها.
نظرة عامة
استخدم معرف cgt-... الذي تم إرجاعه بواسطة عملية الإنشاء. قم بإجراء استطلاع (Poll) كل بضع ثوانٍ طالما أن المهمة في حالة queued أو running. توقف عندما تصبح المهمة succeeded أو failed أو cancelled أو expired.
لا تقم بإعادة استخدام enum المهمة الموحد v1 أو هيكل الاستجابة هنا. يستخدم /v1/tasks/{id} حالات pending و processing و completed و failed؛ بينما تستخدم نقطة النهاية v3 هذه الـ enum الرسمي المذكور أعلاه. في كائن JSON الخاص بـ v3، يكون duration عبارة عن سلسلة نصية (string) عند وجوده، ويكون error حقلًا اختياريًا لتفاصيل الخطأ المتاحة. يجب على عميل Go الصارم تعريف Duration كـ string مع وسم JSON duration,omitempty، والتوقف عند كل حالة نهائية لـ v3.
راجع أيضاً نماذج فيديو Seedance 2.0 و توليد الفيديو.
قيم الحالة
queued: تم قبول المهمة وهي بانتظار التشغيل.running: عملية التوليد قيد التنفيذ.succeeded: النتيجة جاهزة وcontent.video_urlموجود.failed: فشلت عملية التوليد؛ افحصerror.codeوerror.message.cancelled: تم إلغاء المهمة قبل اكتمالها.expired: انتهت صلاحية المهمة قبل اكتمالها.
حقول الاستجابة
id: معرف مهمة التوافق، يبدأ بـcgt-.model: معرف النموذج الذي تم إرجاعه للتوافق.status: إحدى قيم الحالة المذكورة أعلاه.content.video_url: رابط الفيديو النهائي عند النجاح.content.last_frame_url: موجود فقط عند طلبه وتوفره.usage: استهلاك الـ token عند توفره.created_atوupdated_at: الطوابع الزمنية للمهمة.error: تفاصيل خطأ اختيارية عند توفرها. افحصerror.codeوerror.message، ولا تستنتج وجود الحقل منstatusوحده.
لا تضيف الاستجابة أبداً حقول TokenLab مثل progress أو return_last_frame أو watermark أو priority أو camera_fixed.
مثال
curl https://api.tokenlab.sh/api/v3/contents/generations/tasks/cgt-20260102030405-a1b2c \
-H "Authorization: Bearer $TOKENLAB_API_KEY"{
"id": "cgt-20260102030405-a1b2c",
"model": "doubao-seedance-2.0",
"status": "succeeded",
"content": {
"video_url": "https://example.com/result.mp4"
},
"usage": {
"completion_tokens": 123456
}
}type SeedanceTask struct {
ID string `json:"id"`
Status string `json:"status"`
Duration string `json:"duration,omitempty"`
}
func isTerminal(status string) bool {
switch status {
case "succeeded", "failed", "cancelled", "expired":
return true
default:
return false
}
}curl -X GET "https://example.com/api/v3/contents/generations/tasks/string"{ "id": "string", "model": "string", "status": "queued", "content": { "video_url": "http://example.com", "last_frame_url": "http://example.com" }, "seed": 0, "resolution": "string", "ratio": "string", "duration": "string", "frames": 0, "framespersecond": 0, "generate_audio": true, "tools": { "type": "web_search" }, "safety_identifier": "string", "draft": true, "draft_task_id": "string", "service_tier": "string", "execution_expires_after": 0, "usage": { "completion_tokens": 0, "total_tokens": 0, "tool_usage": { "web_search": 0 } }, "error": { "code": "string", "message": "string" }, "created_at": 0, "updated_at": 0}التفويض
BearerAuth مصادقة مفتاح API. قم بإنشاء أو إدارة مفاتيح API في Dashboard > API > API Keys.
الموضع: header
معاملات المسار
معرف مهمة التوافق الذي تم إرجاعه بواسطة نقطة نهاية الإنشاء. تبدأ المعرفات بـ cgt-.
الاستجابة
application/json
application/json
application/json
application/json