الانتقال إلى المحتوى الرئيسي
ستقدم هذه المقالة تعليمات لتكامل واجهة برمجة تطبيقات إنشاء فيديوهات SeeDance، والتي يمكنها إنشاء مقاطع الفيديو الرسمية لـ SeeDance من خلال إدخال معلمات مخصصة.

عملية التقديم

لاستخدام واجهة برمجة تطبيقات إنشاء فيديوهات SeeDance، انتقل أولًا إلى وحدة تحكم Ace Data Cloud للحصول على API Token الخاص بك، واحتفظ به للاستخدام لاحقًا. إذا لم تكن قد سجلت الدخول أو أنشأت حسابًا بعد، فسيتم تحويلك تلقائيًا إلى صفحة تسجيل الدخول لدعوتك إلى التسجيل وتسجيل الدخول، وبعد الإكمال ستعود تلقائيًا إلى الصفحة الحالية. يمكن لـ API Token واحد استدعاء جميع خدمات المنصة، ولا حاجة للتقديم بشكل منفصل لكل خدمة. ستحصل على رصيد مجاني عند أول تقديم، ويمكنك التجربة مجانًا؛ وعند عدم كفاية الرصيد، يمكنك شحن الرصيد العام من وحدة التحكم.
📘 الوثائق الكاملة: SeeDance Videos Generation API →

الاستخدام الأساسي

لنلقِ أولًا نظرة على طريقة الاستخدام الأساسية، وهي إدخال نص التلميح content.text، والنوع content.type=text، والنموذج model، ثم يمكنك الحصول على النتيجة بعد المعالجة، والمحتوى المحدد كما يلي:

يمكن ملاحظة أننا قمنا هنا بإعداد Request Headers، بما في ذلك:
  • accept: تنسيق نتيجة الاستجابة التي ترغب في تلقيها، يتم تعبئته هنا بـ application/json، أي بتنسيق JSON.
  • authorization: المفتاح لاستدعاء API، ويمكن اختياره مباشرة من القائمة المنسدلة بعد التقديم.
كما قمنا بإعداد Request Body، بما في ذلك:
  • model: النموذج لإنشاء الفيديو.
    • سلسلة Seedance 1.x: doubao-seedance-1-0-pro-250528، doubao-seedance-1-0-pro-fast-251015، doubao-seedance-1-5-pro-251215، doubao-seedance-1-0-lite-t2v-250428، doubao-seedance-1-0-lite-i2v-250428.
    • سلسلة Seedance 2.0 (تدعم مرجعًا متعدد الوسائط للشخصيات والصوت والفيديو): doubao-seedance-2-0-260128 (قياسي)، doubao-seedance-2-0-fast-260128 (سريع)، doubao-seedance-2-0-mini-260615 (خفيف).
    • Seedance 2.5: doubao-seedance-2-5-260628، يدعم مدة تصل إلى 30 ثانية، ومرجع الصوت فقط، ومواد أكثر، وتحرير الفيديو وتمديده.
  • content: مصفوفة محتوى الإدخال، يمكن أن يكون type هو text (نص التلميح)، أو image_url (صورة مرجعية)، أو audio_url (صوت مرجعي)، أو video_url (فيديو مرجعي). يمكن للصور تحديد الاستخدام عبر role: first_frame (الإطار الأول) / last_frame (الإطار الأخير) / reference_image (مرجع الشخصية / العنصر الرئيسي).
  • resolution: دقة الإخراج، يمكن اختيار 480p / 720p / 1080p / 4k. يدعم 2.5 دقة 480p و720p و1080p؛ ويدعم 2.0 Fast/Mini دقة 480p و720p؛ ويدعم 2.0 Standard حتى 4k.
  • ratio: نسبة العرض إلى الارتفاع، يمكن اختيار 16:9 / 4:3 / 1:1 / 3:4 / 9:16 / 21:9 / adaptive.
  • duration: مدة الفيديو (بالثواني، عدد صحيح). سلسلة 1.0 من 2–12؛ و1.5 Pro من 4–12؛ وسلسلة 2.0 من 4–15؛ و2.5 من 4–30. يدعم 1.5/2.x القيمة -1 (مدة تلقائية).
  • seed: البذرة العشوائية، عدد صحيح، من -1 إلى 4294967295.
  • camerafixed: ما إذا كانت الكاميرا ثابتة، true / false.
  • watermark: ما إذا كانت ستتم إضافة علامة مائية، true / false.
  • generate_audio: ما إذا كان سيتم إنشاء فيديو بصوت، true / false، تدعمه سلسلة Seedance 1.5 Pro و2.x.
  • return_last_frame: ما إذا كان سيتم إرجاع رابط URL لصورة الإطار الأخير للفيديو في النتيجة.
  • omni_reference_task_type: لـ 2.5 فقط؛ auto / reference / edit / extend.
  • output_format: لـ 2.5 فقط؛ mp4 / mov، والافتراضي هو mp4.
  • tools: لـ 2.5 فقط؛ يدعم حاليًا أداة البحث عبر الإنترنت web_search، ويمكن تقييد عدد النتائج وعدد الكلمات المفتاحية ومصادر البحث.
  • priority: أولوية المهمة الاختيارية لـ 2.5، عدد صحيح من 0–9، والافتراضي هو 0.
  • safety_identifier: معرّف مستخدم نهائي مستقر ومجهول الهوية بطول لا يتجاوز 64 حرفًا؛ يرجى استخدام تجزئة أو معرّف مجهول داخلي، ولا تمرر الاسم أو البريد الإلكتروني أو رقم الهاتف.
  • execution_expires_after: مهلة المهمة (بالثواني)، النطاق 3600–259200.
  • callback_url: عنوان الاستدعاء غير المتزامن، بعد الإعداد يعيد API task_id فورًا، وعند اكتمال المهمة سيتم إرسال النتيجة عبر POST إلى هذا العنوان.
  • async: اختياري، عند تعيينه إلى true تعيد الواجهة task_id فورًا، دون الحاجة إلى توفير callback_url، ثم يتم الحصول على النتيجة عبر الاستعلام الدوري باستخدام واجهة الاستعلام عن المهمة المقابلة.
