Ir al contenido

Generación de video

Los agentes de OpenClaw pueden generar videos a partir de mensajes de texto, imágenes de referencia o videos existentes. Se admiten doce proveedores de backend, cada uno con diferentes opciones de modelo, modos de entrada y conjuntos de características. El agente elige automáticamente el proveedor correcto basándose en su configuración y las claves de API disponibles.

OpenClaw trata la generación de video como tres modos de tiempo de ejecución:

  • generate para solicitudes de texto a video sin medio de referencia
  • imageToVideo cuando la solicitud incluye una o más imágenes de referencia
  • videoToVideo cuando la solicitud incluye uno o más videos de referencia

Los proveedores pueden soportar cualquier subconjunto de esos modos. La herramienta valida el modo activo antes del envío e informa los modos compatibles en action=list.

  1. Configure una clave API para cualquier proveedor compatible:
Ventana de terminal
export GEMINI_API_KEY="your-key"
  1. Opcionalmente, fije un modelo predeterminado:
Ventana de terminal
openclaw config set agents.defaults.videoGenerationModel.primary "google/veo-3.1-fast-generate-preview"
  1. Pregúntele al agente:

Genera un video cinematográfico de 5 segundos de una langosta amigable surfeando al atardecer.

El agente llama a video_generate automáticamente. No es necesario permitir explícitamente la herramienta (allowlisting).

La generación de video es asincrónica. Cuando el agente llama a video_generate en una sesión:

  1. OpenClaw envía la solicitud al proveedor y devuelve inmediatamente un ID de tarea.
  2. El proveedor procesa el trabajo en segundo plano (generalmente de 30 segundos a 5 minutos, dependiendo del proveedor y la resolución).
  3. Cuando el video está listo, OpenClaw reanuda la misma sesión con un evento interno de finalización.
  4. El agente publica el video terminado nuevamente en la conversación original.

Mientras un trabajo está en curso, las llamadas duplicadas a video_generate en la misma sesión devuelven el estado actual de la tarea en lugar de iniciar otra generación. Use openclaw tasks list o openclaw tasks show <taskId> para verificar el progreso desde la CLI.

Fuera de las ejecuciones de agentes con sesión (por ejemplo, invocaciones directas de herramientas), la herramienta recurre a la generación en línea y devuelve la ruta de los medios finales en el mismo turno.

Cada solicitud video_generate pasa por cuatro estados:

  1. en cola — tarea creada, esperando a que el proveedor la acepte.
  2. en ejecución — el proveedor está procesando (generalmente de 30 segundos a 5 minutos dependiendo del proveedor y la resolución).
  3. finalizada con éxito — video listo; el agente se despierta y lo publica en la conversación.
  4. fallida — error o tiempo de espera del proveedor; el agente se despierta con los detalles del error.

Verificar el estado desde la CLI:

Ventana de terminal
openclaw tasks list
openclaw tasks show <taskId>
openclaw tasks cancel <taskId>

Prevención de duplicados: si una tarea de video ya está queued o running para la sesión actual, video_generate devuelve el estado de la tarea existente en lugar de iniciar una nueva. Use action: "status" para verificar explícitamente sin activar una nueva generación.

ProveedorModelo predeterminadoTextoRef. de imagenRef. de videoClave de API
Alibabawan2.6-t2vSí (URL remota)Sí (URL remota)MODELSTUDIO_API_KEY
BytePlusseedance-1-0-lite-t2v-2504281 imagenNoBYTEPLUS_API_KEY
ComfyUIworkflow1 imagenNoCOMFY_API_KEY o COMFY_CLOUD_API_KEY
falfal-ai/minimax/video-01-live1 imagenNoFAL_KEY
Googleveo-3.1-fast-generate-preview1 imagen1 videoGEMINI_API_KEY
MiniMaxMiniMax-Hailuo-2.31 imagenNoMINIMAX_API_KEY
OpenAIsora-21 imagen1 videoOPENAI_API_KEY
Qwenwan2.6-t2vSí (URL remota)Sí (URL remota)QWEN_API_KEY
Runwaygen4.51 imagen1 videoRUNWAYML_API_SECRET
TogetherWan-AI/Wan2.2-T2V-A14B1 imagenNoTOGETHER_API_KEY
Vydraveo31 imagen (kling)NoVYDRA_API_KEY
xAIgrok-imagine-video1 imagen1 videoXAI_API_KEY

