Skip to main content
تُنشئ وكلاء OpenClaw مقاطع فيديو من مطالبات نصية أو صور مرجعية أو مقاطع فيديو موجودة باستخدام video_generate. تُدعَم ست عشرة واجهة خلفية لموفّري الخدمة؛ ويختار الوكيل الواجهة المناسبة تلقائيًا بناءً على الإعدادات ومفاتيح API المتاحة.
لا يظهر video_generate إلا عند توفر موفّر واحد على الأقل لإنشاء الفيديو. إذا لم تجده ضمن أدوات وكيلك، فعيّن مفتاح API لموفّر أو اضبط agents.defaults.videoGenerationModel.
لدى video_generate ثلاثة أوضاع تشغيل، تُحدَّد من المدخلات المرجعية في الاستدعاء:
  • generate - بلا وسائط مرجعية (تحويل النص إلى فيديو).
  • imageToVideo - صورة مرجعية واحدة أو أكثر.
  • videoToVideo - فيديو مرجعي واحد أو أكثر.
يمكن للموفّرين دعم أي مجموعة فرعية من هذه الأوضاع. تتحقق الأداة من الوضع النشط قبل الإرسال، وتعرض الأوضاع المدعومة في action=list.

البدء السريع

1

إعداد المصادقة

عيّن مفتاح API لأي موفّر مدعوم:
2

اختيار نموذج افتراضي (اختياري)

3

طلب المهمة من الوكيل

أنشئ فيديو سينمائيًا مدته 5 ثوانٍ لكركند ودود يركب الأمواج عند غروب الشمس.
يستدعي الوكيل video_generate تلقائيًا. ولا حاجة إلى إدراج الأداة في قائمة السماح.

آلية الإنشاء غير المتزامن

إنشاء الفيديو غير متزامن:
  1. يرسل OpenClaw الطلب إلى الموفّر ويعيد معرّف المهمة فورًا.
  2. يعالج الموفّر المهمة في الخلفية (عادةً من 30 ثانية إلى عدة دقائق حسب الموفّر والدقة؛ وقد تستغرق الموفّرات البطيئة المعتمدة على قوائم الانتظار حتى المهلة الزمنية المضبوطة).
  3. عندما يصبح الفيديو جاهزًا، يوقظ OpenClaw الجلسة نفسها بحدث إكمال داخلي.
  4. يبلّغ الوكيل عنه عبر وضع الرد المرئي المعتاد للجلسة: إما رد نهائي تلقائي، أو message(action="send") عندما تتطلب الجلسة أداة الرسائل. إذا كانت جلسة مقدم الطلب غير نشطة، أو فشلت عملية إيقاظها وظلت الوسائط المُنشأة غير موجودة في رد الإكمال، يرسل OpenClaw ردًا احتياطيًا مباشرًا قابلًا للتكرار بأمان يتضمن الوسائط.
أثناء تنفيذ مهمة، تعيد استدعاءات video_generate المكررة في الجلسة نفسها حالة المهمة الحالية بدلًا من بدء عملية إنشاء أخرى. استخدم action: "status" للتحقق دون تشغيل عملية إنشاء جديدة، أو openclaw tasks list / openclaw tasks show <lookup> من CLI (راجع المهام الخلفية). خارج عمليات تشغيل الوكيل المدعومة بجلسة (مثل استدعاءات الأدوات المباشرة)، تعود الأداة إلى الإنشاء المضمّن وتعيد مسار الوسائط النهائي في الدورة نفسها. تُحفَظ ملفات الفيديو المُنشأة ضمن تخزين الوسائط الذي يديره OpenClaw عندما يعيد الموفّر البيانات الثنائية. الحد الافتراضي هو 16 ميغابايت (حد وسائط الفيديو المشترك)؛ ويرفعه agents.defaults.mediaMaxMb لعمليات التصيير الأكبر. عندما يعيد الموفّر أيضًا عنوان URL مستضافًا للمخرجات، يرسل OpenClaw عنوان URL هذا بدلًا من إفشال المهمة إذا رفض التخزين المحلي ملفًا يتجاوز الحجم المسموح.

