الانتقال إلى المحتوى الرئيسي

توليد الفيديو

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

البدء السريع

  1. اضبط مفتاح API لأي مزوّد مدعوم:
export GEMINI_API_KEY="your-key"
  1. اختياريًا، ثبّت نموذجًا افتراضيًا:
openclaw config set agents.defaults.videoGenerationModel.primary "google/veo-3.1-fast-generate-preview"
  1. اطلب من الوكيل:
أنشئ فيديو سينمائيًا مدته 5 ثوانٍ لسرطان بحر ودود يتزلج على الأمواج وقت الغروب.
يستدعي الوكيل video_generate تلقائيًا. لا حاجة إلى قائمة سماح للأدوات.

ماذا يحدث عندما تنشئ فيديو

توليد الفيديو غير متزامن. عندما يستدعي الوكيل video_generate داخل جلسة:
  1. يرسل OpenClaw الطلب إلى المزوّد ويعيد فورًا معرّف مهمة.
  2. يعالج المزوّد المهمة في الخلفية (عادةً من 30 ثانية إلى 5 دقائق حسب المزوّد والدقة).
  3. عندما يصبح الفيديو جاهزًا، يوقظ OpenClaw الجلسة نفسها بحدث إكمال داخلي.
  4. ينشر الوكيل الفيديو النهائي مرة أخرى في المحادثة الأصلية.
أثناء وجود مهمة قيد التنفيذ، تؤدي استدعاءات video_generate المكررة في الجلسة نفسها إلى إرجاع حالة المهمة الحالية بدلًا من بدء عملية توليد أخرى. استخدم openclaw tasks list أو openclaw tasks show <taskId> للتحقق من التقدم من CLI. خارج تشغيلات الوكيل المستندة إلى الجلسات (على سبيل المثال، الاستدعاءات المباشرة للأدوات)، تعود الأداة إلى التوليد المضمّن وتعيد مسار الوسائط النهائي في الدور نفسه.

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

يمر كل طلب video_generate بأربع حالات:
  1. queued — تم إنشاء المهمة وهي بانتظار أن يقبلها المزوّد.
  2. running — يعالجها المزوّد (عادةً من 30 ثانية إلى 5 دقائق حسب المزوّد والدقة).
  3. succeeded — أصبح الفيديو جاهزًا؛ يستيقظ الوكيل وينشره في المحادثة.
  4. failed — خطأ من المزوّد أو مهلة زمنية؛ يستيقظ الوكيل مع تفاصيل الخطأ.
تحقق من الحالة من CLI:
openclaw tasks list
openclaw tasks show <taskId>
openclaw tasks cancel <taskId>
منع التكرار: إذا كانت هناك بالفعل مهمة فيديو في الحالة queued أو running للجلسة الحالية، فإن video_generate يعيد حالة المهمة الموجودة بدلًا من بدء مهمة جديدة. استخدم action: "status" للتحقق صراحةً من دون تشغيل توليد جديد.

المزوّدون المدعومون

Providerالنموذج الافتراضينصصورة مرجعيةفيديو مرجعيمفتاح API
Alibabawan2.6-t2vنعمنعم (URL بعيد)نعم (URL بعيد)MODELSTUDIO_API_KEY
BytePlusseedance-1-0-lite-t2v-250428نعمصورة واحدةلاBYTEPLUS_API_KEY
ComfyUIworkflowنعمصورة واحدةلاCOMFY_API_KEY أو COMFY_CLOUD_API_KEY
falfal-ai/minimax/video-01-liveنعمصورة واحدةلاFAL_KEY
Googleveo-3.1-fast-generate-previewنعمصورة واحدةفيديو واحدGEMINI_API_KEY
MiniMaxMiniMax-Hailuo-2.3نعمصورة واحدةلاMINIMAX_API_KEY
OpenAIsora-2نعمصورة واحدةفيديو واحدOPENAI_API_KEY
Qwenwan2.6-t2vنعمنعم (URL بعيد)نعم (URL بعيد)QWEN_API_KEY
Runwaygen4.5نعمصورة واحدةفيديو واحدRUNWAYML_API_SECRET
TogetherWan-AI/Wan2.2-T2V-A14Bنعمصورة واحدةلاTOGETHER_API_KEY
Vydraveo3نعمصورة واحدة (kling)لاVYDRA_API_KEY
xAIgrok-imagine-videoنعمصورة واحدةفيديو واحدXAI_API_KEY
تقبل بعض المزوّدات متغيرات بيئة إضافية أو بديلة لمفاتيح API. راجع صفحات المزوّد الفردية للاطلاع على التفاصيل. شغّل video_generate action=list لفحص المزوّدين والنماذج وأوضاع وقت التشغيل المتاحة أثناء التشغيل.