Algunos proveedores aceptan variables de entorno de clave de API adicionales o alternas. Consulte las páginas del proveedor individuales para obtener más detalles.

Ejecute video_generate action=list para inspeccionar los proveedores, modelos y modos de tiempo de ejecución disponibles en tiempo de ejecución.

Este es el contrato de modo explícito utilizado por video_generate, pruebas de contrato, y el barrido compartido en vivo.

ProveedorgenerateimageToVideovideoToVideoCarriles compartidos en vivo hoy
Alibabagenerate, imageToVideo; videoToVideo se omite porque este proveedor necesita URL de video http(s) remotas
BytePlusNogenerate, imageToVideo
ComfyUINoNo está en el barrido compartido; la cobertura específica del flujo de trabajo reside con las pruebas de Comfy
falNogenerate, imageToVideo
Googlegenerate, imageToVideo; videoToVideo compartido se omite porque el barrido Gemini/Veo respaldado por búfer actual no acepta esa entrada
MiniMaxNogenerate, imageToVideo
OpenAIgenerate, imageToVideo; videoToVideo compartido se omite porque esta ruta de org/entrada actualmente necesita acceso de restauración/remezcla del lado del proveedor
Qwengenerate, imageToVideo; videoToVideo se omite porque este proveedor necesita URL de video http(s) remotas
Runwaygenerate, imageToVideo; videoToVideo solo se ejecuta cuando el modelo seleccionado es runway/gen4_aleph
TogetherNogenerate, imageToVideo
VydraNogenerate; imageToVideo compartidos omitidos porque el veo3 incluido es solo de texto y el kling incluido requiere una URL de imagen remota
xAIgenerate, imageToVideo; videoToVideo omitido porque este proveedor actualmente necesita una URL MP4 remota
ParámetroTipoDescripción
promptstringDescripción de texto del video a generar (requerido para action: "generate")
ParámetroTipoDescripción
imagestringImagen de referencia única (ruta o URL)
imagesstring[]Múltiples imágenes de referencia (hasta 5)
videostringVideo de referencia único (ruta o URL)
videosstring[]Múltiples videos de referencia (hasta 4)
ParámetroTipoDescripción
aspectRatiostring1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9
resolutionstring480P, 720P, 768P o 1080P
durationSecondsnumberDuración objetivo en segundos (redondeada al valor admitido más cercano del proveedor)
sizestringSugerencia de tamaño cuando el proveedor lo admite
audiobooleanActivar el audio generado cuando sea compatible
watermarkbooleanAlternar la marca de agua del proveedor cuando sea compatible
ParámetroTipoDescripción
actionstring"generate" (predeterminado), "status" o "list"
modelstringInvalidación de proveedor/modelo (p. ej. runway/gen4.5)
filenamestringSugerencia de nombre de archivo de salida

No todos los proveedores admiten todos los parámetros. OpenClaw ya normaliza la duración al valor más cercano admitido por el proveedor, y también reasigna las sugerencias de geometría traducidas, como de tamaño a relación de aspecto, cuando un proveedor de reserva expone una superficie de control diferente. Las anulaciones realmente no admitidas se ignoran sobre una base de máximo esfuerzo y se informan como advertencias en el resultado de la herramienta. Los límites estrictos de capacidad (como demasiadas entradas de referencia) fallan antes del envío.

Los resultados de la herramienta informan sobre la configuración aplicada. Cuando OpenClaw reasigna la duración o la geometría durante la reserva del proveedor, los valores devueltos durationSeconds, size, aspectRatio y resolution reflejan lo que se envió, y details.normalization captura la traducción de solicitado a aplicado.

Las entradas de referencia también seleccionan el modo de tiempo de ejecución:

  • Sin medio de referencia: generate
  • Cualquier referencia de imagen: imageToVideo
  • Cualquier referencia de video: videoToVideo

Las referencias mixtas de imagen y video no constituyen una superficie de capacidad compartida estable. Prefiera un tipo de referencia por solicitud.

  • generate (predeterminado) — crea un video a partir del mensaje dado y entradas de referencia opcionales.
  • status — verifica el estado de la tarea de video en curso para la sesión actual sin iniciar otra generación.
  • list — muestra los proveedores disponibles, los modelos y sus capacidades.

Al generar un video, OpenClaw resuelve el modelo en este orden:

  1. Parámetro de la herramienta model — si el agente especifica uno en la llamada.
  2. videoGenerationModel.primary — desde la configuración.
  3. videoGenerationModel.fallbacks — probados en orden.
  4. Detección automática — utiliza proveedores que tienen una autenticación válida, comenzando con el proveedor predeterminado actual y luego los proveedores restantes en orden alfabético.

