En esta entrada veremos cómo generar video con IA desde OpenClaw: qué necesitas para empezar, cómo elige (el agente) el modelo que va a usar y qué pasa mientras el proveedor procesa el video. Al final haremos un laboratorio con dos de los tres modos de generación (desde texto y desde una imagen) y correremos el mismo prompt en Google Veo, Runway y xAI para comparar resultados.
A diferencia de una imagen, un video no llega en segundos. OpenClaw manda el trabajo al proveedor, te deja seguir conversando y te avisa en el mismo chat cuando el archivo está listo. Entender ese flujo es lo que te evita pagar dos veces por el mismo video.
Guía revisada el 6 de septiembre de 2026 con la documentación vigente de OpenClaw, Google, Runway y xAI. La generación de video cambia especialmente rápido: verifica siempre los modelos de tu instalación con video_generate action=list.Inicio rápido
Si ya tienes OpenClaw corriendo en Docker, son tres pasos.
1. Agrega la API key del proveedor
Cada proveedor lee su propia variable de entorno. Para Google Veo:
GEMINI_API_KEY=tu_key_de_googleVa en el .env del servidor, nunca en el chat. Más abajo explico cómo pasarla al contenedor sin exponerla.
2. Elige un modelo por defecto (opcional)
Si no configuras nada, OpenClaw usa alguno de los proveedores que tengan credenciales. Si prefieres fijarlo:
Ejecuta todos los comandos docker compose de esta guía desde la carpeta que contiene el docker-compose.yml de tu instalación de OpenClaw. En estos ejemplos, openclaw es el nombre del servicio definido allí.
docker compose exec openclaw openclaw config set \
agents.defaults.mediaModels.video.primary \
"google/veo-3.1-fast-generate-preview"3. Pídelo en el chat
No hace falta invocar nada especial: el agente llama a la herramienta video_generate por su cuenta.
Genera un video vertical 9:16 de 4 segundos de un gato con gorro de chef revolviendo una olla de espagueti verde. Cámara fija, movimiento natural, sin texto.Para ver qué proveedores y modelos detectó tu instalación:
/tool video_generate action=listOpenClaw solo muestra video_generate cuando encuentra al menos un proveedor listo. Empieza con clips cortos y a 720p: ahorras mientras ajustas el prompt y confirmas que el archivo llega bien al canal.
Cómo funciona la generación de video

Un video puede tardar desde unos 30 segundos hasta varios minutos, según el proveedor y la resolución. Por eso OpenClaw no se queda esperando:
- El agente interpreta tu petición y llama a
video_generate. - OpenClaw decide qué modelo usar.
- Envía el trabajo al proveedor y registra un task ID.
- El proveedor procesa el video en segundo plano.
- Cuando termina, OpenClaw despierta la misma sesión y el agente te entrega el archivo en el chat.
Mientras se procesa, puedes seguir conversando. Si intentas iniciar otra generación en la misma sesión, OpenClaw puede devolver el estado de la tarea activa para evitar duplicados.
Cómo elige el modelo
OpenClaw recorre esta lista y se queda con el primero que aplique:
- El modelo que indiques en la petición (
model). mediaModels.video.primary.mediaModels.video.fallbacks, en orden.- Autodetección entre los proveedores que tengan credenciales.
Ojo con el primer punto: cuando nombras un modelo en la petición, OpenClaw usa ese y no pasa al siguiente si falla. Para aprovechar los fallbacks, pide el video sin nombrar proveedor.