دورة حياة المهمة

تحقق من الحالة عبر CLI:

الموفّرون المدعومون

تقبل بعض الجهات الموفّرة متغيرات بيئة إضافية أو بديلة لمفاتيح API. راجع صفحات الموفّرين الفردية للاطلاع على التفاصيل. شغّل video_generate action=list لفحص الموفّرين والنماذج وأوضاع التشغيل المتاحة أثناء التشغيل.

مصفوفة الإمكانات

عقد الأوضاع الصريح الذي يستخدمه video_generate واختبارات العقود والفحص المباشر المشترك:

معاملات الأداة

مطلوبة

string
مطلوب
وصف نصي للفيديو المراد إنشاؤه. مطلوب عند action: "generate".

مدخلات المحتوى

string
صورة مرجعية واحدة (مسار أو عنوان URL).
string[]
صور مرجعية متعددة (حتى 9).
string[]
تلميحات اختيارية للأدوار حسب الموضع، موازية لقائمة الصور المجمعة. القيم القياسية: first_frame، وlast_frame، وreference_image.
string
فيديو مرجعي واحد (مسار أو عنوان URL).
string[]
مقاطع فيديو مرجعية متعددة (حتى 4).
string[]
تلميحات اختيارية للأدوار حسب الموضع، موازية لقائمة مقاطع الفيديو المجمعة. القيمة القياسية: reference_video.
string
مقطع صوتي مرجعي واحد (مسار أو عنوان URL). يُستخدم للموسيقى الخلفية أو كمرجع صوتي عندما يدعم الموفّر مدخلات الصوت.
string[]
مقاطع صوتية مرجعية متعددة (حتى 3).
string[]
تلميحات اختيارية للأدوار حسب الموضع، موازية لقائمة المقاطع الصوتية المجمعة. القيمة القياسية: reference_audio.
تُمرَّر تلميحات الأدوار إلى الموفّر كما هي. تأتي القيم القياسية من اتحاد VideoGenerationAssetRole، لكن قد تقبل الموفّرات سلاسل أدوار إضافية. يجب ألا تحتوي مصفوفات *Roles على إدخالات أكثر من القائمة المرجعية المقابلة؛ إذ تؤدي أخطاء الزيادة أو النقصان بمقدار واحد إلى فشل مصحوب بخطأ واضح. استخدم سلسلة فارغة لترك خانة دون تعيين. بالنسبة إلى xAI، عيّن دور كل صورة إلى reference_image لاستخدام وضع التوليد reference_images؛ احذف الدور أو استخدم first_frame لتحويل صورة واحدة إلى فيديو.

عناصر التحكم في النمط

string
تلميح لنسبة العرض إلى الارتفاع مثل 1:1، أو 16:9، أو 9:16، أو adaptive، أو قيمة خاصة بالموفّر. يطبّع OpenClaw القيم غير المدعومة أو يتجاهلها بحسب الموفّر.
string
تلميح للدقة مثل 360P، أو 480P، أو 540P، أو 720P، أو 768P، أو 1080P، أو 4K، أو قيمة خاصة بالموفّر. يطبّع OpenClaw القيم غير المدعومة أو يتجاهلها بحسب الموفّر.
number
المدة المستهدفة بالثواني (مقربة إلى أقرب قيمة يدعمها الموفّر).
string
تلميح للحجم عندما يدعمه الموفّر.
boolean
تمكين الصوت المولّد في المخرجات عند دعمه. يختلف عن audioRef* (المدخلات).
boolean
تبديل العلامة المائية للموفّر عند دعمها.
adaptive قيمة إشارة خاصة بالموفّر: تُمرَّر كما هي إلى الموفّرين الذين يعلنون adaptive ضمن إمكاناتهم (على سبيل المثال، يستخدمها BytePlus Seedance لاكتشاف النسبة تلقائيًا من أبعاد الصورة المدخلة). تعرض الموفّرات التي لا تعلن دعمها القيمة عبر details.ignoredOverrides في نتيجة الأداة، بحيث يكون إسقاطها ظاهرًا.