مصفوفة القدرات المعلنة

هذا هو عقد الأوضاع الصريح الذي تستخدمه video_generate واختبارات العقود والفحص المباشر المشترك.
ProvidergenerateimageToVideovideoToVideoمسارات الاختبار المباشر المشتركة حاليًا
Alibabaنعمنعمنعمgenerate وimageToVideo؛ يتم تخطي videoToVideo لأن هذا المزوّد يحتاج إلى URLات فيديو بعيدة من نوع http(s)
BytePlusنعمنعملاgenerate وimageToVideo
ComfyUIنعمنعملاغير موجود في الفحص المشترك؛ التغطية الخاصة بسير العمل موجودة مع اختبارات Comfy
falنعمنعملاgenerate وimageToVideo
Googleنعمنعمنعمgenerate وimageToVideo؛ يتم تخطي videoToVideo المشترك لأن فحص Gemini/Veo الحالي المعتمد على المخزن المؤقت لا يقبل هذا الإدخال
MiniMaxنعمنعملاgenerate وimageToVideo
OpenAIنعمنعمنعمgenerate وimageToVideo؛ يتم تخطي videoToVideo المشترك لأن هذا المسار التنظيمي/المدخلي يحتاج حاليًا إلى وصول inpaint/remix من جهة المزوّد
Qwenنعمنعمنعمgenerate وimageToVideo؛ يتم تخطي videoToVideo لأن هذا المزوّد يحتاج إلى URLات فيديو بعيدة من نوع http(s)
Runwayنعمنعمنعمgenerate وimageToVideo؛ يعمل videoToVideo فقط عندما يكون النموذج المحدد هو runway/gen4_aleph
Togetherنعمنعملاgenerate وimageToVideo
Vydraنعمنعملاgenerate؛ يتم تخطي imageToVideo المشترك لأن veo3 المضمّن نص إلى فيديو فقط وkling المضمّن يتطلب URL صورة بعيدًا
xAIنعمنعمنعمgenerate وimageToVideo؛ يتم تخطي videoToVideo لأن هذا المزوّد يحتاج حاليًا إلى URL بعيد لـ MP4

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

مطلوبة

المعاملالنوعالوصف
promptstringوصف نصي للفيديو المراد إنشاؤه (مطلوب لـ action: "generate")

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

المعاملالنوعالوصف
imagestringصورة مرجعية واحدة (مسار أو URL)
imagesstring[]عدة صور مرجعية (حتى 5)
videostringفيديو مرجعي واحد (مسار أو URL)
videosstring[]عدة مقاطع فيديو مرجعية (حتى 4)

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

المعاملالنوعالوصف
aspectRatiostring1:1 أو 2:3 أو 3:2 أو 3:4 أو 4:3 أو 4:5 أو 5:4 أو 9:16 أو 16:9 أو 21:9
resolutionstring480P أو 720P أو 768P أو 1080P
durationSecondsnumberالمدة المستهدفة بالثواني (مقربة إلى أقرب قيمة يدعمها المزوّد)
sizestringتلميح للحجم عندما يدعمه المزوّد
audiobooleanتفعيل الصوت المُولَّد عندما يكون مدعومًا
watermarkbooleanتبديل العلامة المائية الخاصة بالمزوّد عندما تكون مدعومة

