Ir al contenido

Genera videos con OpenClaw: Guía rápida de integración

  1. Configura una API key para cualquier provider compatible:
Ventana de terminal
export GEMINI_API_KEY="your-key"
  1. Opcionalmente, fija un modelo por defecto:
Ventana de terminal
openclaw config set agents.defaults.videoGenerationModel.primary "google/veo-3.1-fast-generate-preview"
  1. Pregúntale al agent:

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

El agent llama a video_generate automáticamente. No hace falta autorizar herramientas.

La generación de video es asíncrona. Cuando el agent llama a video_generate en una sesión:

  1. OpenClaw envía la solicitud al provider y devuelve inmediatamente un ID de tarea.
  2. El provider procesa el trabajo en segundo plano (normalmente de 30 segundos a 5 minutos, según el provider y la resolución).
  3. Cuando el video está listo, OpenClaw reactiva la misma sesión con un evento de finalización interno.
  4. El agent publica el video terminado 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. Usa openclaw tasks list o openclaw tasks show <taskId> para revisar el progreso desde la CLI.

Fuera de las ejecuciones del agent vinculadas a una sesión (por ejemplo, invocaciones directas de herramientas), la herramienta recurre a la generación inline y devuelve la ruta final del archivo en el mismo turno.

Cada solicitud de video_generate pasa por cuatro estados:

  1. queued — tarea creada, esperando a que el provider la acepte.
  2. running — el provider está procesando (normalmente de 30 segundos a 5 minutos según el provider y la resolución).
  3. succeeded — video listo; el agent se activa y lo publica en la conversación.
  4. failed — error del provider o tiempo de espera agotado; el agent se activa con los detalles del error.

Revisa 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á en estado queued o running para la sesión actual, video_generate devuelve el estado de la tarea existente en lugar de iniciar una nueva. Usa action: "status" para consultar explícitamente sin activar una nueva generación.

ProveedorModelo predeterminadoTextoRef. de imagenRef. de vídeoAPI key
Alibabawan2.6-t2vSíSí (URL remota)Sí (URL remota)MODELSTUDIO_API_KEY
BytePlusseedance-1-0-lite-t2v-250428Sí1 imagenNoBYTEPLUS_API_KEY
ComfyUIworkflowSí1 imagenNoCOMFY_API_KEY o COMFY_CLOUD_API_KEY
falfal-ai/minimax/video-01-liveSí1 imagenNoFAL_KEY
Googleveo-3.1-fast-generate-previewSí1 imagen1 vídeoGEMINI_API_KEY
MiniMaxMiniMax-Hailuo-2.3Sí1 imagenNoMINIMAX_API_KEY
OpenAIsora-2Sí1 imagen1 vídeoOPENAI_API_KEY
Qwenwan2.6-t2vSíSí (URL remota)Sí (URL remota)QWEN_API_KEY
Runwaygen4.5Sí1 imagen1 vídeoRUNWAYML_API_SECRET
TogetherWan-AI/Wan2.2-T2V-A14BSí1 imagenNoTOGETHER_API_KEY
Vydraveo3Sí1 imagen (kling)NoVYDRA_API_KEY
xAIgrok-imagine-videoSí1 imagen1 vídeoXAI_API_KEY

Algunos proveedores aceptan variables de entorno de API key adicionales o alternativas. Consulta las páginas de proveedores individuales para más detalles.

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

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