متقدم

"generate" | "status" | "list"
افتراضي:"generate"
يعيد "status" مهمة الجلسة الحالية؛ ويفحص "list" الموفّرين.
string
تجاوز الموفّر/النموذج (مثل runway/gen4.5).
string
تلميح لاسم ملف المخرجات.
number
مهلة اختيارية لعملية الموفّر بالمللي ثانية. عند حذفها، يستخدم OpenClaw القيمة agents.defaults.videoGenerationModel.timeoutMs إذا كانت مضبوطة، وإلا يستخدم القيمة الافتراضية التي حددها مؤلف Plugin للموفّر عند توفرها.
object
خيارات خاصة بالموفّر في صورة كائن JSON (مثل {"seed": 42, "draft": true}). تتحقق الموفّرات التي تعلن مخططًا ذا أنواع محددة من المفاتيح والأنواع؛ وتتجاوز المفاتيح المجهولة أو حالات عدم التطابق المرشح أثناء الرجوع الاحتياطي. تتلقى الموفّرات التي لا تعلن مخططًا الخيارات كما هي. شغّل video_generate action=list لمعرفة ما يقبله كل موفّر.
لا تدعم جميع الموفّرات جميع المعلمات. يطبّع OpenClaw المدة إلى أقرب قيمة يدعمها الموفّر، ويعيد تعيين تلميحات الأبعاد المحوّلة، مثل تحويل الحجم إلى نسبة العرض إلى الارتفاع، عندما يوفّر موفّر الرجوع الاحتياطي واجهة تحكم مختلفة. تُتجاهل التجاوزات غير المدعومة فعليًا على أساس بذل أفضل جهد، ويُبلّغ عنها كتحذيرات في نتيجة الأداة. تفشل حدود الإمكانات الصارمة (مثل العدد الزائد من المدخلات المرجعية) قبل الإرسال. تعرض نتائج الأداة الإعدادات المطبقة؛ ويسجل details.normalization أي تحويل من القيمة المطلوبة إلى القيمة المطبقة.
تحدد المدخلات المرجعية وضع وقت التشغيل:
  • عدم وجود وسائط مرجعية -> generate
  • وجود أي مرجع صوري -> imageToVideo
  • وجود أي مرجع فيديو -> videoToVideo
  • مدخلات الصوت المرجعية لا تغيّر الوضع المحسوم؛ بل تُطبّق فوق أي وضع تحدده مراجع الصور/الفيديو، ولا تعمل إلا مع الموفّرين الذين يعلنون maxInputAudios.
لا يُعد خلط مراجع الصور والفيديو واجهة إمكانات مشتركة مستقرة. يُفضّل استخدام نوع مرجعي واحد لكل طلب.

الرجوع الاحتياطي والخيارات ذات الأنواع المحددة

