---
read_when:
    - تولید ویدئو از طریق عامل
    - پیکربندی ارائه‌دهندگان و مدل‌های تولید ویدئو
    - درک پارامترهای ابزار video_generate
sidebarTitle: Video generation
summary: با استفاده از video_generate و بر پایهٔ ارجاع‌های متنی، تصویری یا ویدیویی، از طریق ۱۶ بک‌اند ارائه‌دهنده ویدیو تولید کنید
title: تولید ویدئو
x-i18n:
    generated_at: "2026-07-12T11:00:54Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    provider: openai
    source_hash: dd34232a3b1a340fcd7dd51a8c5517f976b2300d86a87b56b86a35102ac2d502
    source_path: tools/video-generation.md
    workflow: 16
---

عامل‌های OpenClaw از طریق `video_generate` و بر اساس درخواست‌های متنی، تصاویر مرجع یا
ویدیوهای موجود، ویدیو تولید می‌کنند. شانزده بک‌اند ارائه‌دهنده
پشتیبانی می‌شوند؛ عامل بر اساس پیکربندی و کلیدهای API
موجود، به‌طور خودکار گزینه مناسب را انتخاب می‌کند.

<Note>
`video_generate` تنها زمانی نمایش داده می‌شود که دست‌کم یک ارائه‌دهنده تولید ویدیو
در دسترس باشد. اگر در ابزارهای عامل شما وجود ندارد، یک کلید API ارائه‌دهنده تنظیم کنید یا
`agents.defaults.videoGenerationModel` را پیکربندی کنید.
</Note>

`video_generate` سه حالت زمان اجرا دارد که بر اساس ورودی‌های مرجع
در فراخوانی تعیین می‌شوند:

- `generate` - بدون رسانه مرجع (متن به ویدیو).
- `imageToVideo` - یک یا چند تصویر مرجع.
- `videoToVideo` - یک یا چند ویدیوی مرجع.

ارائه‌دهندگان می‌توانند از هر زیرمجموعه‌ای از این حالت‌ها پشتیبانی کنند. ابزار پیش از ارسال،
حالت فعال را اعتبارسنجی می‌کند و حالت‌های پشتیبانی‌شده را در `action=list` گزارش می‌دهد.

## شروع سریع

<Steps>
  <Step title="پیکربندی احراز هویت">
    برای هر ارائه‌دهنده پشتیبانی‌شده یک کلید API تنظیم کنید:

    ```bash
    export GEMINI_API_KEY="your-key"
    ```

  </Step>
  <Step title="انتخاب مدل پیش‌فرض (اختیاری)">
    ```bash
    openclaw config set agents.defaults.videoGenerationModel.primary "google/veo-3.1-fast-generate-preview"
    ```
  </Step>
  <Step title="درخواست از عامل">
    > یک ویدیوی سینمایی ۵ ثانیه‌ای از یک شاه‌میگوی دوست‌داشتنی در حال موج‌سواری هنگام غروب تولید کن.

    عامل به‌طور خودکار `video_generate` را فراخوانی می‌کند. نیازی به
    افزودن ابزار به فهرست مجاز نیست.

  </Step>
</Steps>

## سازوکار تولید ناهمگام

تولید ویدیو ناهمگام است:

1. OpenClaw درخواست را به ارائه‌دهنده ارسال می‌کند و بلافاصله یک شناسه وظیفه برمی‌گرداند.
2. ارائه‌دهنده کار را در پس‌زمینه پردازش می‌کند (معمولاً بسته به ارائه‌دهنده و وضوح، از ۳۰ ثانیه تا چند دقیقه؛ ارائه‌دهندگان کندی که از صف استفاده می‌کنند ممکن است تا مهلت زمانی پیکربندی‌شده اجرا شوند).
3. وقتی ویدیو آماده شد، OpenClaw همان نشست را با یک رویداد تکمیل داخلی بیدار می‌کند.
4. عامل آن را از طریق حالت عادی پاسخ قابل‌مشاهده نشست گزارش می‌کند:
   پاسخ نهایی خودکار، یا `message(action="send")` هنگامی که نشست به
   ابزار پیام نیاز دارد. اگر نشست درخواست‌کننده غیرفعال باشد، یا بیدارسازی آن ناموفق شود و
   رسانه تولیدشده همچنان در پاسخ تکمیل موجود نباشد، OpenClaw
   یک پاسخ جایگزین مستقیم و هم‌توان همراه با رسانه ارسال می‌کند.

هنگامی که کاری در حال اجرا است، فراخوانی‌های تکراری `video_generate` در همان
نشست، به‌جای آغاز تولیدی دیگر، وضعیت فعلی وظیفه را برمی‌گردانند.
برای بررسی بدون راه‌اندازی تولید جدید، از `action: "status"` یا از
`openclaw tasks list` / `openclaw tasks show <lookup>` در
CLI استفاده کنید (به [وظایف پس‌زمینه](/fa/automation/tasks) مراجعه کنید).

خارج از اجرای عامل‌های متکی به نشست (برای مثال، فراخوانی مستقیم ابزار)،
ابزار از تولید درون‌خطی استفاده می‌کند و مسیر نهایی رسانه را
در همان نوبت برمی‌گرداند.