بعد الاختيار، يمكن ملاحظة أنه تم أيضًا إنشاء الكود المقابل على الجانب الأيمن، كما هو موضح في الصورة:

انقر فوق زر «Try» لإجراء الاختبار، كما هو موضح في الصورة أعلاه، وهنا حصلنا على النتيجة التالية:
تتضمن النتيجة المعادة عدة حقول، ويُعرّف عنها كما يلي:
  • success، حالة مهمة إنشاء الفيديو في هذا الوقت.
  • task_id، معرّف مهمة إنشاء الفيديو في هذا الوقت.
  • trace_id، معرّف تتبع إنشاء الفيديو في هذا الوقت.
  • data، قائمة نتائج مهمة إنشاء الفيديو في هذا الوقت.
    • task_id، معرّف جهة الخادم لمهمة إنشاء الفيديو في هذا الوقت.
    • video_url، رابط الفيديو لمهمة إنشاء الفيديو في هذا الوقت.
    • status، حالة مهمة إنشاء الفيديو في هذا الوقت.
      • model، النموذج المستخدم لإنشاء الفيديو.
يمكن ملاحظة أننا حصلنا على معلومات فيديو مُرضية، وما علينا سوى الحصول على فيديو SeeDance المُنشأ وفقًا لعنوان رابط الفيديو في data ضمن النتيجة. بالإضافة إلى ذلك، إذا كنت ترغب في إنشاء كود التكامل المقابل، فيمكنك نسخه مباشرةً، على سبيل المثال كود CURL كما يلي:

وصف المعلمات المضمنة

في نهاية مطالبة content[].text، يمكن تمرير معلمات التوليد عبر إضافتها بصيغة --parameter value (الطريقة القديمة، تحقق ضعيف، وعند وجود خطأ في التعبئة تُستخدم القيمة الافتراضية تلقائيًا). قائمة المعلمات الكاملة كما يلي:
الممارسة الموصى بها: استخدم الحقول العليا المقابلة مباشرةً في Request Body (مثل resolution وratio وغيرها)، فهذا وضع تحقق صارم، وعند وجود خطأ في تعبئة المعلمات سيُرجع تنبيه خطأ واضحًا، مما يسهل استكشاف المشكلات وإصلاحها.

إنشاء فيديو مع صوت

تدعم Seedance 1.5 Pro وسلسلة 2.x إنشاء فيديوهات صوتية عبر المعلمة generate_audio:
لا تدعم سلسلة 1.0 هذه المعلمة.

التوليد والتحرير والتمديد متعدد الوسائط الكامل في Seedance 2.5