تُطبّق بعض عمليات التحقق من الإمكانات في طبقة الرجوع الاحتياطي بدلًا من حدود الأداة، لذا يمكن لطلب يتجاوز حدود الموفّر الأساسي أن يعمل مع موفّر رجوع احتياطي قادر:
  • يُتجاوز المرشح النشط الذي لا يعلن maxInputAudios (أو يعلن 0) عندما يحتوي الطلب على مراجع صوتية؛ ثم تُجرّب المرشح التالي. ينطبق التحقق نفسه على أعداد مراجع الصور والفيديو مقارنةً بـ maxInputImages/maxInputVideos.
  • إذا كانت قيمة maxDurationSeconds للمرشح النشط أقل من durationSeconds المطلوبة، من دون قائمة supportedDurationSeconds معلنة، فيُتجاوز.
  • إذا كان الطلب يحتوي على providerOptions وكان المرشح النشط يعلن صراحةً مخطط providerOptions ذا أنواع محددة، فيُتجاوز إذا لم تكن المفاتيح المقدمة موجودة في المخطط أو لم تتطابق أنواع القيم. تتلقى الموفّرات التي لا تعلن مخططًا الخيارات كما هي (تمرير مباشر متوافق مع الإصدارات السابقة). يمكن للموفّر رفض جميع خيارات الموفّر من خلال إعلان مخطط فارغ (capabilities.providerOptions: {})، ما يؤدي إلى التجاوز نفسه الناتج عن عدم تطابق النوع.
يُسجّل سبب التجاوز الأول في الطلب بالمستوى warn حتى يرى المشغّلون متى جرى تجاوز موفّرهم الأساسي؛ وتُسجّل التجاوزات اللاحقة بالمستوى debug لإبقاء سلاسل الرجوع الاحتياطي الطويلة هادئة. إذا جرى تجاوز كل المرشحين، يتضمن الخطأ المجمّع سبب تجاوز كل واحد منهم.

الإجراءات

اختيار النموذج

يحدد OpenClaw النموذج بالترتيب التالي:
  1. معلمة الأداة model - إذا حدد الوكيل واحدة في الاستدعاء.
  2. videoGenerationModel.primary من الإعدادات.
  3. videoGenerationModel.fallbacks بالترتيب.
  4. الاكتشاف التلقائي - الموفّرون الذين لديهم مصادقة صالحة، بدءًا من الموفّر الافتراضي الحالي، ثم بقية الموفّرين بالترتيب الأبجدي.
إذا فشل موفّر، تُجرّب المرشح التالي تلقائيًا. وإذا فشل جميع المرشحين، يتضمن الخطأ تفاصيل كل محاولة. عيّن agents.defaults.mediaGenerationAutoProviderFallback: false لاستخدام إدخالات model وprimary وfallbacks الصريحة فقط.

ملاحظات الموفّرين