ProveedorgenerateimageToVideovideoToVideoCarriles compartidos en vivo hoy
AlibabaSíSíSígenerate, imageToVideo; videoToVideo omitido porque este proveedor necesita URLs de vídeo http(s) remotas
BytePlusSíSíNogenerate, imageToVideo
ComfyUISíSíNoNo está en el barrido compartido; la cobertura específica del workflow reside en las pruebas de Comfy
falSíSíNogenerate, imageToVideo
GoogleSíSíSígenerate, imageToVideo; videoToVideo compartido omitido porque el barrido actual de Gemini/Veo basado en buffer no acepta esa entrada
MiniMaxSíSíNogenerate, imageToVideo
OpenAISíSíSígenerate, imageToVideo; videoToVideo compartido omitido porque esta ruta de organización/entrada necesita actualmente acceso a inpaint/remix del lado del proveedor
QwenSíSíSígenerate, imageToVideo; videoToVideo omitido porque este proveedor necesita URLs de vídeo http(s) remotas
RunwaySíSíSígenerate, imageToVideo; videoToVideo se ejecuta solo cuando el modelo seleccionado es runway/gen4_aleph
TogetherSíSíNogenerate, imageToVideo
VydraSíSíNogenerate; imageToVideo compartido omitido porque veo3 incluido es solo texto y kling incluido requiere una URL de imagen remota
xAISíSíSígenerate, imageToVideo; videoToVideo omitido porque este proveedor necesita actualmente una URL MP4 remota
ParámetroTipoDescripción
promptstringDescripción en texto del vídeo a generar (obligatorio para action: "generate")
ParámetroTipoDescripción
imagestringImagen de referencia única (ruta o URL)
imagesstring[]Múltiples imágenes de referencia (hasta 5)
videostringVídeo de referencia único (ruta o URL)
videosstring[]Múltiples vídeos 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 más cercano compatible con el proveedor)
sizestringSugerencia de tamaño cuando el proveedor lo admite
audiobooleanActiva el audio generado cuando sea compatible
watermarkbooleanAlterna la marca de agua del proveedor cuando sea compatible
ParámetroTipoDescripción
actionstring"generate" (predeterminado), "status" o "list"
modelstringSobrescritura de proveedor/modelo (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 compatible con el proveedor y también reasigna sugerencias de geometría traducidas, como de tamaño a relación de aspecto, cuando un proveedor de respaldo expone una interfaz de control diferente. Las sobrescrituras que realmente no son compatibles se ignoran y se informan como advertencias en el resultado de la herramienta. Los límites de capacidad estrictos (como demasiadas entradas de referencia) fallan antes del envío.

Los resultados de la herramienta informan los ajustes aplicados. Cuando OpenClaw reasigna la duración o la geometría durante el fallback de un proveedor, los valores devueltos de durationSeconds, size, aspectRatio y resolution reflejan lo que se envió, y details.normalization captura la traducción de lo solicitado a lo aplicado.

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

  • Sin medios de referencia: generate
  • Cualquier referencia de imagen: imageToVideo
  • Cualquier referencia de vídeo: videoToVideo

Las referencias mixtas de imagen y vídeo no son una superficie de capacidad compartida estable. Es mejor usar un solo tipo de referencia por solicitud.

  • generate (por defecto) — crea un video a partir del prompt indicado y entradas de referencia opcionales.
  • status — revisa el estado de la tarea de video en curso para la sesión actual sin iniciar otra generación.
  • list — muestra los proveedores y modelos disponibles, junto con sus capacidades.

Cuando generas un video, OpenClaw resuelve qué modelo usar en este orden:

  1. Parámetro de herramienta model — si el agente especifica uno en la llamada.
  2. videoGenerationModel.primary — desde la configuración.
  3. videoGenerationModel.fallbacks — se prueban en orden.
  4. Detección automática — usa proveedores que tengan una auth válida, empezando por el proveedor predeterminado actual y siguiendo con los demás en orden alfabético.

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

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

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

Puedes fijar el video-agent de HeyGen en fal con:

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

Puedes fijar Seedance 2.0 en fal con:

{
agents: {
defaults: {
videoGenerationModel: {
primary: "fal/bytedance/seedance-2.0/fast/text-to-video",
},
},
},
}
ProviderNotas
AlibabaUsa el endpoint asíncrono de DashScope/Model Studio. Las imágenes y videos de referencia deben ser URLs http(s) remotas.
BytePlusSolo permite una referencia de imagen.
ComfyUIEjecución local o en la nube basada en workflows. Soporta text-to-video e image-to-video mediante el grafo configurado.
falUsa un flujo basado en colas para tareas largas. Solo permite una referencia de imagen. Incluye referencias a modelos HeyGen video-agent y Seedance 2.0 (text-to-video e image-to-video).
GoogleUsa Gemini/Veo. Soporta una referencia de imagen o una de video.
MiniMaxSolo permite una referencia de imagen.
OpenAISolo se envía el override de size. Otros overrides de estilo (aspectRatio, resolution, audio, watermark) se ignoran y generan una advertencia.
QwenMismo backend de DashScope que Alibaba. Las entradas de referencia deben ser URLs http(s) remotas; los archivos locales se rechazan de inmediato.
RunwaySoporta archivos locales mediante data URIs. Video-to-video requiere runway/gen4_aleph. Las ejecuciones de solo texto ofrecen relaciones de aspecto 16:9 y 9:16.
TogetherSolo permite una referencia de imagen.
VydraUsa https://www.vydra.ai/api/v1 directamente para evitar redirecciones que pierdan la autenticación. veo3 se incluye solo como text-to-video; kling requiere una URL de imagen remota.
xAISoporta flujos de transformación (text-to-video e image-to-video) y flujos de edición o extensión de video remoto.

El contrato compartido para la generación de video ahora permite que los proveedores declaren capacidades específicas por modo. Esto es mejor que usar solo límites agregados generales. Si vas a implementar nuevos proveedores, te recomiendo usar 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 como maxInputImages y maxInputVideos no bastan para anunciar el soporte del modo de transformación. Es necesario que los proveedores declaren los modos generate y de transformación (imageToVideo o videoToVideo) de forma explícita. De esta manera, los tests (tanto en vivo como de contrato) y la herramienta video_generate pueden validar el soporte de cada modo con total seguridad.

Activa la cobertura en vivo para los providers integrados:

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

Wrapper del repositorio:

Ventana de terminal
pnpm test:live:media video

Este archivo de pruebas carga las variables de entorno que faltan desde ~/.profile. Por defecto, prefiere las API keys de las variables de entorno antes que los perfiles de autenticación guardados. Ejecuta los modos que puede probar de forma segura con archivos locales:

  • generate para cada provider en el sweep
  • imageToVideo cuando capabilities.imageToVideo.enabled está activo
  • videoToVideo cuando capabilities.videoToVideo.enabled está activo y el provider o modelo acepta video local respaldado por buffer en el sweep compartido

Actualmente, el carril de pruebas en vivo para videoToVideo cubre:

  • runway solo cuando seleccionas runway/gen4_aleph

Configura el modelo de generación de video por defecto en tu archivo de 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"

AI Setup Assistant

OpenClaw

OpenClaw Expert

Sigues atascado?

Si esta pagina no resolvio tu caso, pregunta a OpenClaw Expert para pasos concretos.