يدعم doubao-seedance-2-5-260628 دقة 480p / 720p / 1080p، ومدة 4–30 ثانية أو مدة تلقائية، ويرفع حد المواد إلى 30 صورة مرجعية، و10 مقاطع فيديو مرجعية، و10 مقاطع صوتية مرجعية (بإجمالي يصل إلى 50 عنصرًا). كما يدعم الإصدار 2.5 تمرير صوت مرجعي فقط، ولم يعد يتطلب توفير صور أو فيديوهات في الوقت نفسه. يمكن للتوليد العادي متعدد الوسائط الكامل حذف omni_reference_task_type، أو تعيينه إلى auto، أو تعيينه صراحةً إلى reference. يجب أن يمرر تحرير الفيديو وتمديده reference_video:
  • reference: مرر على الأقل عنصرًا واحدًا من reference_image أو reference_video أو reference_audio؛ يدعم الإصدار 2.5 تمرير الصوت المرجعي فقط.
  • edit: يجب استخدام ratio: adaptive وduration: -1؛ تُحتسب رسوم مدة الإخراج وفقًا للنتيجة الفعلية.
  • extend: يجب استخدام ratio: adaptive؛ يمكن أن تكون duration من 4–30 أو -1.
  • auto: يختار النموذج تلقائيًا التوليد أو التحرير أو التمديد وفقًا للمطالبة والمواد.
  • عند عدم تطابق نوع المهمة مع المواد أو المطالبة، ستفشل المهمة وتُرجع خطأ معلمة يمكن تحديد موضعه؛ يرجى التعديل وفقًا للقيود المذكورة أعلاه ثم إعادة الإرسال.

الإطار الأول لفيديو من صورة

إذا أردت مهمة فيديو من صورة، فيجب أولًا أن تحتوي معلمة content على عنصر يكون type فيه هو image_url، ويجب أن يكون الحقل image_url بتنسيق كائن: {"url": "https://..."} أو بتنسيق Base64: {"url": "data:image/png;base64,..."}.
ملاحظة: لا يدعم image_url تمرير تنسيق سلسلة مباشرةً (مثل "image_url": "https://cdn.acedata.cloud/e724d7f13d.png")، ويجب استخدام تنسيق الكائن "image_url": {"url": "https://..."}، وإلا فسيُرجع خطأ 400.
الكود المقابل:
انقر للتشغيل، ويمكنك ملاحظة أنك ستحصل فورًا على نتيجة، كما يلي:
يمكنك ملاحظة أن التأثير المُنشأ هو فيديو من صورة، والنتيجة مشابهة لما ورد أعلاه.

الإطار الأول والأخير لفيديو من صورة

إذا أردت الإطار الأول والأخير لفيديو من صورة، فيجب أولًا أن تمرر المعلمة content النوع image_url، وأن تعيّن role إلى first_frame وlast_frame على التوالي، وبذلك يمكنك تحديد المحتوى التالي:
  • role: تحديد الإطار الأول أو الإطار الأخير.
  • image_url
    • رابط صورة url وفي الوقت نفسه، تحتاج content أيضًا إلى إدخال النوع text كمطالبة prompt
الكود المقابل:
انقر على تشغيل، ويمكنك ملاحظة أنك ستحصل فورًا على نتيجة، كما يلي:
يمكن ملاحظة أن التأثير المُولَّد هو فيديو لشخصية، والنتيجة مشابهة لما سبق.

الشخصية والمرجع متعدد الوسائط للصوت والفيديو (Seedance 2.0)

تدعم سلسلة Seedance 2.0 (doubao-seedance-2-0-260128 وdoubao-seedance-2-0-fast-260128 وdoubao-seedance-2-0-mini-260615) reference_image وreference_audio وreference_video. يمكن استخدام مواد مملوكة ذاتيًا أو مصرح بها للحفاظ على اتساق الشخصية والموضوع والحركة وحركة الكاميرا والصوت والإيقاع.
يرجى رفع مواد الأشخاص الحقيقيين والشخصيات التي تملكها أو حصلت على تصريح لاستخدامها فقط. تختلف طريقة دعم مواد الأشخاص الحقيقيين بين النماذج المختلفة؛ يظل تنسيق الطلب دون تغيير، وسيتم إرجاع خطأ واضح إذا كانت المواد لا تستوفي المتطلبات.
نقاط الاستخدام:
  • تدعم نماذج سلسلة Seedance 2.0 فقط reference_image؛ بالنسبة إلى نماذج 1.x، يرجى استخدام first_frame / last_frame (الإطارين الأول والأخير لفيديو مُولَّد من صورة).
  • فيديو الصورة إلى الفيديو بالإطار الأول، وفيديو الصورة إلى الفيديو بالإطارين الأول والأخير، والمرجع متعدد الوسائط هي ثلاث حالات متنافية: لا يمكن استخدام first_frame / last_frame مع reference_image / reference_video / reference_audio معًا.
  • إذا أردت تحديد الإطارين الأول والأخير في المرجع متعدد الوسائط، فضع علامة reference_image على الصور، واكتب في الموجّه «الصورة 1 كإطار أول» أو «الصورة 2 كإطار أخير»؛ وإذا احتجت إلى تثبيت الإطارين الأول والأخير بشكل صارم، فاستخدم فقط first_frame / last_frame.
  • الحد الأقصى لعدد المراجع متعددة الوسائط: بحد أقصى 9 صور image_url؛ كما يدعم 2.0 audio_url (role هو reference_audio، بحد أقصى 3 مقاطع) وvideo_url (role هو reference_video، بحد أقصى 3 مقاطع).
  • متطلبات مواد الصوت المرجعي (audio_url): التنسيق wav / mp3؛ مدة المقطع الواحد من 2 إلى 15 ثانية، بحد أقصى 3 مقاطع وبمدة إجمالية لا تتجاوز 15 ثانية؛ وألا يتجاوز المقطع الواحد 15 ميغابايت. سيؤدي تجاوز نطاق المدة إلى الفشل في مرحلة معالجة المواد.
  • متطلبات مواد الفيديو المرجعي (video_url): التنسيق mp4 / mov؛ مدة المقطع الواحد من 2 إلى 15 ثانية، بحد أقصى 3 مقاطع وبمدة إجمالية لا تتجاوز 15 ثانية.
  • يُوصى بأن تكون الصور المرجعية لشخص واحد، بوجه أمامي، واضحة، ودون حجب؛ فكلما كان الوجه أوضح، زادت درجة التشابه.