يستخدم نقطة نهاية DashScope / Model Studio غير المتزامنة. يجب أن تكون الصور ومقاطع الفيديو المرجعية عناوين URL بعيدة من نوع http(s).
معرّف الموفّر: byteplus.النماذج: seedance-1-0-pro-250528 (الافتراضي)، seedance-1-0-pro-t2v-250528، وseedance-1-0-pro-fast-251015، وseedance-1-0-lite-t2v-250428، وseedance-1-0-lite-i2v-250428.لا تقبل نماذج T2V (*-t2v-*) مدخلات الصور؛ بينما تدعم نماذج I2V ونماذج *-pro-* العامة صورة مرجعية واحدة (الإطار الأول). مرّر الصورة حسب الموضع أو عيّن role: "first_frame". تُحوّل معرّفات نماذج T2V تلقائيًا إلى إصدار I2V المقابل عند تقديم صورة.مفاتيح providerOptions المدعومة: seed (عدد)، وdraft (قيمة منطقية - تفرض 480p)، وcamera_fixed (قيمة منطقية).
يتطلب Plugin ‏@openclaw/byteplus-modelark (خارجي وغير مضمّن). معرّف الموفّر: byteplus-seedance15. النموذج: seedance-1-5-pro-251215.يستخدم واجهة API الموحدة content[]. يدعم صورتين مدخلتين كحد أقصى (first_frame + last_frame). يجب أن تكون جميع المدخلات عناوين URL بعيدة من نوع https://. عيّن role: "first_frame" / "last_frame" لكل صورة، أو مرّر الصور حسب الموضع.تكتشف aspectRatio: "adaptive" النسبة تلقائيًا من الصورة المدخلة. تُربط audio: true بـ generate_audio. وتُمرّر providerOptions.seed (عدد).
يتطلب Plugin ‏@openclaw/byteplus-modelark (خارجي وغير مضمّن). معرّف الموفّر: byteplus-seedance2. النماذج: dreamina-seedance-2-0-260128، وdreamina-seedance-2-0-fast-260128.يستخدم واجهة API الموحدة content[]. يدعم ما يصل إلى 9 صور مرجعية، و3 مقاطع فيديو مرجعية، و3 مقاطع صوتية مرجعية. يجب أن تكون جميع المدخلات عناوين URL بعيدة من نوع https://. عيّن role لكل أصل؛ القيم المدعومة: "first_frame"، و"last_frame"، و"reference_image"، و"reference_video"، و"reference_audio".تكتشف aspectRatio: "adaptive" النسبة تلقائيًا من الصورة المدخلة. تُربط audio: true بـ generate_audio. وتُمرّر providerOptions.seed (عدد).
تنفيذ محلي أو سحابي قائم على سير العمل. يدعم تحويل النص إلى فيديو وتحويل الصورة إلى فيديو عبر الرسم البياني المُهيأ.
يستخدم تدفقًا مدعومًا بقائمة انتظار للمهام طويلة التشغيل. ينتظر OpenClaw مدة تصل إلى 20 دقيقة افتراضيًا قبل اعتبار مهمة قائمة انتظار fal قيد التنفيذ قد انتهت مهلتها. تقبل معظم نماذج الفيديو في fal مرجع صورة واحدًا. تقبل نماذج Seedance 2.0 لتحويل المراجع إلى فيديو ما يصل إلى 9 صور و3 مقاطع فيديو و3 مراجع صوتية، بحد أقصى يبلغ 12 ملفًا مرجعيًا إجمالًا.
يدعم مرجع صورة واحدًا أو مرجع فيديو واحدًا. تُتجاهل طلبات الصوت المُولَّد مع تحذير في مسار Gemini API لأن واجهة API هذه ترفض المعامل generateAudio لتوليد فيديو Veo الحالي.
مرجع صورة واحد فقط. يقبل MiniMax الدقتين 768P و1080P؛ وتُطبَّع الطلبات مثل 720P إلى أقرب قيمة مدعومة قبل الإرسال.
لا يُمرَّر سوى تجاوز size. أما تجاوزات النمط الأخرى (aspectRatio وresolution وaudio وwatermark) فتُتجاهل مع تحذير.
يستخدم واجهة API غير المتزامنة /videos في OpenRouter. يرسل OpenClaw المهمة، ويستطلع polling_url، ثم ينزّل إما unsigned_urls أو نقطة نهاية محتوى المهمة الموثقة. يعلن الإعداد الافتراضي المضمّن google/veo-3.1-fast عن مدد تبلغ 4/6/8 ثوانٍ، ودقتي 720P/1080P، ونسبتي أبعاد 16:9/9:16.
يستخدم الواجهة الخلفية DashScope نفسها التي تستخدمها Alibaba. يجب أن تكون مُدخلات المراجع عناوين URL بعيدة من نوع http(s)؛ وتُرفض الملفات المحلية مسبقًا.
يدعم الملفات المحلية عبر معرّفات URI للبيانات. يتطلب تحويل الفيديو إلى فيديو runway/gen4_aleph. تتيح عمليات التشغيل النصية فقط نسبتي الأبعاد 16:9 و9:16.
مرجع صورة واحد فقط.
يستخدم https://www.vydra.ai/api/v1 مباشرةً لتجنب عمليات إعادة التوجيه التي تُسقط المصادقة. يُضمَّن veo3 لتحويل النص إلى فيديو فقط؛ ويتطلب kling عنوان URL بعيدًا لصورة.
يدعم النموذج الافتراضي grok-imagine-video تحويل النص إلى فيديو، وتحويل صورة إطار أول واحدة إلى فيديو، وما يصل إلى 7 مُدخلات reference_image عبر reference_images في xAI، ومسارات تحرير/تمديد الفيديو البعيد. تكون دقة التوليد الافتراضية 480P؛ ويرث تحويل صورة واحدة إلى فيديو نسبة أبعاد المصدر عند حذف aspectRatio. يرث تحرير/تمديد الفيديو أبعاد المُدخل ولا يقبل تجاوزات نسبة الأبعاد أو الدقة. يقبل التمديد مدة من 2 إلى 10 ثوانٍ.يقتصر grok-imagine-video-1.5 على تحويل الصورة إلى فيديو: قدّم صورة واحدة بالضبط. وهو يدعم مدة من 1 إلى 15 ثانية ودقات 480P أو 720P أو 1080P، مع اعتماد 480P افتراضيًا؛ احذف aspectRatio لوراثة نسبة أبعاد صورة المصدر. تخضع معرّفات المعاينة والمعرّفات المؤرخة للإصدار 1.5 للتحقق نفسه وتُمرَّر دون تغيير.