متقدمة

المعاملالنوعالوصف
actionstring"generate" (الافتراضي) أو "status" أو "list"
modelstringتجاوز مزوّد/نموذج (مثل runway/gen4.5)
filenamestringتلميح لاسم ملف الإخراج
لا يدعم كل المزوّدين جميع المعاملات. يقوم OpenClaw بالفعل بتطبيع المدة إلى أقرب قيمة يدعمها المزوّد، كما يعيد تعيين تلميحات الهندسة المترجمة مثل الحجم إلى نسبة الأبعاد عندما يكشف مزوّد رجوع احتياطي عن سطح تحكم مختلف. يتم تجاهل التجاوزات غير المدعومة حقًا على أساس أفضل جهد ويُبلّغ عنها كتحذيرات في نتيجة الأداة. أما حدود القدرات الصارمة (مثل كثرة المدخلات المرجعية) فتفشل قبل الإرسال. تبلّغ نتائج الأداة عن الإعدادات المطبقة. عندما يعيد OpenClaw تعيين المدة أو الهندسة أثناء الرجوع الاحتياطي بين المزوّدين، فإن القيم المعادة لـ durationSeconds وsize وaspectRatio وresolution تعكس ما تم إرساله، بينما تسجل details.normalization الترجمة من المطلوب إلى المطبق. تحدد المدخلات المرجعية أيضًا وضع وقت التشغيل:
  • لا توجد وسائط مرجعية: generate
  • أي صورة مرجعية: imageToVideo
  • أي فيديو مرجعي: videoToVideo
ليست المراجع المختلطة للصور والفيديوهات سطح قدرة مشتركة مستقرة. ويُفضّل استخدام نوع مرجعي واحد لكل طلب.

الإجراءات

  • generate (الافتراضي) — أنشئ فيديو من المطالبة المقدمة والمدخلات المرجعية الاختيارية.
  • status — تحقق من حالة مهمة الفيديو قيد التنفيذ للجلسة الحالية من دون بدء عملية توليد أخرى.
  • list — اعرض المزوّدين والنماذج وإمكاناتهم المتاحة.

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

عند إنشاء فيديو، يحل OpenClaw النموذج بهذا الترتيب:
  1. معامل الأداة model — إذا حدده الوكيل في الاستدعاء.
  2. videoGenerationModel.primary — من الإعدادات.
  3. videoGenerationModel.fallbacks — تُجرّب بالترتيب.
  4. الاكتشاف التلقائي — يستخدم المزوّدين ذوي المصادقة الصالحة، بدءًا من المزوّد الافتراضي الحالي، ثم بقية المزوّدين بالترتيب الأبجدي.
إذا فشل مزوّد ما، فسيُجرَّب المرشح التالي تلقائيًا. وإذا فشل كل المرشحين، فسيتضمن الخطأ تفاصيل كل محاولة. اضبط agents.defaults.mediaGenerationAutoProviderFallback: false إذا كنت تريد أن يستخدم توليد الفيديو فقط إدخالات model وprimary وfallbacks الصريحة.
{
  agents: {
    defaults: {
      videoGenerationModel: {
        primary: "google/veo-3.1-fast-generate-preview",
        fallbacks: ["runway/gen4.5", "qwen/wan2.6-t2v"],
      },
    },
  },
}

ملاحظات حول المزوّدين

