HiAPI
Blog

Tutorial

¿Cómo usar la API de imagen a vídeo de Grok Imagine 1.5 Lite? Haz que tus fotos cobren vida

Convierte una imagen en un vídeo de 1–15 s con sonido: precio con costo de imagen de entrada incluido, la relación de aspecto sigue a la imagen y ejemplos en curl/Python.

Oct 23, 2026
¿Cómo usar la API de imagen a vídeo de Grok Imagine 1.5 Lite? Haz que tus fotos cobren vida

TL;DR

  • Grok Imagine 1.5 Lite Image to Video (grok-imagine-1.5-lite/image-to-video) sube 1 imagen y la hace moverse: 1–15 segundos, con sonido propio y la relación de aspecto sigue a la imagen de entrada. Abre la página del modelo, sube una imagen y pruébalo; los usuarios nuevos reciben 200 créditos al registrarse.
  • Precio = precio por segundo × segundos + $0.015 por imagen de entrada: 720P 6 segundos cuesta $0.273; 480P $0.189; 1080P $1.215.
  • La llamada se hace a través de la interfaz /v1/tasks de HiAPI: image_url es una cadena (no un array), exactamente 1 dirección pública.

Qué puede hacer

  • Convierte una foto en una toma con sonido: el movimiento, el movimiento de cámara y los efectos de sonido se describen en el prompt, mientras el sujeto de la imagen se mantiene igual al original.
  • La relación de aspecto sigue a la imagen de entrada: imagen horizontal da 16:9 (1264×720), imagen vertical da 9:16 (720×1264), imagen cuadrada da 1:1 (960×960), 4:3 da 1104×816; los píxeles se redondean a los tamaños admitidos y la proporción no cambia.
  • Cualquier número entero de segundos entre 1 y 15, con tres niveles de resolución.
  • Texto a vídeo de la misma serie: para generar desde cero, consulta la guía de integración de texto a vídeo; ambas interfaces tienen el mismo precio (la de imagen añade $0.015 por imagen de entrada) y usan el mismo /v1/tasks; el código solo cambia en model y image_url.

Cómo leer la tabla de precios:

  • «Precio por segundo × segundos» es el costo del vídeo en sí, exactamente igual que en texto a vídeo;
  • $0.015 es el cargo adicional por la imagen de entrada, una cantidad fija por cada vídeo, independientemente de la resolución y la duración;
  • Por eso, con los mismos parámetros, imagen a vídeo cuesta $0.015 más que texto a vídeo: 720P 6 segundos $0.258 + $0.015 = $0.273. Para un lote de mil vídeos, esa diferencia es de $15, así que hay que preverla en el presupuesto.

Aquí tienes un resultado real (foto de surf → toma de seguimiento de 6 segundos, con sonido de olas incluido):

The wave curls and breaks behind the surfer as he carves down its face, white spray bursts and sparkles in the golden backlight, water rushes past. Smooth tracking camera following the surfer. Loud ocean surf and rushing water. Keep the photo realistic. No text, no logos.

(Significado en chino: la ola se curva y rompe detrás del surfista mientras él desciende por su cara, el rocío blanco estalla y brilla en la contraluz dorada. Cámara de seguimiento suave siguiendo al surfista. Sonido fuerte de oleaje y agua corriendo. Mantén el aspecto realista de la foto. Sin texto, sin logotipos).

·

grok-imagine-1.5-lite/image-to-video, 720P, 6 segundos, 16:9, 1264×720, con sonido propio, $0.273 (incluye $0.015 de imagen de entrada).Ver el vídeo completo →

Generar con este prompt →

Precio: precio por segundo + costo de imagen de entrada

Nivel Por segundo 6 segundos por vídeo (incluye $0.015 de imagen de entrada)
480P $0.029 $0.189
720P (predeterminado) $0.043 $0.273
1080P $0.20 $1.215

Precio actual de HiAPI, verificado el 23 de octubre de 2026. image_url es obligatorio, así que cada vídeo incluye esos $0.015; 1080P cuesta $0.2 por segundo (unas 4.65 veces 720P); para exploración por lotes usa 480P. Los fallos no se cobran.

Dos rutas para empezar

3 pasos en el navegador: abre la página del modelo → sube la imagen y escribe la descripción del movimiento → pulsa generar.

3 pasos por API: POST /v1/tasks para enviar → obtén taskId → consulta GET /v1/tasks/<taskId> hasta que aparezca success y descarga.

curl: el primero

curl -X POST https://api.hiapi.ai/v1/tasks \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: your-unique-key-001" \
  -d '{
  "model": "grok-imagine-1.5-lite/image-to-video",
  "input": {
    "prompt": "The wave curls and breaks behind the surfer as he carves down its face, white spray bursts and sparkles in the golden backlight, water rushes past. Smooth tracking camera following the surfer. Loud ocean surf and rushing water. Keep the photo realistic. No text, no logos.",
    "image_url": "https://static.hiapi.ai/gallery/2026/10/3f75ff28db9e0070.png",
    "duration": 6,
    "resolution": "720p"
  }
}'