Seguir una tarea
Cada tarea pasa por queued (en cola), running (el proveedor la está procesando), succeeded (el video está listo) o failed (error del proveedor o timeout). Para saber en qué va, pregunta en el chat:
¿Cómo va la generación de mi video?O revisa desde el servidor:
docker compose exec openclaw openclaw tasks listDespués usa el identificador devuelto:
docker compose exec openclaw openclaw tasks show <task-id>Dónde queda el archivo
OpenClaw guarda los resultados en su almacenamiento multimedia y los entrega como adjuntos o URLs. El límite compartido predeterminado para video es de 16 MB.
Si un proveedor termina correctamente pero el archivo no llega al chat, revisa el task y los logs. Para videos más grandes puedes aumentar:
agents.defaults.mediaMaxMbNo lo subas sin límite. WhatsApp, Telegram y otros canales también tienen restricciones propias. Para clips pesados es preferible conservar la URL del proveedor o procesarlos antes de enviarlos.
Proveedores soportados
OpenClaw integra más de una docena de proveedores de video. Todos generan desde texto; lo que cambia es si aceptan imágenes o videos de referencia, y cuántos.

La lista completa con los límites de cada uno está en la documentación oficial, pero la fuente más confiable es tu propia instalación: video_generate action=list te dice qué proveedores tienes listos y qué modos soporta cada uno.
Los tres modos de video_generate
video_generate no tiene un parámetro para elegir el modo: lo deduce de lo que le mandes.
Modo | Qué le mandas | Para qué sirve |
|---|---|---|
| Solo texto | Un clip desde cero |
| Una o más imágenes | Animar una imagen que ya aprobaste |
| Uno o más videos | Cambiar el estilo de un clip o extenderlo |
Antes de enviar la petición, OpenClaw revisa que el proveedor elegido soporte ese modo. Con imágenes puedes indicar para qué sirve cada una con imageRoles: first_frame (el video arranca en esa imagen), last_frame (termina en ella) o reference_image (solo sirve de referencia visual).
Qué puedes pedirle en el prompt
No necesitas escribir parámetros: los describes en tu mensaje y el agente los traduce al llamar a video_generate. Estos son los que más vas a usar:
Parámetro | Qué controla | Cómo lo pides en el chat |
|---|---|---|
| Proporción del video: | “en vertical”, “en horizontal 16:9” |
| Calidad de salida, de | “en 720p”, “en 1080p” |
| Duración; se ajusta a la más cercana que soporte el modelo | “de 6 segundos” |
| Audio generado junto con el video, si el proveedor lo soporta | “con sonido ambiente”, “sin audio” |
No todos los parámetros funcionan con todos los modelos. OpenClaw normaliza valores cercanos, omite controles incompatibles y lo informa en el resultado. No asumas que una petición a 4K, sin audio o con cierto aspect ratio fue aplicada: revisa los detalles devueltos.
Hay otros que vale la pena conocer: watermark para pedir el video sin marca de agua cuando el proveedor lo permite, audioRef para pasarle música o una voz de referencia, timeoutMs para darle más tiempo a una generación larga y providerOptions para opciones propias de cada proveedor, como fijar un seed en los que lo aceptan.
Si quieres ver todos los ajustes, están en la documentación de video_generate.
Agrega las credenciales sin exponerlas
En el Inicio rápido quedó pendiente un detalle: cómo llega la API key del proveedor a OpenClaw. Como en esta serie OpenClaw corre dentro de Docker, la API KEY no se escribe en el chat. Vive en el .env del servidor y el contenedor la recibe como variable de entorno. Nunca la mandes por WhatsApp.
Primero agrega al .env las API KEYS de los proveedores que vayas a usar. Aquí van las tres del laboratorio:
GEMINI_API_KEY=tu_key_de_google
RUNWAYML_API_SECRET=tu_secret_de_runway
XAI_API_KEY=tu_key_de_xaiDespués pásalas al servicio en tu archivo de Docker Compose:
services:
openclaw:
environment:
GEMINI_API_KEY: ${GEMINI_API_KEY}
RUNWAYML_API_SECRET: ${RUNWAYML_API_SECRET}
XAI_API_KEY: ${XAI_API_KEY}Recrea el servicio para cargar variables nuevas:
docker compose up -dComprueba presencia, nunca valores:
docker compose exec openclaw sh -lc '
test -n "$GEMINI_API_KEY" && echo GEMINI_API_KEY=present
test -n "$RUNWAYML_API_SECRET" && echo RUNWAYML_API_SECRET=present
test -n "$XAI_API_KEY" && echo XAI_API_KEY=present
'Si todavía no tienes Runway o xAI, agrega sus variables solamente cuando abras las cuentas. No dejes valores falsos o placeholders en producción: un proveedor sin credenciales simplemente no debe considerarse listo.
Qué recomiendo configurar
Para un sistema que usaré desde WhatsApp elegiría:
- Google Veo 3.1 Fast como proveedor principal: ya tengo
GEMINI_API_KEY, OpenClaw lo integra de forma nativa y es su modelo predeterminado documentado para Google. - Runway Gen-4.5 como primer fallback: añade un proveedor independiente y resulta útil cuando importa el movimiento, la cámara y la consistencia visual.
- xAI Grok Imagine Video como segundo fallback: ofrece otra ruta nativa para generación, edición y extensión sin depender de Google ni Runway.
No empezaría agregando cinco servicios. Tres rutas son suficientes para aprender cómo se comportan los fallbacks y comparar resultados sin volver inmanejable la facturación.
Para dejar esa cadena configurada:
docker compose exec openclaw openclaw config set \
agents.defaults.mediaModels.video.primary \
"google/veo-3.1-fast-generate-preview"
docker compose exec openclaw openclaw config set \
agents.defaults.mediaModels.video.fallbacks \
'["runway/gen4.5","xai/grok-imagine-video"]'Con esto, si Veo falla o no está disponible, OpenClaw intenta con Runway y después con xAI.
Laboratorio: el mismo prompt en tres proveedores
Cada prueba usa el mismo prompt en Google Veo, Runway y xAI, y nombra el modelo en la petición. Así ningún fallback se mete en medio y la comparación es pareja. Por ejemplo:
Genera este video con runway/gen4.5: <prompt>Los modelos que uso son google/veo-3.1-fast-generate-preview, runway/gen4.5 y xai/grok-imagine-video.