هنگامی که ارائه‌دهنده بایت‌ها را برمی‌گرداند، فایل‌های ویدیویی تولیدشده در فضای ذخیره‌سازی رسانه تحت مدیریت OpenClaw
ذخیره می‌شوند. سقف پیش‌فرض ۱۶ مگابایت است (محدودیت مشترک رسانه ویدیویی)؛
`agents.defaults.mediaMaxMb` این سقف را برای خروجی‌های بزرگ‌تر افزایش می‌دهد. اگر
ارائه‌دهنده یک نشانی اینترنتی میزبانی‌شده خروجی را نیز برگرداند و ماندگاری محلی
فایل بیش‌ازحد بزرگ را رد کند، OpenClaw به‌جای ناموفق‌کردن وظیفه، آن نشانی اینترنتی را تحویل می‌دهد.

### چرخه عمر وظیفه

| وضعیت      | معنا                                                                                                       |
| ----------- | ---------------------------------------------------------------------------------------------------------- |
| `queued`    | وظیفه ایجاد شده و منتظر پذیرش آن از سوی ارائه‌دهنده است.                                                   |
| `running`   | ارائه‌دهنده در حال پردازش است (معمولاً بسته به ارائه‌دهنده و وضوح، از ۳۰ ثانیه تا چند دقیقه).              |
| `succeeded` | ویدیو آماده است؛ عامل بیدار می‌شود و آن را در گفتگو ارسال می‌کند.                                          |
| `failed`    | خطای ارائه‌دهنده یا پایان مهلت زمانی؛ عامل با جزئیات خطا بیدار می‌شود.                                     |

وضعیت را از CLI بررسی کنید:

```bash
openclaw tasks list
openclaw tasks show <lookup>
openclaw tasks cancel <lookup>
```

## ارائه‌دهندگان پشتیبانی‌شده

| ارائه‌دهنده           | مدل پیش‌فرض                    | متن | مرجع تصویر                                                   | مرجع ویدیو                                             | احراز هویت                               |
| --------------------- | ------------------------------- | :--: | ------------------------------------------------------------ | ------------------------------------------------------ | ---------------------------------------- |
| Alibaba               | `wan2.6-t2v`                    |  ✓   | بله (نشانی اینترنتی راه‌دور)                                 | بله (نشانی اینترنتی راه‌دور)                           | `MODELSTUDIO_API_KEY`                    |
| BytePlus (1.0)        | `seedance-1-0-pro-250528`       |  ✓   | حداکثر ۲ تصویر (فقط مدل‌های I2V؛ فریم اول و آخر)             | -                                                      | `BYTEPLUS_API_KEY`                       |
| BytePlus Seedance 1.5 | `seedance-1-5-pro-251215`       |  ✓   | حداکثر ۲ تصویر (فریم اول و آخر از طریق نقش)                  | -                                                      | `BYTEPLUS_API_KEY`                       |
| BytePlus Seedance 2.0 | `dreamina-seedance-2-0-260128`  |  ✓   | حداکثر ۹ تصویر مرجع                                          | حداکثر ۳ ویدیو                                         | `BYTEPLUS_API_KEY`                       |
| ComfyUI               | `workflow`                      |  ✓   | ۱ تصویر                                                      | -                                                      | `COMFY_API_KEY` یا `COMFY_CLOUD_API_KEY` |
| DeepInfra             | `Pixverse/Pixverse-T2V`         |  ✓   | -                                                            | -                                                      | `DEEPINFRA_API_KEY`                      |
| fal                   | `fal-ai/minimax/video-01-live`  |  ✓   | ۱ تصویر؛ با تبدیل مرجع Seedance به ویدیو، حداکثر ۹ تصویر    | با تبدیل مرجع Seedance به ویدیو، حداکثر ۳ ویدیو       | `FAL_KEY`                                |
| Google                | `veo-3.1-fast-generate-preview` |  ✓   | ۱ تصویر                                                      | ۱ ویدیو                                                | `GEMINI_API_KEY`                         |
| MiniMax               | `MiniMax-Hailuo-2.3`            |  ✓   | ۱ تصویر                                                      | -                                                      | `MINIMAX_API_KEY` یا OAuth متعلق به MiniMax |
| OpenAI                | `sora-2`                        |  ✓   | ۱ تصویر                                                      | ۱ ویدیو                                                | `OPENAI_API_KEY`                         |
| OpenRouter            | `google/veo-3.1-fast`           |  ✓   | حداکثر ۴ تصویر (فریم اول/آخر یا مراجع)                       | -                                                      | `OPENROUTER_API_KEY`                     |
| Qwen                  | `wan2.6-t2v`                    |  ✓   | بله (نشانی اینترنتی راه‌دور)                                 | بله (نشانی اینترنتی راه‌دور)                           | `QWEN_API_KEY`                           |
| Runway                | `gen4.5`                        |  ✓   | ۱ تصویر                                                      | ۱ ویدیو                                                | `RUNWAYML_API_SECRET`                    |
| Together              | `Wan-AI/Wan2.2-T2V-A14B`        |  ✓   | فقط `Wan-AI/Wan2.2-I2V-A14B`                                 | -                                                      | `TOGETHER_API_KEY`                       |
| Vydra                 | `veo3`                          |  ✓   | ۱ تصویر (`kling`)                                            | -                                                      | `VYDRA_API_KEY`                          |
| xAI                   | `grok-imagine-video`            |  ✓   | کلاسیک: ۱ فریم نخست یا ۷ مرجع؛ ۱.۵: ۱ فریم                  | کلاسیک: ۱ ویدیو                                        | `XAI_API_KEY`                            |