المثال الأول: لقطة مقرّبة تحافظ على ملامح الشخص

مرّر صورة وجه واحدة، واجعل هذا الشخص يبتسم ويلوح بيده نحو الكاميرا. الكود المقابل:
تكون النتيجة المُعادة كما يلي، ويحافظ الشخص في الفيديو المُولَّد على اتساقه مع الصورة المرجعية:

المثال الثاني: وضع الشخص نفسه في مشهد جديد كليًا

تكمن قوة reference_image في أنها تحتفظ فقط بهوية الشخص، بينما يحدد الموجّه المشهد والملابس والحركة بالكامل. فيما يلي، باستخدام صورة الوجه نفسها، نجعل هذا الشخص يرتدي معطفًا بيجًا ويمشي في حديقة خريفية:
تكون النتيجة المُعادة كما يلي، حيث تم الاحتفاظ بملامح الشخص، بينما تغيّر المشهد إلى حديقة خريفية:
💡 إذا كنت ترغب في أن تعيد الشخصية إنتاج التكوين في الصورة بدقة (بدلاً من «الشخص نفسه في مشهد مختلف»)، يمكنك استخدام first_frame (الإطار الأول لفيديو مُولَّد من صورة)، لجعل الفيديو يبدأ بالحركة من هذه الصورة.

الاستدعاء غير المتزامن

نظرًا لأن وقت إنشاء SeeDance Videos Generation API طويل نسبيًا (حوالي 1-2 دقيقة)، يمكن استخدام الوضع غير المتزامن عبر الحقل callback_url لتجنب انشغال اتصال HTTP لفترة طويلة. التدفق العام: يحدد العميل callback_url عند بدء الطلب، وتُرجع API فورًا استجابة تتضمن task_id؛ بعد اكتمال المهمة، ترسل المنصة نتيجة الإنشاء إلى callback_url بصيغة POST JSON، وتتضمن النتيجة أيضًا task_id لتسهيل الربط.
عند اكتمال المهمة، يكون المحتوى الذي تدفعه المنصة إلى callback_url كما يلي:
يتطابق حقل task_id في النتيجة مع الحقل المُعاد عند الطلب، ويمكن تحقيق ربط المهمة من خلال هذا الحقل.

معالجة الأخطاء

عند استدعاء API، إذا واجهت خطأً، فستُرجع API رمز الخطأ والمعلومات المقابلة. على سبيل المثال:
  • 400 token_mismatched:طلب غير صالح، ربما بسبب معلمات مفقودة أو غير صالحة.
  • 400 api_not_implemented:طلب غير صالح، ربما بسبب معلمات مفقودة أو غير صالحة.
  • 401 invalid_token:غير مصرح به، رمز التفويض غير صالح أو مفقود.
  • 429 too_many_requests:طلبات كثيرة جدًا، لقد تجاوزت حد المعدل.
  • 500 api_error:خطأ داخلي في الخادم، حدث خطأ ما على الخادم.

مثال على استجابة الخطأ

الخلاصة

من خلال هذا المستند، أصبحت تعرف كيفية استخدام Seedance Videos Generation API لإنشاء الفيديو من النص، وإنشاء الفيديو باستخدام الإطارين الأول والأخير والمراجع متعددة الوسائط، وكذلك استخدام Seedance 2.5 لتحرير الفيديو أو تمديده. نأمل أن يساعدك هذا المستند في إكمال تكامل API؛ إذا كانت لديك أي أسئلة، فيرجى الاتصال بالدعم الفني.