Si un proveedor falla, se intenta automáticamente el siguiente candidato. Si fallan todos los candidatos, el error incluye los detalles de cada intento.

Establezca agents.defaults.mediaGenerationAutoProviderFallback: false si desea que la generación de video use solo las entradas explícitas model, primary y fallbacks.

{
agents: {
defaults: {
videoGenerationModel: {
primary: "google/veo-3.1-fast-generate-preview",
fallbacks: ["runway/gen4.5", "qwen/wan2.6-t2v"],
},
},
},
}

Se puede fijar el video-agente de HeyGen en fal con:

{
agents: {
defaults: {
videoGenerationModel: {
primary: "fal/fal-ai/heygen/v2/video-agent",
},
},
},
}

Se puede fijar Seedance 2.0 en fal con:

{
agents: {
defaults: {
videoGenerationModel: {
primary: "fal/bytedance/seedance-2.0/fast/text-to-video",
},
},
},
}
ProveedorNotas
AlibabaUsa el endpoint asíncrono de DashScope/Model Studio. Las imágenes y videos de referencia deben ser URLs http(s) remotas.
BytePlusSolo referencia de imagen única.
ComfyUIEjecución local o en la nube impulsada por flujos de trabajo. Admite texto a video e imagen a video a través del gráfico configurado.
falUsa un flujo respaldado por cola para trabajos de larga duración. Solo referencia de imagen única. Incluye el video-agente HeyGen y las referencias de modelo de texto a video e imagen a video de Seedance 2.0.
GoogleUsa Gemini/Veo. Admite una imagen o un video de referencia.
MiniMaxSolo referencia de imagen única.
OpenAISolo se reenvía la anulación size. Otras anulaciones de estilo (aspectRatio, resolution, audio, watermark) se ignoran con una advertencia.
QwenMismo backend DashScope que Alibaba. Las entradas de referencia deben ser URLs http(s) remotas; los archivos locales se rechazan de inmediato.
RunwayAdmite archivos locales a través de URI de datos. Video a video requiere runway/gen4_aleph. Las ejecuciones de solo texto exponen las relaciones de aspecto 16:9 y 9:16.
TogetherSolo referencia de imagen única.
VydraUsa https://www.vydra.ai/api/v1 directamente para evitar redireccionamientos que pierdan la autenticación. veo3 se empaqueta solo como texto a video; kling requiere una URL de imagen remota.
xAIAdmite flujos de texto a video, imagen a video y edición/extensión de video remoto.

El contrato compartido de generación de video ahora permite a los proveedores declarar capacidades específicas del modo en lugar de solo límites agregados planos. Las nuevas implementaciones de proveedores deben preferir bloques de modo explícitos:

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,
},
}

Los campos agregados planos como maxInputImages y maxInputVideos no son suficientes para anunciar el soporte del modo de transformación. Los proveedores deben declarar generate, imageToVideo y videoToVideo explícitamente para que las pruebas en vivo, las pruebas de contrato y la herramienta compartida video_generate puedan validar el soporte del modo de manera determinista.

Cobertura en vivo opcional para los proveedores agrupados compartidos:

Ventana de terminal
OPENCLAW_LIVE_TEST=1 pnpm test:live -- extensions/video-generation-providers.live.test.ts

Envoltorio del repositorio:

Ventana de terminal
pnpm test:live:media video

Este archivo en vivo carga las variables de entorno del proveedor faltantes desde ~/.profile, prefiere las claves API de live/env por encima de los perfiles de autenticación almacenados de forma predeterminada y ejecuta los modos declarados que puede ejercer de manera segura con medios locales:

  • generate para cada proveedor en el barrido
  • imageToVideo cuando capabilities.imageToVideo.enabled
  • videoToVideo cuando capabilities.videoToVideo.enabled y el proveedor/modelo acepta entrada de video local respaldada por búfer en el barrido compartido

Hoy, el carril en vivo compartido videoToVideo cubre:

  • runway solo cuando seleccionas runway/gen4_aleph

Establezca el modelo de generación de video predeterminado en su configuración de OpenClaw:

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

O a través de la CLI:

Ventana de terminal
openclaw config set agents.defaults.videoGenerationModel.primary "qwen/wan2.6-t2v"