curl --request POST \
--url https://api.tokenlab.sh/v1/videos/assets \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"asset_url": "https://example.com/reference.png",
"asset_name": "Front view",
"asset_type": "Image",
"library_type": "aigc_avatar",
"group_id": "group-20260720123456-vrt01"
}
'{
"id": "asset-20260720123456-qn7wr",
"object": "seedance.material_asset",
"group_id": "group-20260720123456-vrt01",
"library_type": "aigc_avatar",
"asset_name": "Front view",
"asset_type": "Image",
"status": "PROCESSING",
"ready": false,
"error_message": null,
"metadata": null,
"created_at": 1782998400000
}{
"error": {
"message": "model: Model is required",
"type": "invalid_request_error",
"param": "model"
},
"validation_errors": [
{
"field": "model",
"message": "Model is required"
}
]
}{
"error": {
"message": "Invalid API key provided",
"type": "invalid_api_key"
}
}{
"error": {
"message": "<string>",
"type": "unauthorized",
"code": "<string>",
"param": "<string>",
"model": "<string>",
"did_you_mean": "<string>",
"suggestions": [
{
"id": "<string>"
}
],
"alternatives": [
{
"id": "<string>",
"status": "<string>",
"tags": [
"<string>"
]
}
],
"hint": "<string>",
"retry_after": 123,
"retryable": true,
"balance_usd": 123,
"estimated_cost_usd": 123,
"supported_operations": [
"<string>"
],
"supported_parameters": [
"<string>"
],
"required_selectors": [
"<string>"
],
"optional_selectors": [
"<string>"
],
"allowed_resolutions": [
"<string>"
],
"allowed_durations": [
"<string>"
],
"allowed_aspect_ratios": [
"<string>"
],
"prompt_max_characters": 123,
"recommended_request": {},
"request_endpoint": "<string>",
"request_shape_mode": "<string>",
"status_mode": "<string>",
"request_id": "<string>"
}
}{
"error": {
"message": "An internal error occurred",
"type": "server_error"
}
}{
"error": {
"message": "Seedance material library request failed",
"type": "server_error",
"code": "seedance_material_library_request_failed"
}
}إنشاء أصل مادي (Material Asset)
تحميل أصل مادي خاص بـ Seedance إلى مجموعة مواد في TokenLab.
curl --request POST \
--url https://api.tokenlab.sh/v1/videos/assets \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"asset_url": "https://example.com/reference.png",
"asset_name": "Front view",
"asset_type": "Image",
"library_type": "aigc_avatar",
"group_id": "group-20260720123456-vrt01"
}
'{
"id": "asset-20260720123456-qn7wr",
"object": "seedance.material_asset",
"group_id": "group-20260720123456-vrt01",
"library_type": "aigc_avatar",
"asset_name": "Front view",
"asset_type": "Image",
"status": "PROCESSING",
"ready": false,
"error_message": null,
"metadata": null,
"created_at": 1782998400000
}{
"error": {
"message": "model: Model is required",
"type": "invalid_request_error",
"param": "model"
},
"validation_errors": [
{
"field": "model",
"message": "Model is required"
}
]
}{
"error": {
"message": "Invalid API key provided",
"type": "invalid_api_key"
}
}{
"error": {
"message": "<string>",
"type": "unauthorized",
"code": "<string>",
"param": "<string>",
"model": "<string>",
"did_you_mean": "<string>",
"suggestions": [
{
"id": "<string>"
}
],
"alternatives": [
{
"id": "<string>",
"status": "<string>",
"tags": [
"<string>"
]
}
],
"hint": "<string>",
"retry_after": 123,
"retryable": true,
"balance_usd": 123,
"estimated_cost_usd": 123,
"supported_operations": [
"<string>"
],
"supported_parameters": [
"<string>"
],
"required_selectors": [
"<string>"
],
"optional_selectors": [
"<string>"
],
"allowed_resolutions": [
"<string>"
],
"allowed_durations": [
"<string>"
],
"allowed_aspect_ratios": [
"<string>"
],
"prompt_max_characters": 123,
"recommended_request": {},
"request_endpoint": "<string>",
"request_shape_mode": "<string>",
"status_mode": "<string>",
"request_id": "<string>"
}
}{
"error": {
"message": "An internal error occurred",
"type": "server_error"
}
}{
"error": {
"message": "Seedance material library request failed",
"type": "server_error",
"code": "seedance_material_library_request_failed"
}
}id الخاص بالأصل المادي الذي تم إرجاعه لعملية الإنشاء، وليس رابط المصدر.
بالنسبة لـ library_type: "aigc_avatar"، فإن group_id اختياري؛ حيث يستخدم TokenLab أو ينشئ مجموعة الصور الرمزية الافتراضية للمؤسسة. بالنسبة لـ library_type: "liveness_face"، فإن group_id مطلوب ويجب أن يكون مجموعة TokenLab التي تم إرجاعها بواسطة الحصول على نتيجة التحقق المرئي.
| النوع | المدخلات المدعومة |
|---|---|
| صورة | jpeg, jpg, png, webp, bmp, tiff, gif, heic, heif; ≤30 MiB; العرض والارتفاع [300, 6000] px; نسبة العرض إلى الارتفاع [0.4, 2.5]. |
| فيديو | mp4, mov; ≤200 MiB. |
| صوت | aac, wav, mp3; ≤15 MiB. |
ACTIVE وافحص error_message عند فشل المعالجة. تُفحص شروط الوسائط والوجوه الأخرى أثناء المعالجة.
عملية الإنشاء غير متزامنة. قم بإجراء استعلام (Poll) لـ الحصول على أصل مادي (Material Asset) حتى تصبح status هي ACTIVE. بالنسبة لمجموعات الأشخاص الحقيقيين، ترتبط كل مجموعة بشخص واحد تم التحقق منه؛ قد تفشل عمليات التحميل التي تحتوي على وجوه متعددة أو وجه لا يطابق الشخص الذي تم التحقق منه.
يعزل project_name الموارد داخل المؤسسة المصادق عليها. قيمته الافتراضية default؛ استخدم القيمة نفسها مع مراعاة حالة الأحرف للمجموعات والأصول المرتبطة. أرسله في جسم JSON مع POST/PUT وفي معاملات الاستعلام مع GET/DELETE.
مثال على الطلب
curl https://api.tokenlab.sh/v1/videos/assets \
-H "Authorization: Bearer $TOKENLAB_API_KEY" \
-H "Content-Type: application/json" \
-d '{"library_type":"aigc_avatar","group_id":"group-20260720123456-vrt01","asset_url":"https://example.com/reference.png","asset_type":"Image","asset_name":"Front view","project_name":"default"}'
مثال على الاستجابة
{
"id": "asset-20260720123456-qn7wr",
"object": "seedance.material_asset",
"project_name": "default",
"group_id": "group-20260720123456-vrt01",
"library_type": "aigc_avatar",
"asset_name": "Front view",
"asset_type": "Image",
"status": "PROCESSING",
"ready": false,
"error_message": null,
"metadata": null,
"created_at": 1782998400000
}
التفويضات
مصادقة مفتاح API. قم بإنشاء أو إدارة مفاتيح API في Dashboard > API > API Keys.
الجسم
رابط مصدر يمكن الوصول إليه عاماً للاستيراد. يقوم TokenLab بتخزين المادة لاستخدامها لاحقاً؛ لا تعتمد على هذا الرابط كعنوان دائم للمادة.
اسم عرض اختياري مخزن مع أصل المادة.
1 - 128Image, Video, Audio فئة مكتبة المواد. aigc_avatar مخصص لمواد الصور الرمزية الافتراضية. liveness_face مخصص لمواد التحقق من الأشخاص الحقيقيين.
aigc_avatar, liveness_face معرف مجموعة مواد TokenLab. مطلوب لمواد liveness_face؛ اختياري لـ aigc_avatar.
نطاق المشروع لأصل المادة. يتم عزل الأصول والمجموعات حسب المشروع داخل المؤسسة الموثقة.
1 - 128بيانات وصفية اختيارية للعميل مخزنة مع أصل المادة.
الاستجابة
تم إنشاء أصل المادة
معرف أصل مادة TokenLab. استخدم هذا كـ material_asset_id بعد أن يصبح الأصل ACTIVE.
seedance.material_asset aigc_avatar, liveness_face Image, Video, Audio PROCESSING, ACTIVE, FAILED, DELETED تكون true عندما يكون الأصل نشطاً وغير محذوف.
معرف مجموعة مواد TokenLab التي تمتلك أصل المادة هذا.
نطاق المشروع لأصل المادة هذا.
خطأ معالجة نهائي آمن للنشر. تشمل إخفاقات التحقق من المصدر الدائمة قيود الأبعاد المرفوضة.
طابع زمني بنظام Unix يوضح وقت إنشاء سجل أصل المادة.
طابع زمني بنظام Unix يوضح وقت آخر تحديث لسجل أصل المادة.