Prueba 1: texto a video (generate)
Sin ningún archivo de referencia: todo sale del prompt.
Texto a video
Texto → videoPromptVideo vertical 9:16, 6-8 s, fotorrealista, sin caricatura. Dos gatos domésticos reales cocinan espagueti verde mexicano en una cocina acogedora con acentos rosa, fucsia y lila y luz cálida. Kuka: delgado, pelo corto crema con rayas grises atigradas en cara, orejas, patas y cola; orejas grandes, ojos azul claro, gorro de chef. Gato 2: delgado, gris atigrado con blanco (pecho y patas blancos, cola rayada), ojos verde-amarillos, gorro de chef. Kuka, de pie en la estufa apoyado en la encimera, revuelve sin parar la pasta con cucharón de madera; el gato 2 vierte salsa cremosa de chile poblano de un tazón a la olla, con chorro verde y vapor. Final: una salpicadura cae cerca del hocico del gato 2 y reacciona sorprendido; Kuka voltea a mirarlo. Plano único, encuadre medio, ambos gatos visibles, dolly-in suave. Fotorrealista: pelaje y ojos detallados, fondo desenfocado. Sin humanos, texto, marcas, caricatura ni patas extra. Los gatos tocan comida y utensilios casi todo el clip.
Incluye sujeto, acción, entorno, cámara, iluminación, duración y formato. Entre más de eso fijes en el prompt, menos decide el modelo por ti.