Providerالملاحظات
Alibabaيستخدم نقطة نهاية DashScope/Model Studio غير المتزامنة. يجب أن تكون الصور ومقاطع الفيديو المرجعية URLات بعيدة من نوع http(s).
BytePlusصورة مرجعية واحدة فقط.
ComfyUIتنفيذ محلي أو سحابي يعتمد على workflow. يدعم النص إلى فيديو والصورة إلى فيديو عبر الرسم البياني المهيأ.
falيستخدم تدفقًا مدعومًا بالطوابير للمهام طويلة التشغيل. صورة مرجعية واحدة فقط.
Googleيستخدم Gemini/Veo. يدعم صورة واحدة أو فيديو مرجعي واحد.
MiniMaxصورة مرجعية واحدة فقط.
OpenAIيتم تمرير تجاوز size فقط. أما تجاوزات النمط الأخرى (aspectRatio وresolution وaudio وwatermark) فيتم تجاهلها مع تحذير.
Qwenيستخدم الواجهة الخلفية DashScope نفسها مثل Alibaba. يجب أن تكون المدخلات المرجعية URLات بعيدة من نوع http(s)؛ وتُرفض الملفات المحلية مسبقًا.
Runwayيدعم الملفات المحلية عبر data URI. يتطلب الفيديو إلى فيديو runway/gen4_aleph. تعرض التشغيلات النصية فقط نسبتي الأبعاد 16:9 و9:16.
Togetherصورة مرجعية واحدة فقط.
Vydraيستخدم https://www.vydra.ai/api/v1 مباشرةً لتجنب إعادة التوجيه التي تُسقط المصادقة. veo3 المضمّن نص إلى فيديو فقط؛ وkling يتطلب URL صورة بعيدًا.
xAIيدعم النص إلى فيديو، والصورة إلى فيديو، وتدفقات تحرير/تمديد الفيديو البعيد.

أوضاع قدرات المزوّد

يسمح عقد توليد الفيديو المشترك الآن للمزوّدين بالإعلان عن قدرات خاصة بكل وضع بدلًا من مجرد حدود مجمعة مسطحة. يجب أن تفضّل تطبيقات المزوّدات الجديدة كتل الأوضاع الصريحة:
capabilities: {
  generate: {
    maxVideos: 1,
    maxDurationSeconds: 10,
    supportsResolution: true,
  },
  imageToVideo: {
    enabled: true,
    maxVideos: 1,
    maxInputImages: 1,
    maxDurationSeconds: 5,
  },
  videoToVideo: {
    enabled: true,
    maxVideos: 1,
    maxInputVideos: 1,
    maxDurationSeconds: 5,
  },
}
لا تكفي الحقول المجمعة المسطحة مثل maxInputImages وmaxInputVideos للإعلان عن دعم أوضاع التحويل. ينبغي على المزوّدين الإعلان عن generate وimageToVideo وvideoToVideo صراحةً حتى تتمكن الاختبارات المباشرة واختبارات العقود وأداة video_generate المشتركة من التحقق من دعم الأوضاع بشكل حتمي.

الاختبارات المباشرة

تغطية مباشرة اختيارية للمزوّدين المضمّنين المشتركين:
OPENCLAW_LIVE_TEST=1 pnpm test:live -- extensions/video-generation-providers.live.test.ts
غلاف المستودع:
pnpm test:live:media video
يحمّل هذا الملف المباشر متغيرات بيئة المزوّدات المفقودة من ~/.profile، ويفضّل مفاتيح API المباشرة/البيئية على ملفات تعريف المصادقة المخزنة افتراضيًا، ويشغّل الأوضاع المعلنة التي يمكنه اختبارها بأمان باستخدام وسائط محلية:
  • generate لكل مزوّد في الفحص
  • imageToVideo عندما تكون capabilities.imageToVideo.enabled
  • videoToVideo عندما تكون capabilities.videoToVideo.enabled ويقبل المزوّد/النموذج إدخال فيديو محليًا معتمدًا على المخزن المؤقت ضمن الفحص المشترك
يغطي مسار videoToVideo المباشر المشترك اليوم:
  • runway فقط عندما تحدد runway/gen4_aleph

الإعدادات

اضبط نموذج توليد الفيديو الافتراضي في إعدادات OpenClaw:
{
  agents: {
    defaults: {
      videoGenerationModel: {
        primary: "qwen/wan2.6-t2v",
        fallbacks: ["qwen/wan2.6-r2v-flash"],
      },
    },
  },
}
أو عبر CLI:
openclaw config set agents.defaults.videoGenerationModel.primary "qwen/wan2.6-t2v"

ذو صلة