HiAPI
Blog

Tutorial

API de video Grok Imagine: imagen a video y texto a video con 1.0 y 1.5

Qué endpoint de video Grok Imagine usar en cada caso, cuánto cuesta cada clip, ejemplos reales de salida con prompts y código curl y Python listo para ejecutar.

Jul 3, 2026
API de video Grok Imagine: imagen a video y texto a video con 1.0 y 1.5

TL;DR

  • La API de video Grok Imagine en HiAPI tiene tres endpoints: texto a video 1.0, imagen a video 1.0 e imagen a video 1.5. Los tres cuestan lo mismo: $0.015 por segundo en 480p y $0.0282 por segundo en 720p, y cada clip incluye efectos de sonido generados sin coste adicional.
  • 1.0 dura de 6 a 30 segundos y acepta hasta 7 imágenes de referencia. 1.5 dura de 1 a 15 segundos, acepta solo una imagen y, con aspect_ratio: "auto", hace que la salida siga la forma de esa imagen.
  • Un clip borrador de 6 segundos en 480p cuesta $0.09. Abre la página del modelo de imagen a video para probarlo; las cuentas nuevas reciben 200 créditos gratis.

Qué endpoint usar

ID del modelo Entrada Duración Relación de aspecto Extras
grok-imagine/text-to-video prompt 6–30 s (predeterminado 6) 2:3 (predeterminado), 3:2, 1:1, 16:9, 9:16 mode: normal o fun
grok-imagine/image-to-video 1–7 imágenes + prompt opcional 6–30 s (predeterminado 6) Igual que arriba mode; usa @image1, @image2 para referenciar imágenes
grok-imagine-1.5/image-to-video Exactamente 1 imagen + prompt opcional 1–15 s (predeterminado 8) auto (predeterminado), 1:1, 16:9, 9:16, 3:2, 2:3 Sin mode

Los tres endpoints se facturan por segundo: $0.015 (480p, predeterminado) o $0.0282 (720p). Precios en tiempo real de HiAPI, consultados el 19 de octubre de 2026. Las tareas fallidas no se cobran.

Cómo elegir:

  • Más de 15 segundos o varias imágenes de producto como referencia: imagen a video 1.0.
  • Una sola imagen fija, clip corto y salida que conserve la forma de la imagen fija: imagen a video 1.5. Es también el único endpoint que permite menos de 6 segundos, así que un clip en bucle de 4 segundos cuesta menos.
  • Sin ninguna imagen: texto a video 1.0.
Clip 480p 720p
4 segundos (solo 1.5) $0.06 $0.11
6 segundos $0.09 $0.17
15 segundos $0.23 $0.42
30 segundos (solo 1.0) $0.45 $0.85

Salidas reales

Imagen a video 1.0, una imagen de referencia. Una imagen fija de catálogo de una bolsa de viaje de fin de semana:

Órbita cinematográfica lenta alrededor de la bolsa de viaje de fin de semana en lona naranja quemado, la cámara gira suavemente de la vista frontal a la vista de tres cuartos, la iluminación de estudio destella en las cremalleras de latón, el fondo blanco continuo permanece limpio y sin sombras, el producto perfectamente nítido e intacto, sutil energía de comercio electrónico premium.

grok-imagine/image-to-video, 6 segundos, 720p, una imagen de referencia, $0.17. Solicitamos 9:16, pero la imagen de origen cuadrada devolvió una salida también cuadrada (960×960).

Imagen a video 1.0, dos imágenes de referencia. Pasar a la vez una imagen de escena cotidiana y una imagen de producto permite que la bolsa mantenga un aspecto coherente en la nueva escena:

grok-imagine/image-to-video, 6 segundos, 720p, 9:16, dos imágenes de referencia, $0.17.

Imagen a video 1.5, la misma imagen fija, dos movimientos de cámara. El movimiento de cámara se expresa en el prompt. Cambia un verbo y obtendrás una toma distinta:

Lento y constante dolly push-in por la calle del mercado empapada de lluvia hacia el puesto de fideos resplandeciente, vapor que se eleva y se enrosca desde las ollas, lluvia que cae en finas franjas, reflejos del letrero de neón que brillan sobre el pavimento mojado, peatones que se alejan caminando despacio bajo paraguas, velocidad de cámara constante y suave, una sola toma continua, sin cortes, ritmo cinematográfico

Abrir la página del modelo con este prompt (sube primero tu imagen fija) →

grok-imagine-1.5/image-to-video, 6 segundos, 720p, 16:9, $0.17.

La cámara se desliza despacio hacia la izquierda en un suave movimiento de seguimiento lateral, fuerte paralaje entre los puestos cercanos del mercado y el extremo lejano de la calle, la lluvia sigue cayendo, los reflejos de neón se deslizan por el suelo mojado, el cocinero sigue removiendo detrás del mostrador, el vapor se desplaza de lado, un solo movimiento continuo, sin cortes, sin zoom

grok-imagine-1.5/image-to-video, 6 segundos, 720p, 16:9, $0.17.

1.5, un bucle ambiental de 4 segundos. Con la cámara fija, todo el movimiento proviene de la propia escena:

grok-imagine-1.5/image-to-video, 4 segundos, 720p, 16:9, $0.11.

curl

Imagen a video 1.0:

curl -s -X POST https://api.hiapi.ai/v1/tasks \
  -H "Authorization: Bearer $HIAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "grok-imagine/image-to-video",
    "input": {
      "image_urls": ["https://your-cdn.example.com/product.jpg"],
      "prompt": "Slow orbit around the product, studio light, background stays clean",
      "duration": 6,
      "resolution": "480p",
      "aspect_ratio": "9:16"
    }
  }'

Recibirás un taskId. Consulta GET https://api.hiapi.ai/v1/tasks/{taskId} hasta que data.status sea success y luego descarga data.output[0].url. Los enlaces caducan, así que guarda el archivo de inmediato.

Para texto a video, cambia el modelo a grok-imagine/text-to-video y elimina image_urls. Para usar 1.5, cambia el modelo a grok-imagine-1.5/image-to-video, deja una sola imagen y elimina mode.

Python: enviar, consultar y descargar

# pip install requests; export HIAPI_KEY=your-key first
import os, time, uuid, requests

API = "https://api.hiapi.ai/v1/tasks"
H = {"Authorization": f"Bearer {os.environ['HIAPI_KEY']}"}

def generate(model, timeout_s=900, **inp):
    body = {"model": model, "input": inp}
    # Reuse the same Idempotency-Key if you retry a submit, so a retry never bills twice
    r = requests.post(API, json=body, headers={**H, "Idempotency-Key": str(uuid.uuid4())}, timeout=30)
    res = r.json()
    if res.get("code") != 200:
        raise RuntimeError(res)  # 400s list every invalid field
    task_id = res["data"]["taskId"]
    deadline = time.time() + timeout_s
    while time.time() < deadline:
        d = requests.get(f"{API}/{task_id}", headers=H, timeout=30).json()["data"]
        if d["status"] == "success":
            return d["output"][0]["url"]
        if d["status"] == "fail":
            raise RuntimeError(d)
        time.sleep(10)
    raise TimeoutError(task_id)

still = "https://your-cdn.example.com/still.jpg"

# Draft cheaply on 1.5 at 480p, then re-render the keeper at 720p
draft = generate("grok-imagine-1.5/image-to-video", image_urls=[still],
                 prompt="slow push-in, steam rising, camera steady", duration=4, resolution="480p")
final = generate("grok-imagine-1.5/image-to-video", image_urls=[still],
                 prompt="slow push-in, steam rising, camera steady", duration=6, resolution="720p")

# A 20-second clip needs 1.0
long_clip = generate("grok-imagine/image-to-video", image_urls=[still],
                     prompt="slow push-in, steam rising, camera steady", duration=20, resolution="480p")

with open("clip.mp4", "wb") as f:
    f.write(requests.get(final).content)

Parámetros

Campo Texto a video 1.0 Imagen a video 1.0 Imagen a video 1.5
prompt Obligatorio, máximo 5,000 caracteres Opcional Opcional, máximo 4,096 caracteres
image_urls No se acepta 1–7, jpeg/png/webp, máximo 10 MB cada una Exactamente 1, jpeg/png/webp, máximo 20 MB
duration 6–30 6–30 1–15
resolution 480p (predeterminado) / 720p Igual que arriba Igual que arriba
aspect_ratio 2:3 predeterminado 2:3 predeterminado auto predeterminado (sigue la imagen)
mode normal (predeterminado) / fun Igual que arriba No se acepta

Errores que encontrarás

Todos estos errores se devuelven como HTTP 400 en el envío, así que no crean ninguna tarea ni generan ningún coste:

  • duration: minimum: got 4, want 6: 1.0 empieza en 6 segundos. Para clips más cortos usa 1.5.
  • duration: maximum: got 20, want 15: 1.5 dura como máximo 15 segundos. Para clips más largos usa 1.0.
  • image_urls: maxItems: got 2, want 1: 1.5 acepta solo una imagen.
  • additional properties 'mode' not allowed: 1.5 no tiene mode.
  • resolution: value must be one of '480p', '720p': no hay 1080p y debe ir en minúsculas.

Preguntas frecuentes

¿Elegir 1.0 o 1.5?

El precio por segundo es el mismo. Elige según la entrada y la duración: varias imágenes de referencia o más de 15 segundos con 1.0; una sola imagen fija y clips cortos con 1.5. Si dudas, genera la misma imagen fija en ambos endpoints durante 6 segundos en 480p: cuesta $0.18 en total.

¿Tiene sonido?

Sí. Todos los clips anteriores devolvieron una pista de audio generada; en el clip en bucle del faro se oyen claramente las olas. No hay interruptor para desactivarlo (generate_audio y audio se rechazan como campos desconocidos) y el sonido no afecta al precio. Si no lo quieres, puedes quitar la pista de audio al editar.

¿Se puede generar en 1080p?

No. La resolución máxima de los tres endpoints es 720p.

¿Qué hace mode: "fun"?

Es una opción de 1.0 que hace el movimiento más vivo y exagerado. normal es el valor predeterminado y también la opción más segura para clips de producto.

Más ejemplos: Grok Imagine 1.5 para videos de formato corto. Para consultar los precios de toda la serie, ve a Precios de la API de Grok Imagine. Para generar imágenes estáticas, consulta la guía de la API de imágenes de Grok Imagine.

Artículos relacionados

Ver todos los artículos →

Empieza a crear con artefactos de IA persistentes

Consigue tu API key y llama a modelos de imagen, vídeo y audio a través de una única API basada en tasks.

Leer la documentación de la API