أوضاع إمكانات المزوّد

يدعم العقد المشترك لتوليد الفيديو إمكانات خاصة بكل وضع بدلًا من الاقتصار على حدود إجمالية مسطحة. ينبغي لتنفيذات المزوّدين الجديدة تفضيل كتل الأوضاع الصريحة:
الحقول الإجمالية المسطحة مثل maxInputImages وmaxInputVideos ليست كافية للإعلان عن دعم أوضاع التحويل. ينبغي للمزوّدين التصريح صراحةً عن generate وimageToVideo وvideoToVideo حتى تتمكن الاختبارات الحية واختبارات العقد وأداة video_generate المشتركة من التحقق من دعم الأوضاع بصورة حتمية. عندما يدعم نموذج واحد لدى مزوّد نطاقًا أوسع من مُدخلات المراجع مقارنةً ببقية النماذج، استخدم maxInputImagesByModel أو maxInputVideosByModel أو maxInputAudiosByModel بدلًا من رفع الحد على مستوى الوضع بالكامل.

الاختبارات الحية

تغطية حية اختيارية للمزوّدين المشتركين المضمّنين:
مغلّف المستودع:
يستخدم ملف الاختبار الحي هذا متغيرات بيئة المزوّد المُصدَّرة مسبقًا قبل ملفات تعريف المصادقة المخزنة افتراضيًا، ويشغّل اختبارًا تمهيديًا آمنًا للإصدار افتراضيًا:
  • generate لكل مزوّد غير FAL في عملية الفحص.
  • موجّه كركند مدته ثانية واحدة.
  • حد زمني لكل عملية مزوّد من OPENCLAW_LIVE_VIDEO_GENERATION_TIMEOUT_MS (قيمته الافتراضية 180000).
يكون FAL اختياريًا لأن زمن انتقال قائمة الانتظار لدى المزوّد قد يهيمن على وقت الإصدار:
عيّن OPENCLAW_LIVE_VIDEO_GENERATION_FULL_MODES=1 لتشغيل أوضاع التحويل المعلنة أيضًا، والتي يمكن لعملية الفحص المشتركة تنفيذها بأمان باستخدام وسائط محلية:
  • imageToVideo عندما تكون capabilities.imageToVideo.enabled.
  • videoToVideo عندما تكون capabilities.videoToVideo.enabled ويقبل المزوّد/النموذج مُدخل فيديو محليًا مدعومًا بمخزن مؤقت ضمن عملية الفحص المشتركة.
حاليًا، يغطي مسار الاختبار الحي المشترك videoToVideo المزوّد runway فقط عند اختيار runway/gen4_aleph.

الإعداد

عيّن نموذج توليد الفيديو الافتراضي في إعداد OpenClaw لديك:
أو عبر CLI:

ذو صلة