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

الحصول على مهمة (متوافقة مع Volc)

الحصول على مهمة توافق Seedance باستخدام معرف مهمة cgt الخاص بها.

GET
/api/v3/contents/generations/tasks/{id}

نظرة عامة

استخدم معرف 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
  }
}
Go
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
AuthorizationBearer <token>

مصادقة مفتاح API. قم بإنشاء أو إدارة مفاتيح API في Dashboard > API > API Keys.

الموضع: header

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

id*string

معرف مهمة التوافق الذي تم إرجاعه بواسطة نقطة نهاية الإنشاء. تبدأ المعرفات بـ cgt-.

الاستجابة

application/json

application/json

application/json

application/json