Ten en cuenta que image_url es una cadena y solo se pasa una imagen; si pasas un array, devuelve 400.

Python: enviar, consultar y descargar

import time, uuid, requests

BASE = "https://api.hiapi.ai/v1/tasks"
HEADERS = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json",
}

payload = {
    "model": "grok-imagine-1.5-lite/image-to-video",
    "input": {
        "prompt": "The wave curls and breaks behind the surfer as he carves down its face, white spray bursts and sparkles in the golden backlight, water rushes past. Smooth tracking camera following the surfer. Loud ocean surf and rushing water. Keep the photo realistic. No text, no logos.",
        "image_url": "https://example.com/your-image.png",
        "duration": 6,
        "resolution": "720p",
    },
}

resp = requests.post(
    BASE,
    headers={**HEADERS, "Idempotency-Key": str(uuid.uuid4())},
    json=payload,
    timeout=30,
)
resp.raise_for_status()
task_id = resp.json()["taskId"]

while True:
    task = requests.get(f"{BASE}/{task_id}", headers=HEADERS, timeout=30).json()
    print(task["status"])
    if task["status"] in ("success", "fail"):
        break
    time.sleep(5)

if task["status"] == "success":
    video = next(o for o in task["output"] if o.get("type") == "video")
    mp4 = requests.get(video["url"], timeout=120)   # 临时地址,尽快保存
    with open("output.mp4", "wb") as f:
        f.write(mp4.content)
    print("saved output.mp4")

Tabla de parámetros

Campo Obligatorio Valores Descripción
image_url Sí Cadena, exactamente 1 dirección pública La proporción de salida sigue a esta imagen
prompt Sí 1–4096 caracteres Describe el movimiento o cambio deseado, incluidos los efectos de sonido
duration No Cualquier número entero de 1 a 15, predeterminado 6
resolution No 480p / 720p / 1080p, predeterminado 720p

Si el cuerpo de la solicitud contiene campos fuera de la tabla, devuelve 400 directamente.

Errores que encontrarás

Código de estado Significado Cómo resolverlo
400 INVALID_REQUEST Cuerpo de solicitud no válido (falta image_url, se pasa image_url como array o se pasa un campo fuera de la tabla) Usa image_url como cadena
402 INSUFFICIENT_QUOTA Saldo insuficiente (no se cobra) Recarga y vuelve a intentarlo
429 RATE_LIMITED Se activó el límite de frecuencia Reduce la frecuencia de envío
409 / 422 IDEMPOTENCY_KEY_* Envío duplicado con la misma clave de idempotencia Cambia a una nueva Idempotency-Key

También hay fallos en el estado final de la tarea como CONTENT_POLICY_VIOLATION, TASK_FAILED, TASK_TIMEOUT, etc.; los fallos no se cobran.

Antes de lanzar

  • Callback: las tareas de vídeo tardan mucho; pasa "callback": {"url": "https://..."} en el nivel superior para ahorrarte el sondeo.
  • Guarda cuanto antes: la dirección del vídeo en output es temporal; descárgala en cuanto la recibas y guárdala en tu propio almacenamiento; no uses enlaces temporales como biblioteca de material.
  • La misma imagen puede reutilizarse: cambiar el prompt genera un nuevo vídeo (nuevo cobro), ideal para producir rápidamente con la misma imagen de producto un conjunto completo de material de presentación con movimientos de cámara desde varios ángulos.
  • No olvides los $0.015 al calcular: para presupuestos por lotes usa «precio por segundo × segundos + $0.015 × número de vídeos».
  • El sonido no se puede desactivar: si quieres material sin sonido, edítalo en posproducción; el precio no cambia.

Preguntas frecuentes

  • Sí, cada vídeo tiene sonido propio: si escribes efectos de sonido en el prompt (olas, pisadas en la nieve) se generan con el vídeo, y no hay opción para desactivarlos.
  • Sí, la relación de aspecto sigue a la imagen de entrada: una imagen 16:9 da 1264×720, una cuadrada da 960×960; los píxeles se redondean y la proporción no cambia.
  • Sí, image_url es una cadena, solo 1 imagen; pasar un array o varias imágenes devuelve 400.
  • Sí, la duración es cualquier número entero de 1 a 15 segundos: 5–6 segundos para una acción, más de 10 segundos para una acción continua.
  • Sí, la calidad de la imagen de entrada marca el límite del resultado: una imagen pequeña y borrosa no se vuelve nítida al moverse; da siempre que puedas una imagen original nítida de 720p o más.
  • Sí, hay fórmula para calcular por lotes: precio por segundo × segundos + $0.015 × número de vídeos; 720P 6 segundos, cien vídeos cuestan $27.30; mil vídeos, $273.00.

Siguiente paso: toma una foto tuya y haz que cobre vida en la página del modelo; para ver cuatro escenarios, consulta la guía completa de prompts de imagen a vídeo.

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