برخی ارائه‌دهندگان متغیرهای محیطی کلید API اضافی یا جایگزین را می‌پذیرند. برای جزئیات به
[صفحه‌های هر ارائه‌دهنده](#related) مراجعه کنید.

برای بررسی ارائه‌دهندگان، مدل‌ها و حالت‌های زمان اجرای موجود در زمان اجرا،
`video_generate action=list` را اجرا کنید.

### ماتریس قابلیت‌ها

قرارداد صریح حالت که توسط `video_generate`، آزمون‌های قرارداد و
پویش زنده مشترک استفاده می‌شود:

| ارائه‌دهنده | `generate` | `imageToVideo` | `videoToVideo` | مسیرهای زنده مشترک امروز                                                                                                                            |
| ------------ | :--------: | :------------: | :------------: | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| Alibaba      |     ✓      |       ✓        |       ✓        | `generate`، `imageToVideo`؛ `videoToVideo` رد می‌شود، زیرا این ارائه‌دهنده به نشانی‌های اینترنتی راه‌دور ویدیو با `http(s)` نیاز دارد               |
| BytePlus     |     ✓      |       ✓        |       -        | `generate`، `imageToVideo`                                                                                                                          |
| ComfyUI      |     ✓      |       ✓        |       -        | در پویش مشترک نیست؛ پوشش ویژه گردش‌کار در آزمون‌های Comfy قرار دارد                                                                                 |
| DeepInfra    |     ✓      |       -        |       -        | `generate`؛ طرح‌واره‌های بومی ویدیوی DeepInfra در قرارداد Plugin از نوع متن به ویدیو هستند                                                         |
| fal          |     ✓      |       ✓        |       ✓        | `generate`، `imageToVideo`؛ `videoToVideo` فقط هنگام استفاده از تبدیل مرجع Seedance به ویدیو                                                        |
| Google       |     ✓      |       ✓        |       ✓        | `generate`، `imageToVideo`؛ `videoToVideo` مشترک رد می‌شود، زیرا پویش فعلی Gemini/Veo مبتنی بر بافر این ورودی را نمی‌پذیرد                          |
| MiniMax      |     ✓      |       ✓        |       -        | `generate`، `imageToVideo`                                                                                                                          |
| OpenAI       |     ✓      |       ✓        |       ✓        | `generate`، `imageToVideo`؛ `videoToVideo` مشترک رد می‌شود، زیرا این مسیر سازمان/ورودی در حال حاضر به دسترسی ویرایش ویدیو در سمت ارائه‌دهنده نیاز دارد |
| OpenRouter   |     ✓      |       ✓        |       -        | `generate`، `imageToVideo`                                                                                                                          |
| Qwen         |     ✓      |       ✓        |       ✓        | `generate`، `imageToVideo`؛ `videoToVideo` رد می‌شود، زیرا این ارائه‌دهنده به نشانی‌های اینترنتی راه‌دور ویدیو با `http(s)` نیاز دارد               |
| Runway       |     ✓      |       ✓        |       ✓        | `generate`، `imageToVideo`؛ `videoToVideo` فقط زمانی اجرا می‌شود که مدل انتخاب‌شده `runway/gen4_aleph` باشد                                        |
| Together     |     ✓      |       ✓        |       -        | `generate`، `imageToVideo`                                                                                                                          |
| Vydra        |     ✓      |       ✓        |       -        | `generate`؛ `imageToVideo` مشترک رد می‌شود، زیرا `veo3` همراه فقط متنی است و `kling` همراه به نشانی اینترنتی راه‌دور تصویر نیاز دارد                |
| xAI          |     ✓      |       ✓        |       ✓        | نسخه کلاسیک از همه حالت‌ها پشتیبانی می‌کند؛ Video 1.5 فقط تصویر به ویدیو است؛ ورودی راه‌دور MP4، `videoToVideo` را از پویش مشترک خارج نگه می‌دارد   |

## پارامترهای ابزار

### الزامی

<ParamField path="prompt" type="string" required>
  توضیح متنی ویدیویی که باید تولید شود. برای `action: "generate"` الزامی است.
</ParamField>

### ورودی‌های محتوا

<ParamField path="image" type="string">یک تصویر مرجع (مسیر یا URL).</ParamField>
<ParamField path="images" type="string[]">چند تصویر مرجع (حداکثر ۹ تصویر).</ParamField>
<ParamField path="imageRoles" type="string[]">
راهنمای اختیاری نقش برای هر موقعیت، متناظر با فهرست ترکیبی تصاویر.
مقادیر متعارف: `first_frame`، `last_frame`، `reference_image`.
</ParamField>
<ParamField path="video" type="string">یک ویدیوی مرجع (مسیر یا URL).</ParamField>
<ParamField path="videos" type="string[]">چند ویدیوی مرجع (حداکثر ۴ ویدیو).</ParamField>
<ParamField path="videoRoles" type="string[]">
راهنمای اختیاری نقش برای هر موقعیت، متناظر با فهرست ترکیبی ویدیوها.
مقدار متعارف: `reference_video`.
</ParamField>
<ParamField path="audioRef" type="string">
یک صدای مرجع (مسیر یا URL). هنگامی که ارائه‌دهنده از ورودی‌های صوتی
پشتیبانی کند، برای موسیقی پس‌زمینه یا مرجع صدا استفاده می‌شود.
</ParamField>
<ParamField path="audioRefs" type="string[]">چند صدای مرجع (حداکثر ۳ صدا).</ParamField>
<ParamField path="audioRoles" type="string[]">
راهنمای اختیاری نقش برای هر موقعیت، متناظر با فهرست ترکیبی صداها.
مقدار متعارف: `reference_audio`.
</ParamField>

<Note>
راهنماهای نقش بدون تغییر به ارائه‌دهنده ارسال می‌شوند. مقادیر متعارف از
اجتماع `VideoGenerationAssetRole` می‌آیند، اما ارائه‌دهندگان ممکن است
رشته‌های نقش دیگری را نیز بپذیرند. آرایه‌های `*Roles` نباید بیش از فهرست
مرجع متناظر ورودی داشته باشند؛ خطاهای یک‌واحدی با پیامی روشن ناموفق
می‌شوند. برای تنظیم‌نشده باقی گذاشتن یک جایگاه، از رشتهٔ خالی استفاده کنید.
برای xAI، نقش همهٔ تصاویر را روی `reference_image` تنظیم کنید تا از حالت
تولید `reference_images` آن استفاده شود؛ برای تبدیل یک تصویر به ویدیو،
نقش را حذف کنید یا از `first_frame` استفاده کنید.
</Note>

### کنترل‌های سبک

<ParamField path="aspectRatio" type="string">
  راهنمای نسبت تصویر، مانند `1:1`، `16:9`، `9:16`، `adaptive` یا مقداری مختص ارائه‌دهنده. OpenClaw مقادیر پشتیبانی‌نشده را متناسب با هر ارائه‌دهنده نرمال‌سازی یا نادیده می‌گیرد.
</ParamField>
<ParamField path="resolution" type="string">راهنمای وضوح، مانند `360P`، `480P`، `540P`، `720P`، `768P`، `1080P`، `4K` یا مقداری مختص ارائه‌دهنده. OpenClaw مقادیر پشتیبانی‌نشده را متناسب با هر ارائه‌دهنده نرمال‌سازی یا نادیده می‌گیرد.</ParamField>
<ParamField path="durationSeconds" type="number">
  مدت هدف بر حسب ثانیه (گردشده به نزدیک‌ترین مقدار پشتیبانی‌شده توسط ارائه‌دهنده).
</ParamField>
<ParamField path="size" type="string">راهنمای اندازه، هنگامی که ارائه‌دهنده از آن پشتیبانی می‌کند.</ParamField>
<ParamField path="audio" type="boolean">
  در صورت پشتیبانی، صدای تولیدشده را در خروجی فعال می‌کند. این مورد از `audioRef*` (ورودی‌ها) متمایز است.
</ParamField>
<ParamField path="watermark" type="boolean">در صورت پشتیبانی، درج واترمارک ارائه‌دهنده را فعال یا غیرفعال می‌کند.</ParamField>

`adaptive` یک مقدار نشانگر مختص ارائه‌دهنده است: برای ارائه‌دهندگانی که
`adaptive` را در قابلیت‌های خود اعلام کرده‌اند، بدون تغییر ارسال می‌شود
(برای نمونه، BytePlus Seedance از آن برای تشخیص خودکار نسبت از ابعاد
تصویر ورودی استفاده می‌کند). ارائه‌دهندگانی که آن را اعلام نکرده‌اند،
این مقدار را از طریق `details.ignoredOverrides` در نتیجهٔ ابزار نمایش
می‌دهند تا حذف آن قابل مشاهده باشد.

### پیشرفته

<ParamField path="action" type='"generate" | "status" | "list"' default="generate">
  `"status"` وظیفهٔ جاری نشست را برمی‌گرداند؛ `"list"` ارائه‌دهندگان را بررسی می‌کند.
</ParamField>
<ParamField path="model" type="string">جایگزینی ارائه‌دهنده/مدل (برای نمونه `runway/gen4.5`).</ParamField>
<ParamField path="filename" type="string">راهنمای نام فایل خروجی.</ParamField>
<ParamField path="timeoutMs" type="number">مهلت زمانی اختیاری عملیات ارائه‌دهنده بر حسب میلی‌ثانیه. اگر حذف شود، OpenClaw در صورت پیکربندی از `agents.defaults.videoGenerationModel.timeoutMs` استفاده می‌کند؛ در غیر این صورت، در صورت وجود، مقدار پیش‌فرض ارائه‌دهنده که نویسندهٔ plugin تعیین کرده است به کار می‌رود.</ParamField>
<ParamField path="providerOptions" type="object">
  گزینه‌های مختص ارائه‌دهنده به‌صورت یک شیء JSON (برای نمونه `{"seed": 42, "draft": true}`).
  ارائه‌دهندگانی که طرح‌واره‌ای نوع‌دار اعلام می‌کنند، کلیدها و نوع‌ها را اعتبارسنجی
  می‌کنند؛ کلیدهای ناشناخته یا عدم تطابق نوع باعث می‌شود گزینهٔ نامزد هنگام
  بازگشت جایگزین کنار گذاشته شود. ارائه‌دهندگان فاقد طرح‌وارهٔ اعلام‌شده،
  گزینه‌ها را بدون تغییر دریافت می‌کنند. برای مشاهدهٔ موارد پذیرفته‌شده توسط
  هر ارائه‌دهنده، `video_generate action=list` را اجرا کنید.
</ParamField>

<Note>
همهٔ ارائه‌دهندگان از همهٔ پارامترها پشتیبانی نمی‌کنند. OpenClaw مدت را
به نزدیک‌ترین مقدار پشتیبانی‌شده توسط ارائه‌دهنده نرمال‌سازی می‌کند و
هنگامی که ارائه‌دهندهٔ جایگزین سطح کنترلی متفاوتی ارائه دهد، راهنماهای
هندسی تبدیل‌شده، مانند تبدیل اندازه به نسبت تصویر، را دوباره نگاشت
می‌کند. جایگزینی‌های واقعاً پشتیبانی‌نشده به‌صورت بهترین تلاش نادیده
گرفته می‌شوند و در نتیجهٔ ابزار به‌عنوان هشدار گزارش می‌شوند. محدودیت‌های
سخت قابلیت‌ها (مانند تعداد بیش‌ازحد ورودی‌های مرجع) پیش از ارسال باعث
شکست می‌شوند. نتایج ابزار تنظیمات اعمال‌شده را گزارش می‌کنند؛
`details.normalization` هرگونه تبدیل مقدار درخواستی به مقدار اعمال‌شده
را ثبت می‌کند.
</Note>

ورودی‌های مرجع حالت زمان اجرا را انتخاب می‌کنند:

- بدون رسانهٔ مرجع -> `generate`
- هرگونه تصویر مرجع -> `imageToVideo`
- هرگونه ویدیوی مرجع -> `videoToVideo`
- ورودی‌های صدای مرجع حالت حل‌شده را تغییر **نمی‌دهند**؛ آن‌ها افزون بر
  حالتی اعمال می‌شوند که مراجع تصویر/ویدیو انتخاب کرده‌اند و فقط با
  ارائه‌دهندگانی کار می‌کنند که `maxInputAudios` را اعلام کرده باشند.

ترکیب مراجع تصویر و ویدیو سطح قابلیت مشترک پایداری نیست.
ترجیحاً در هر درخواست فقط از یک نوع مرجع استفاده کنید.

#### بازگشت جایگزین و گزینه‌های نوع‌دار

برخی بررسی‌های قابلیت در لایهٔ بازگشت جایگزین انجام می‌شوند، نه در مرز
ابزار؛ بنابراین درخواستی که از محدودیت‌های ارائه‌دهندهٔ اصلی فراتر می‌رود،
همچنان می‌تواند روی یک ارائه‌دهندهٔ جایگزین توانمند اجرا شود:

- اگر درخواست دارای مراجع صوتی باشد، نامزد فعال که `maxInputAudios` را
  اعلام نکرده یا مقدار آن را `0` اعلام کرده است کنار گذاشته می‌شود و نامزد
  بعدی امتحان می‌شود. همین محافظ برای تعداد مراجع تصویر و ویدیو در برابر
  `maxInputImages`/`maxInputVideos` نیز اعمال می‌شود.
- اگر `maxDurationSeconds` نامزد فعال کمتر از `durationSeconds` درخواستی
  باشد و فهرست `supportedDurationSeconds` اعلام نشده باشد، نامزد کنار
  گذاشته می‌شود.
- اگر درخواست دارای `providerOptions` باشد و نامزد فعال صراحتاً یک طرح‌وارهٔ
  نوع‌دار `providerOptions` اعلام کند، در صورتی که کلیدهای ارائه‌شده در
  طرح‌واره نباشند یا نوع مقادیر تطابق نداشته باشد، نامزد کنار گذاشته می‌شود.
  ارائه‌دهندگان فاقد طرح‌وارهٔ اعلام‌شده، گزینه‌ها را بدون تغییر دریافت
  می‌کنند (عبور سازگار با نسخه‌های پیشین). یک ارائه‌دهنده می‌تواند با اعلام
  طرح‌واره‌ای خالی (`capabilities.providerOptions: {}`) از همهٔ گزینه‌های
  ارائه‌دهنده صرف‌نظر کند که همان کنارگذاری ناشی از عدم تطابق نوع را ایجاد
  می‌کند.

نخستین دلیل کنارگذاری در هر درخواست با سطح `warn` ثبت می‌شود تا
راهبران متوجه شوند که ارائه‌دهندهٔ اصلی آن‌ها نادیده گرفته شده است؛
کنارگذاری‌های بعدی با سطح `debug` ثبت می‌شوند تا زنجیره‌های طولانی
بازگشت جایگزین بی‌سروصدا بمانند. اگر همهٔ نامزدها کنار گذاشته شوند،
خطای تجمیعی دلیل کنارگذاری هرکدام را شامل می‌شود.

## کنش‌ها

| کنش       | کاری که انجام می‌دهد                                                                                           |
| ---------- | -------------------------------------------------------------------------------------------------------------- |
| `generate` | پیش‌فرض. از اعلان داده‌شده و ورودی‌های مرجع اختیاری، یک ویدیو ایجاد می‌کند.                                  |
| `status`   | بدون آغاز تولیدی دیگر، وضعیت وظیفهٔ ویدیویی در حال اجرا برای نشست جاری را بررسی می‌کند.                     |
| `list`     | ارائه‌دهندگان، مدل‌ها و قابلیت‌های در دسترس آن‌ها را نمایش می‌دهد.                                            |

## انتخاب مدل

OpenClaw مدل را به این ترتیب تعیین می‌کند:

1. **پارامتر ابزار `model`** - اگر عامل در فراخوانی یکی را مشخص کند.
2. **`videoGenerationModel.primary`** از پیکربندی.
3. **`videoGenerationModel.fallbacks`** به‌ترتیب.
4. **تشخیص خودکار** - ارائه‌دهندگانی که احراز هویت معتبر دارند؛ ابتدا
   ارائه‌دهندهٔ پیش‌فرض فعلی و سپس ارائه‌دهندگان باقی‌مانده به‌ترتیب
   الفبایی.

اگر ارائه‌دهنده‌ای ناموفق شود، نامزد بعدی به‌طور خودکار امتحان می‌شود.
اگر همهٔ نامزدها ناموفق شوند، خطا جزئیات هر تلاش را شامل می‌شود.

برای استفادهٔ صرفاً از ورودی‌های صریح `model`، `primary` و `fallbacks`،
مقدار `agents.defaults.mediaGenerationAutoProviderFallback: false` را تنظیم کنید.

```json5
{
  agents: {
    defaults: {
      videoGenerationModel: {
        primary: "google/veo-3.1-fast-generate-preview",
        fallbacks: ["runway/gen4.5", "qwen/wan2.6-t2v"],
        timeoutMs: 180000, // جایگزینی اختیاری مهلت زمانی درخواست ارائه‌دهنده برای هر ابزار
      },
    },
  },
}
```

## نکات ارائه‌دهندگان

<AccordionGroup>
  <Accordion title="Alibaba">
    از نقطهٔ پایانی ناهمگام DashScope / Model Studio استفاده می‌کند.
    تصاویر و ویدیوهای مرجع باید URLهای راه‌دور `http(s)` باشند.
  </Accordion>
  <Accordion title="BytePlus (1.0)">
    شناسهٔ ارائه‌دهنده: `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` (بولی).

  </Accordion>
  <Accordion title="BytePlus Seedance 1.5">
    به plugin ‏[`@openclaw/byteplus-modelark`](https://www.npmjs.com/package/@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` (عدد) ارسال می‌شود.

  </Accordion>
  <Accordion title="BytePlus Seedance 2.0">
    به plugin ‏[`@openclaw/byteplus-modelark`](https://www.npmjs.com/package/@openclaw/byteplus-modelark)
    نیاز دارد (خارجی و همراه بسته ارائه نمی‌شود). شناسهٔ ارائه‌دهنده:
    `byteplus-seedance2`. مدل‌ها:
    `dreamina-seedance-2-0-260128`،
    `dreamina-seedance-2-0-fast-260128`.

    از API یکپارچهٔ `content[]` استفاده می‌کند. از حداکثر ۹ تصویر مرجع،
    ۳ ویدیوی مرجع و ۳ صدای مرجع پشتیبانی می‌کند. همهٔ ورودی‌ها باید
    URLهای راه‌دور `https://` باشند. `role` هر دارایی را تنظیم کنید -
    مقادیر پشتیبانی‌شده:
    `"first_frame"`، `"last_frame"`، `"reference_image"`،
    `"reference_video"`، `"reference_audio"`.

    `aspectRatio: "adaptive"` نسبت را به‌طور خودکار از تصویر ورودی تشخیص
    می‌دهد. `audio: true` به `generate_audio` نگاشت می‌شود.
    `providerOptions.seed` (عدد) ارسال می‌شود.

  </Accordion>
  <Accordion title="ComfyUI">
    اجرای محلی یا ابری مبتنی بر گردش‌کار. از تبدیل متن به ویدئو و
    تصویر به ویدئو از طریق گراف پیکربندی‌شده پشتیبانی می‌کند.
  </Accordion>
  <Accordion title="fal">
    برای کارهای طولانی‌مدت از جریانی مبتنی بر صف استفاده می‌کند. OpenClaw به‌طور پیش‌فرض تا ۲۰
    دقیقه منتظر می‌ماند و پس از آن، کار درحال‌اجرای صف fal را
    پایان‌یافته بر اثر اتمام مهلت در نظر می‌گیرد. بیشتر مدل‌های ویدئویی fal
    یک مرجع تصویری می‌پذیرند. مدل‌های تبدیل مرجع به ویدئوی Seedance 2.0
    حداکثر ۹ تصویر، ۳ ویدئو و ۳ مرجع صوتی را می‌پذیرند، به‌شرط آنکه
    مجموع فایل‌های مرجع از ۱۲ مورد بیشتر نباشد.
  </Accordion>
  <Accordion title="Google (Gemini / Veo)">
    از یک مرجع تصویری یا یک مرجع ویدئویی پشتیبانی می‌کند. درخواست‌های تولید صدا
    در مسیر Gemini API همراه با هشدار نادیده گرفته می‌شوند، زیرا این API
    پارامتر `generateAudio` را برای تولید ویدئوی فعلی Veo رد می‌کند.
  </Accordion>
  <Accordion title="MiniMax">
    فقط یک مرجع تصویری. MiniMax وضوح‌های `768P` و `1080P`
    را می‌پذیرد؛ درخواست‌هایی مانند `720P` پیش از ارسال به نزدیک‌ترین
    مقدار پشتیبانی‌شده تبدیل می‌شوند.
  </Accordion>
  <Accordion title="OpenAI">
    فقط بازنویسی `size` ارسال می‌شود. سایر بازنویسی‌های سبک
    (`aspectRatio`، `resolution`، `audio`، `watermark`) همراه با
    هشدار نادیده گرفته می‌شوند.
  </Accordion>
  <Accordion title="OpenRouter">
    از API ناهمگام `/videos` متعلق به OpenRouter استفاده می‌کند. OpenClaw
    کار را ارسال می‌کند، `polling_url` را به‌صورت دوره‌ای بررسی می‌کند و سپس
    `unsigned_urls` یا نقطه پایانی مستندشده محتوای کار را بارگیری می‌کند.
    مقدار پیش‌فرض همراه `google/veo-3.1-fast` مدت‌های ۴/۶/۸ ثانیه،
    وضوح‌های `720P`/`1080P` و نسبت‌های تصویر `16:9`/`9:16` را
    ارائه می‌کند.
  </Accordion>
  <Accordion title="Qwen">
    از همان بخش پشتیبان DashScope متعلق به Alibaba استفاده می‌کند. ورودی‌های مرجع باید
    نشانی‌های راه‌دور `http(s)` باشند؛ فایل‌های محلی پیشاپیش رد می‌شوند.
  </Accordion>
  <Accordion title="Runway">
    از فایل‌های محلی از طریق URIهای داده پشتیبانی می‌کند. تبدیل ویدئو به ویدئو به
    `runway/gen4_aleph` نیاز دارد. اجراهای صرفاً متنی نسبت‌های تصویر
    `16:9` و `9:16` را ارائه می‌کنند.
  </Accordion>
  <Accordion title="Together">
    فقط یک مرجع تصویری.
  </Accordion>
  <Accordion title="Vydra">
    مستقیماً از `https://www.vydra.ai/api/v1` استفاده می‌کند تا از
    تغییرمسیرهایی که اطلاعات احراز هویت را حذف می‌کنند جلوگیری شود. `veo3` فقط برای تبدیل متن به ویدئو
    همراه شده است؛ `kling` به نشانی راه‌دور تصویر نیاز دارد.
  </Accordion>
  <Accordion title="xAI">
    مدل پیش‌فرض `grok-imagine-video` از تبدیل متن به ویدئو، تبدیل یک تصویر
    فریم نخست به ویدئو، حداکثر ۷ ورودی `reference_image` از طریق
    `reference_images` در xAI و جریان‌های راه‌دور ویرایش/تمدید ویدئو پشتیبانی می‌کند.
    وضوح پیش‌فرض تولید `480P` است؛ اگر `aspectRatio` مشخص نشده باشد،
    تبدیل تک‌تصویری تصویر به ویدئو نسبت تصویر منبع را به ارث می‌برد.
    ویرایش/تمدید ویدئو هندسه ورودی را به ارث می‌برد و بازنویسی نسبت تصویر یا
    وضوح را نمی‌پذیرد. تمدید، مدت ۲ تا ۱۰ ثانیه را می‌پذیرد.

    `grok-imagine-video-1.5` فقط برای تبدیل تصویر به ویدئو است: دقیقاً یک تصویر
    ارائه کنید. این مدل از مدت ۱ تا ۱۵ ثانیه و وضوح‌های `480P`، `720P` یا
    `1080P` پشتیبانی می‌کند و مقدار پیش‌فرض آن `480P` است؛ برای به‌ارث‌بردن نسبت
    تصویر منبع، `aspectRatio` را حذف کنید. شناسه‌های پیش‌نمایش و تاریخ‌دار 1.5
    اعتبارسنجی یکسانی دریافت می‌کنند و بدون تغییر ارسال می‌شوند.

  </Accordion>
</AccordionGroup>

## حالت‌های قابلیت ارائه‌دهنده

قرارداد مشترک تولید ویدئو، به‌جای محدودیت‌های تجمیعی و مسطح، از قابلیت‌های
ویژه هر حالت پشتیبانی می‌کند. پیاده‌سازی‌های جدید ارائه‌دهندگان
باید بلوک‌های صریح حالت را ترجیح دهند:

```typescript
capabilities: {
  generate: {
    maxVideos: 1,
    maxDurationSeconds: 10,
    supportsResolution: true,
  },
  imageToVideo: {
    enabled: true,
    maxVideos: 1,
    maxInputImages: 1,
    maxInputImagesByModel: { "provider/reference-to-video": 9 },
    maxDurationSeconds: 5,
  },
  videoToVideo: {
    enabled: true,
    maxVideos: 1,
    maxInputVideos: 1,
    maxDurationSeconds: 5,
  },
}
```

فیلدهای تجمیعی و مسطحی مانند `maxInputImages` و `maxInputVideos` برای
اعلام پشتیبانی از حالت تبدیل **کافی نیستند**. ارائه‌دهندگان باید
`generate`، `imageToVideo` و `videoToVideo` را به‌صراحت اعلام کنند تا
آزمون‌های زنده، آزمون‌های قرارداد و ابزار مشترک `video_generate` بتوانند
پشتیبانی از حالت‌ها را به‌صورت قطعی اعتبارسنجی کنند.

اگر یک مدل از یک ارائه‌دهنده نسبت به سایر مدل‌ها از ورودی‌های مرجع بیشتری
پشتیبانی می‌کند، به‌جای افزایش محدودیت سراسر حالت از `maxInputImagesByModel`،
`maxInputVideosByModel` یا `maxInputAudiosByModel` استفاده کنید.

## آزمون‌های زنده

پوشش زنده اختیاری برای ارائه‌دهندگان مشترک همراه‌شده:

```bash
OPENCLAW_LIVE_TEST=1 pnpm test:live -- extensions/video-generation-providers.live.test.ts
```

پوشش اجرایی مخزن:

```bash
pnpm test:live:media video
```

این فایل زنده به‌طور پیش‌فرض متغیرهای محیطی ازپیش‌صادرشده ارائه‌دهنده را بر
نمایه‌های احراز هویت ذخیره‌شده مقدم می‌داند و به‌طور پیش‌فرض یک آزمون دود
ایمن برای انتشار اجرا می‌کند:

- `generate` برای هر ارائه‌دهنده غیر FAL در پیمایش.
- درخواست یک‌ثانیه‌ای خرچنگ.
- سقف عملیات هر ارائه‌دهنده از
  `OPENCLAW_LIVE_VIDEO_GENERATION_TIMEOUT_MS` (به‌طور پیش‌فرض `180000`).

FAL اختیاری است، زیرا تأخیر صف در سمت ارائه‌دهنده می‌تواند بر زمان انتشار
غلبه کند:

```bash
pnpm test:live:media video --video-providers fal
```

برای اجرای حالت‌های تبدیل اعلام‌شده‌ای که پیمایش مشترک می‌تواند با رسانه
محلی به‌صورت ایمن آزمایش کند، `OPENCLAW_LIVE_VIDEO_GENERATION_FULL_MODES=1`
را نیز تنظیم کنید:

- `imageToVideo` هنگامی که `capabilities.imageToVideo.enabled` فعال است.
- `videoToVideo` هنگامی که `capabilities.videoToVideo.enabled` فعال است و
  ارائه‌دهنده/مدل ورودی ویدئویی محلی مبتنی بر بافر را در پیمایش مشترک
  می‌پذیرد.

درحال‌حاضر مسیر زنده مشترک `videoToVideo` فقط زمانی `runway` را پوشش می‌دهد
که `runway/gen4_aleph` را انتخاب کنید.

## پیکربندی

مدل پیش‌فرض تولید ویدئو را در پیکربندی OpenClaw خود تنظیم کنید:

```json5
{
  agents: {
    defaults: {
      videoGenerationModel: {
        primary: "qwen/wan2.6-t2v",
        fallbacks: ["qwen/wan2.6-r2v-flash"],
      },
    },
  },
}
```

یا از طریق CLI:

```bash
openclaw config set agents.defaults.videoGenerationModel.primary "qwen/wan2.6-t2v"
```

## مطالب مرتبط

- [استودیوی مدل Alibaba](/fa/providers/alibaba)
- [وظایف پس‌زمینه](/fa/automation/tasks) - ردیابی وظایف برای تولید ناهمگام ویدئو
- [BytePlus](/fa/concepts/model-providers#byteplus-international)
- [ComfyUI](/fa/providers/comfy)
- [مرجع پیکربندی](/fa/gateway/config-agents#agent-defaults)
- [fal](/fa/providers/fal)
- [Google (Gemini)](/fa/providers/google)
- [MiniMax](/fa/providers/minimax)
- [مدل‌ها](/fa/concepts/models)
- [OpenAI](/fa/providers/openai)
- [Qwen](/fa/providers/qwen)
- [Runway](/fa/providers/runway)
- [Together AI](/fa/providers/together)
- [نمای کلی ابزارها](/fa/tools)
- [Vydra](/fa/providers/vydra)
- [xAI](/fa/providers/xai)