Prueba 2: imagen a video (imageToVideo)
Aquí parto de una imagen generada con IA, como las de la entrada de imágenes: un aguacate superhéroe frente a un gran botón rojo de DEPLOY, con Bug, un escarabajo morado, al fondo. La adjunto en el chat y pido que la use como primer frame.
Imagen a video
Imagen → video
PromptVideo vertical 9:16, duración de 6 a 8 segundos, estilo animación 3D infantil cinematográfica, colorida y adorable. Anima la imagen manteniendo exactamente el diseño, colores y apariencia de los personajes y del escenario. El aguacate superhéroe, relacionado con TI, debe acercar lentamente el dedo al gran botón rojo de DEPLOY y presionarlo al final. Su capa se mueve suavemente y las luces del laboratorio parpadean. Detrás, Bug, el escarabajo morado elegante, levanta un poco la cabeza y sonríe de forma traviesa. Justo al activarse el botón, la iluminación cambia a rojo de alerta y el aguacate gira ligeramente la mirada hacia Bug con sorpresa. Movimiento fluido, cinematográfico y dramático, estilo animación 3D infantil, sin nuevos personajes, sin deformaciones, sin cambios de vestuario ni texto extra.
Este modo suele dar resultados más consistentes que el texto a video, porque el encuadre y el estilo ya vienen fijados por una imagen que aprobaste antes.

Lo dejé fuera a propósito. Evaluar bien el video a video es un tema mucho más amplio: entran en juego la referencia de identidad y la consistencia de personajes (identity reference / character consistency), la transferencia de movimiento (motion transfer), la estimación y el retargeting de poses (pose estimation / pose retargeting), la segmentación y las máscaras de video (video segmentation / masking) y la consistencia temporal (temporal consistency), entre otras cosas. Cada una merece su propia prueba.
Para practicar conviene empezar como aquí, generando desde cero, o usar el video a video solo para ediciones acotadas, como cambiar el estilo de un clip que ya te gusta.
Qué me pareció cada proveedor
Google Veo 3.1 Fast
Fue el más parejo de los tres. Con los gatos ganó, aunque no por mucho: se parecen a lo que describí, más o menos un 70 %, y la gota de salsa del final casi no se aprecia. Con el aguacate quedó último: la imagen se ve muy bien, pero fue el que más se alejó de la acción que le pedí. Tardó entre uno y dos minutos por clip y es el más caro, pero entrega el video con audio sin pedir nada extra.
Si quieres gastar menos mientras ajustas prompts, Google también ofrece Veo 3.1 Lite a USD $0.05/s en 720p y $0.08/s en 1080p. Si aparece en tu action=list, puedes pedirlo con google/veo-3.1-lite-generate-preview.
Runway Gen-4.5
Es el que mejor entiende lo que le describes. Con el aguacate ganó sin discusión: fue el que mejor convirtió el prompt en escena. Con los gatos, los movimientos y el parecido estuvieron bien, pero la salsa sale como si el gato la vomitara sobre el tazón, en vez de verterla del tazón a la olla. Seguramente se corrige en una segunda iteración, pero la idea era mostrar el primer intento. Sus puntos débiles: los clips llegan sin audio y fue el más lento, con más de dos minutos por video.
Gen-4.5 cuesta 12 créditos por segundo y la API cobra cada crédito a USD $0.01: un clip de 10 segundos sale en unos USD $1.20.
xAI Grok Imagine Video
El más rápido y el más barato por mucho: entre 30 y 40 segundos y unos USD $0.40 por clip. En las dos pruebas quedó en un punto medio. Con los gatos el parecido con la descripción es bajo, como un 60 de 100, la gota de salsa no luce y la pala que mueve el espagueti se mueve sola, sin que el gato la toque. Con el aguacate conservó bien la imagen y cumplió la acción a medias. Para iterar un prompt antes de gastar en otro modelo, es el que usaría primero.
xAI también tiene grok-imagine-video-1.5, que solo hace imagen a video pero acepta clips de 1 a 15 segundos. Revisa en action=list cuál de los dos aparece en tu instalación.
Del video a la publicación
Con esto ya puedes pedir un video desde el chat, saber qué modelo lo va a generar y darle seguimiento mientras se procesa.
Después de generar una imagen y animarla, el siguiente paso será tomar el archivo producido, revisar una vista previa y publicarlo con la integración de Upload-Post que ya configuramos en los artículos anteriores.
Comentarios
Sé la primera persona en comentar.