Grok Imagine: cómo convertir una imagen en un vídeo corto
Flujo práctico de Grok Imagine para elegir una imagen, escribir el prompt de movimiento, revisar continuidad, entender límites, consultar la API y guardar el vídeo.
Índice

Puede que ya tengas una imagen fija de Grok Imagine que te gusta, pero al convertirla en vídeo cambia la cara, desaparece un objeto, se deforma el fondo o ni siquiera aparece la misma acción de vídeo que viste en la captura de otra persona. En lugar de repetir la generación al azar, separa cuatro controles: imagen de origen, prompt de movimiento, continuidad y acceso de la cuenta.
Primero verás un flujo para la web o la app de Grok que no depende de nombres concretos de botones; después, una ruta reproducible con la API de xAI. El resultado será una imagen guardada, un clip corto guardado y un método para decidir si debes corregir la imagen, el movimiento, la cámara o el acceso.
Completa una vez el flujo de imagen a vídeo en cinco pasos
En la primera versión usa una sola acción del sujeto y un solo movimiento de cámara. El objetivo es comprobar que la cadena funciona antes de pedir una escena cinematográfica compleja.
- Genera la imagen fija. Fija el sujeto, la ropa o el objeto clave, la composición, el fondo y la luz; no metas una secuencia larga de acciones en este prompt.
- Elige una imagen apta para animar. Revisa cara, manos, texto, bordes y oclusiones. Los defectos ya presentes suelen hacerse más visibles en movimiento.
- Escribe un prompt de movimiento separado. Describe solo lo que ocurre después y enumera la identidad y los elementos de escena que no deben cambiar.
- Inicia el vídeo desde esa imagen. Abre la imagen elegida y usa la acción de animación o vídeo que tu cuenta muestre realmente; el nombre puede variar según cuenta, versión y región.
- Descarga antes de repetir. Comprueba movimiento, continuidad del sujeto, cámara y archivo guardado; en la siguiente versión cambia solo una variable.
Fija identidad y composición en la imagen antes de añadir movimiento
Una imagen preparada para animación debe ser estable antes que espectacular. Rasgos faciales, ropa, accesorios, objetos y relaciones espaciales claros te dan elementos concretos que conservar y revisar.
Construye el prompt en este orden: sujeto y rasgos estables, composición y cámara, fondo, luz y estilo, y relación de aspecto. Deja espacio hacia la dirección del movimiento; si quieres acercar la cámara, no empieces con la cara ocupando todo el encuadre.
Plantilla de prompt para la imagen
Sujeto y rasgos invariables; ropa, accesorios u objeto clave; tamaño de plano, altura de cámara y sensación de lente; fondo e iluminación; relación de aspecto final.
Ejemplo
Retrato cinematográfico de medio cuerpo de una mujer joven con abrigo gris carbón y un pájaro amarillo brillante sobre el hombro; una multitud en una estación crea un desenfoque suave de movimiento al fondo; cámara a la altura de los ojos, sensación de lente de 50 mm, poca profundidad de campo; mujer y pájaro nítidos; 16:9.
Al elegir entre variaciones, prioriza estas comprobaciones en vez de quedarte solo con la imagen más atmosférica:
- La cara, los ojos, las manos y el objeto principal son coherentes y tienen siluetas separadas.
- Las partes del cuerpo que deben moverse no están cortadas por el encuadre ni muy ocultas por el primer plano.
- Peinado, color de ropa, accesorios y número de sujetos son fáciles de nombrar para poder fijarlos en el prompt de movimiento.
- El fondo no contiene texto roto, personas duplicadas ni estructuras de líneas densas que puedan deformarse.
Si la identidad o la geometría ya son poco fiables en la imagen, vuelve a generar la imagen primero. No esperes que la generación de vídeo las repare de forma accidental.
Describe el cambio en el prompt de movimiento, no una escena nueva
Un prompt útil tiene cuatro partes: acción del sujeto, acción de cámara, acción del fondo y lista de elementos bloqueados. Empieza con una acción clara por categoría para reducir cambios simultáneos de cara, vestuario y escenario.
Usa una acción con inicio y final visibles en pocos segundos. “Gira hacia la cámara y parpadea una vez” se puede comprobar; “muestra una emoción cinematográfica” no. Elige también una sola conducta de cámara: acercamiento, alejamiento, paneo o cámara fija.
Plantilla de prompt de movimiento
Qué hace el sujeto durante unos segundos; cómo se mueve la cámara; cómo se mueve el fondo; qué cara, ropa, objeto, color, composición y relación espacial deben permanecer iguales.
Ejemplo
La mujer gira lentamente hacia la cámara y parpadea una vez. El pájaro amarillo cambia el apoyo de sus patas y abre ligeramente un ala. La multitud sigue pasando detrás. La cámara se acerca despacio. Mantener sin cambios la cara de la mujer, el abrigo gris carbón, el color del pájaro, el número de sujetos, el encuadre y la distribución de la estación.
No empieces pidiendo a la vez cambio de vestuario, cambio de clima, explosión, interacción de varias personas y un movimiento complejo de cámara. Estabiliza una acción verificable y añade después un elemento cada vez.
Inicia desde la imagen elegida y guarda ambos resultados de inmediato
En la app o la web de Grok, lo importante no es el texto exacto del botón. Confirma que continúas desde la imagen elegida y no que empiezas otra solicitud de text-to-video.
Abre la imagen final, usa la acción de animación o image-to-video disponible en tu cuenta, pega el prompt de movimiento y elige una primera versión corta y sencilla. Si no aparece la acción, revisa la versión de la app, la cuenta activa, el plan, la región y cualquier aviso de espera; una captura ajena no demuestra que tu cuenta tenga el mismo acceso.
Cuando termine, descarga enseguida la imagen y el clip y guarda los dos prompts en el mismo registro. Las URL alojadas pueden ser temporales; sin archivos locales no podrás comparar versiones posteriores con fiabilidad.
Revisa cinco puntos antes de gastar otra generación
Que el vídeo se reproduzca no significa que sea utilizable. Revisa siempre en el mismo orden para distinguir un problema de imagen, movimiento, cámara o acceso.
- Coincidencia del primer fotograma: cara, ropa, pájaro, número de sujetos y fondo corresponden a la imagen elegida.
- Movimiento correcto: la acción solicitada ocurre con la dirección, amplitud y secuencia previstas.
- Continuidad del sujeto: no hay cambio de cara, extremidades extra o ausentes, cambios de color, accesorios que desaparecen ni sujetos que se fusionan.
- Control de cámara: solo se ejecuta el movimiento pedido, sin cortes, giros ni sacudidas inesperadas.
- Entrega guardada: el clip se reproduce completo, está descargado y se puede relacionar con su imagen y su prompt.
Si falla la identidad o el guardado, no aumentes todavía el movimiento. Vuelve a la imagen o al prompt y añade complejidad solo cuando puedas atribuir cada fallo a una etapa concreta.
Separa el acceso de Grok, los límites de la API y los ejemplos de usuarios
A 2026-09-28, la documentación oficial confirma la capacidad image-to-video y el contrato de la API, pero no que todas las cuentas de Grok tengan la misma acción, cuota o etiqueta.
| Fuente | Qué conclusión permite |
|---|---|
| Tu propia pantalla de Grok | Confirma si esa cuenta tiene la acción, cuota restante, aviso de espera y descarga funcional. |
| Documentación oficial de xAI API | Confirma modelo, formatos, estados asíncronos, duración y resolución de la API, no el acceso de la interfaz de Grok. |
| Una publicación de un creador en X | Confirma su clip en ese momento, no un límite universal, una calidad garantizada ni una cuota gratuita. |
La guía oficial de image-to-video admite una URL pública, un data URI base64 o un file_id de Files API. La guía de generación de vídeo documenta 1–15 segundos y salidas 480p, 720p y 1080p para image-to-video. Si omites aspect_ratio, se conserva la proporción de la imagen; al forzar otra, la imagen se estira. La solicitud devuelve request_id, pasa por pending, done, failed o expired y entrega una URL temporal.
Trata cuotas, pausas y disponibilidad regional de la app como específicas de la cuenta. Los límites de API dependen del nivel y no equivalen al número de generaciones dentro de Grok; antes de usar lotes, revisa el precio actual de la API y el nivel de tu consola.
La publicación de Frame Zero en X cuenta que creó una imagen en Grok Imagine y después un clip de cuatro segundos. Es una pista útil del flujo, no un máximo oficial ni una promesa de idéntico resultado con otro prompt, cuenta o imagen.
Usa la API oficial cuando necesites un flujo reproducible
El ejemplo Bash sigue los contratos actuales de generación de imágenes, image-to-video y consulta asíncrona de vídeo. Genera y guarda la imagen, inicia el vídeo, obtiene request_id, consulta estados, maneja failed/expired, descarga el MP4 y se detiene tras diez minutos.
Necesitas una cuenta de xAI API con acceso y facturación, además de curl, jq y python3. Es un ejemplo Bash. La clave se lee en silencio en XAI_API_KEY, por lo que no queda escrita en el script ni en el historial. En la primera ejecución mantén duration: 8 y resolution: "720p".
set -euo pipefail
command -v curl >/dev/null
command -v jq >/dev/null
command -v python3 >/dev/null
read -rs XAI_API_KEY && export XAI_API_KEY
trap 'unset XAI_API_KEY' EXIT
STILL_PROMPT=$(cat <<'PROMPT'
Retrato cinematográfico de medio cuerpo de una mujer joven con abrigo gris carbón y un pájaro amarillo brillante sobre el hombro; una multitud en una estación crea un desenfoque suave de movimiento al fondo; cámara a la altura de los ojos, sensación de lente de 50 mm, poca profundidad de campo; mujer y pájaro nítidos.
PROMPT
)
MOTION_PROMPT=$(cat <<'PROMPT'
La mujer gira lentamente hacia la cámara y parpadea una vez. El pájaro amarillo cambia el apoyo de sus patas y abre ligeramente un ala. La multitud sigue pasando detrás. La cámara se acerca despacio. Mantener sin cambios la cara de la mujer, el abrigo gris carbón, el color del pájaro, el número de sujetos, el encuadre y la distribución de la estación.
PROMPT
)
IMAGE_PAYLOAD=$(jq -n \
--arg prompt "$STILL_PROMPT" \
'{
model: "grok-imagine-image-2.0",
prompt: $prompt,
aspect_ratio: "16:9",
resolution: "1k"
}')
IMAGE_JSON=$(curl --fail-with-body --silent --show-error \
https://api.x.ai/v1/images/generations \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $XAI_API_KEY" \
-d "$IMAGE_PAYLOAD")
IMAGE_URL=$(jq -r '.data[0].url // empty' <<<"$IMAGE_JSON")
if [ -z "$IMAGE_URL" ]; then
printf '%s\n' "No se encontró la URL de la imagen en la respuesta." >&2
jq . <<<"$IMAGE_JSON" >&2
exit 1
fi
curl --fail-with-body --location --silent --show-error \
"$IMAGE_URL" -o grok-imagine-still.jpg
VIDEO_PAYLOAD=$(jq -n \
--arg prompt "$MOTION_PROMPT" \
--arg image "$IMAGE_URL" \
'{
model: "grok-imagine-video-1.5",
prompt: $prompt,
image: {url: $image},
duration: 8,
resolution: "720p"
}')
START_JSON=$(curl --fail-with-body --silent --show-error \
https://api.x.ai/v1/videos/generations \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $XAI_API_KEY" \
-d "$VIDEO_PAYLOAD")
REQUEST_ID=$(jq -r '.request_id // empty' <<<"$START_JSON")
if [ -z "$REQUEST_ID" ]; then
printf '%s\n' "No se encontró request_id en la respuesta de inicio del vídeo." >&2
jq . <<<"$START_JSON" >&2
exit 1
fi
for _ in $(seq 1 120); do
RESULT=$(curl --fail-with-body --silent --show-error \
"https://api.x.ai/v1/videos/$REQUEST_ID" \
-H "Authorization: Bearer $XAI_API_KEY")
STATUS=$(jq -r '.status // "unknown"' <<<"$RESULT")
case "$STATUS" in
pending)
sleep 5
;;
done)
VIDEO_URL=$(jq -r '.video.url // empty' <<<"$RESULT")
if [ -z "$VIDEO_URL" ]; then
printf '%s\n' "No se encontró la URL del vídeo en la respuesta completada." >&2
jq . <<<"$RESULT" >&2
exit 1
fi
curl --fail-with-body --location --silent --show-error \
"$VIDEO_URL" -o grok-imagine-output.mp4
printf '%s\n' "Guardados grok-imagine-still.jpg y grok-imagine-output.mp4"
exit 0
;;
failed|expired)
printf 'La generación de vídeo terminó con el estado: %s\n' "$STATUS" >&2
jq . <<<"$RESULT" >&2
exit 1
;;
*)
printf 'Estado inesperado: %s\n' "$STATUS" >&2
jq . <<<"$RESULT" >&2
exit 1
;;
esac
done
printf '%s\n' "La consulta se detuvo tras diez minutos sin completarse." >&2
exit 1
La señal de éxito es un código de salida 0 y los archivos grok-imagine-still.jpg y grok-imagine-output.mp4 en la carpeta actual. Un error HTTP detiene curl --fail-with-body; failed o expired imprime la respuesta completa y sale, sin esperar para siempre ni crear en silencio otra solicitud facturable.
El código es una plantilla reproducible basada en campos documentados, no una prueba de calidad visual. Una generación aleatoria no tiene por qué repetir la imagen del ejemplo. Antes de usar lotes, ejecuta una solicitud y confirma acceso, precio, límites, calidad y descarga.
Corrige el fallo más probable antes de cambiar todos los parámetros
Cambia una sola variable anterior por intento para que el siguiente resultado pueda señalar la causa.
No aparece la acción image-to-video
Comprueba primero que has abierto la imagen final y no una conversación nueva. Revisa después versión, cuenta, plan, región y avisos de espera. No copies el nombre de un botón ajeno; si tienes acceso API, usa el endpoint oficial image-to-video.
Cambia la cara o desaparece un objeto
Elige una imagen con siluetas más claras y menos oclusión, reduce la amplitud y termina el prompt bloqueando cara, ropa, color, número de sujetos y objeto clave. Si el primer fotograma ya difiere, añadir más texto rara vez es la solución.
El vídeo casi no se mueve
Sustituye palabras abstractas por una transición visible con inicio y final, por ejemplo: “pasa de mirar a la izquierda a mirar a cámara y parpadea una vez”. Mantén una acción de sujeto y una de cámara.
El fondo se deforma o la cámara se descontrola
Elimina primero el movimiento del fondo y conserva solo la acción del sujeto; deja la cámara fija o con un único acercamiento lento. Multitudes, texto, vallas y líneas cruzadas tienden a derivar.
La API permanece pending y termina failed o expired
Consulta a un intervalo fijo y no envíes duplicados porque hayan pasado unos minutos. Tras failed o expired, revisa respuesta, clave, cuenta y disponibilidad de la URL de origen; después crea una solicitud nueva.
La URL completada deja de funcionar
La documentación oficial indica que las URL de imagen y vídeo son temporales. Descarga al llegar a done, incluye la versión en el nombre local y no uses la URL alojada como archivo permanente.
Mantén la imagen y cambia una sola variable en la segunda versión
Una repetición útil responde una pregunta; “hazlo otra vez” no responde ninguna.
- Mantén la misma imagen y lista de identidad; cambia solo la amplitud del movimiento para comprobar la continuidad.
- Cuando el movimiento sea estable, cambia únicamente la cámara, por ejemplo de fija a acercamiento lento, sin sustituir la imagen.
- Después ajusta duración o resolución y registra tiempo, estado final y resultado de descarga.
- Guarda en una línea versión, archivo de origen, prompt de movimiento, parámetros y resultado de revisión.
Así sabrás si el problema viene de la imagen, del movimiento, de la cámara o del acceso. Estabiliza una cadena sencilla antes de añadir una segunda acción o una escena más compleja.
Fuentes y alcance
Estas páginas se comprobaron el 2026-09-28. Las fuentes oficiales sustentan capacidades y campos de la API; la publicación de X es solo el informe de un creador.
- xAI Image Generation — modelo,
/v1/images/generations, URL temporales y configuración. - xAI Image-to-Video — entradas admitidas y ejemplo con
grok-imagine-video-1.5. - xAI Video Generation — flujo asíncrono, estados, duración, resolución y URL temporal.
- xAI Videos REST API Reference —
request_idy endpoint de resultado. - xAI Release Notes — registro del 2026-07-31 sobre modalidades de
grok-imagine-video-1.5. - Publicación de Frame Zero en X — experiencia personal, no límite oficial ni conclusión general de calidad.