video_generate. Поддерживается шестнадцать серверных частей
провайдеров; агент автоматически выбирает подходящую на основе конфигурации и
доступных ключей API.
video_generate отображается, только если доступен хотя бы один провайдер
генерации видео. Если этот инструмент отсутствует среди инструментов агента, задайте ключ API провайдера или
настройте agents.defaults.videoGenerationModel.video_generate есть три режима выполнения, определяемые по референсным входным данным
в вызове:
generate— без референсных медиафайлов (преобразование текста в видео).imageToVideo— одно или несколько референсных изображений.videoToVideo— одно или несколько референсных видео.
action=list.
Быстрый старт
1
Настройте аутентификацию
Задайте ключ API любого поддерживаемого провайдера:
2
Выберите модель по умолчанию (необязательно)
3
Обратитесь к агенту
Создай 5-секундное кинематографичное видео, в котором дружелюбный лобстер занимается сёрфингом на закате.Агент автоматически вызывает
video_generate. Добавлять инструмент в список разрешённых
не требуется.Как работает асинхронная генерация
Генерация видео выполняется асинхронно:- OpenClaw отправляет запрос провайдеру и сразу возвращает идентификатор задачи.
- Провайдер обрабатывает задачу в фоновом режиме (обычно от 30 секунд до нескольких минут в зависимости от провайдера и разрешения; медленные провайдеры с очередями могут работать до истечения настроенного времени ожидания).
- Когда видео готово, OpenClaw возобновляет тот же сеанс с внутренним событием завершения.
- Агент сообщает о результате через обычный режим видимых ответов сеанса:
автоматический итоговый ответ или
message(action="send"), если сеанс требует использования инструмента сообщений. Если сеанс инициатора неактивен либо его возобновление завершается сбоем и созданный медиафайл по-прежнему отсутствует в ответе о завершении, OpenClaw отправляет идемпотентный прямой резервный ответ с медиафайлом.
video_generate в том же
сеансе возвращают текущий статус задачи вместо запуска новой
генерации. Используйте action: "status", чтобы проверить статус без запуска новой
генерации, либо openclaw tasks list / openclaw tasks show <lookup> из
CLI (см. Фоновые задачи).
Вне запусков агента с поддержкой сеансов (например, при прямых вызовах инструмента)
инструмент переключается на встроенную генерацию и возвращает конечный путь к медиафайлу
в том же ходе.
Если провайдер возвращает байты, созданные видеофайлы сохраняются в управляемом OpenClaw
хранилище медиафайлов. Ограничение по умолчанию составляет 16MB (общее ограничение для
видеофайлов); 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, если этот параметр настроен; в противном случае используется заданное автором плагина значение провайдера по умолчанию, если оно существует.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 определяет модель в следующем порядке:- Параметр инструмента
model— если агент указывает его в вызове. videoGenerationModel.primaryиз конфигурации.videoGenerationModel.fallbacksпо порядку.- Автоматическое определение — провайдеры с действительными данными аутентификации, начиная с текущего провайдера по умолчанию, а затем остальные провайдеры в алфавитном порядке.
agents.defaults.mediaGenerationAutoProviderFallback: false, чтобы использовать
только явно указанные записи model, primary и fallbacks.
Примечания о провайдерах
Alibaba
Alibaba
Использует асинхронную конечную точку DashScope / Model Studio. Референсные изображения и
видео должны быть удалёнными URL-адресами
http(s).BytePlus (1.0)
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 (логическое значение).BytePlus Seedance 1.5
BytePlus Seedance 1.5
Требуется плагин
@openclaw/byteplus-modelark
(внешний, не входит в комплект). Идентификатор провайдера: byteplus-seedance15. Модель:
seedance-1-5-pro-251215.Использует унифицированный API content[]. Поддерживает не более 2 входных изображений
(first_frame + last_frame). Все входные данные должны быть удалёнными URL-адресами https://.
Задайте role: "first_frame" / "last_frame" для каждого изображения или
передайте изображения позиционно.aspectRatio: "adaptive" автоматически определяет соотношение сторон по входному изображению.
audio: true сопоставляется с generate_audio. providerOptions.seed
(число) передаётся без изменений.BytePlus Seedance 2.0
BytePlus Seedance 2.0
Требуется плагин
@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
(число) передаётся без изменений.ComfyUI
ComfyUI
Локальное или облачное выполнение на основе рабочих процессов. Поддерживает
преобразование текста в видео и изображения в видео через настроенный граф.
fal
fal
Использует поток с очередью для длительных задач. По умолчанию OpenClaw ожидает до 20
минут, прежде чем считать выполняющуюся задачу в очереди fal
просроченной. Большинство видеомоделей fal
принимают одну ссылку на изображение. Модели Seedance 2.0 для преобразования
референсов в видео принимают до 9 изображений, 3 видео и 3 аудиореференсов,
но не более 12 файлов референсов суммарно.
Google (Gemini / Veo)
Google (Gemini / Veo)
Поддерживает один референс в виде изображения или видео. Запросы на создание аудио
игнорируются с предупреждением при использовании пути Gemini API, поскольку этот API отклоняет
параметр
generateAudio для текущей генерации видео Veo.MiniMax
MiniMax
Только один референс в виде изображения. MiniMax принимает разрешения
768P и 1080P;
запросы, например 720P, перед отправкой нормализуются до ближайшего
поддерживаемого значения.OpenAI
OpenAI
Передаётся только переопределение
size. Другие переопределения стиля
(aspectRatio, resolution, audio, watermark) игнорируются
с предупреждением.OpenRouter
OpenRouter
Использует асинхронный API
/videos от OpenRouter. OpenClaw отправляет
задачу, опрашивает polling_url и загружает либо unsigned_urls, либо содержимое
задачи через документированную конечную точку. Встроенное значение по умолчанию google/veo-3.1-fast
заявляет длительности 4/6/8 секунд, разрешения 720P/1080P и
соотношения сторон 16:9/9:16.Qwen
Qwen
Использует тот же бэкенд DashScope, что и Alibaba. Входные референсы должны быть удалёнными
URL-адресами
http(s); локальные файлы отклоняются заранее.Runway
Runway
Поддерживает локальные файлы через URI данных. Для преобразования видео в видео требуется
runway/gen4_aleph. При запусках только с текстом доступны соотношения сторон 16:9 и 9:16.Together
Together
Только один референс в виде изображения.
Vydra
Vydra
Использует
https://www.vydra.ai/api/v1 напрямую, чтобы избежать перенаправлений,
при которых теряются данные аутентификации. veo3 встроена только для преобразования текста в видео; для kling
требуется удалённый URL-адрес изображения.xAI
xAI
Модель
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).
OPENCLAW_LIVE_VIDEO_GENERATION_FULL_MODES=1, чтобы также запускать объявленные
режимы преобразования, которые общая проверка может безопасно тестировать с локальными медиафайлами:
imageToVideo, когдаcapabilities.imageToVideo.enabled.videoToVideo, когдаcapabilities.videoToVideo.enabledи провайдер или модель принимает в общей проверке локальный видеофайл на основе буфера.
videoToVideo в реальной среде охватывает runway, только если
выбрано runway/gen4_aleph.
Конфигурация
Укажите модель генерации видео по умолчанию в конфигурации OpenClaw:Связанные материалы
- Alibaba Model Studio
- Фоновые задачи — отслеживание задач асинхронной генерации видео
- BytePlus
- ComfyUI
- Справочник по конфигурации
- fal
- Google (Gemini)
- MiniMax
- Модели
- OpenAI
- Qwen
- Runway
- Together AI
- Обзор инструментов
- Vydra
- xAI