HiAPI
Blog

Guía de uso

Crear videos cortos con gemini-omni-1.1-flash a través de la API de hiapi

Una sola llamada asíncrona con tarifa plana convierte un prompt de texto en un video vertical 9:16 terminado con audio nativo: este es el flujo de trabajo real y la estructura de precios que debería cambiar tu forma de renderizar.

Oct 11, 2026
Crear videos cortos con gemini-omni-1.1-flash a través de la API de hiapi

El video corto tiene una única exigencia implacable: debe ser vertical, debe captar al usuario en menos de un segundo y, por lo general, necesita sonido. La mayoría de las API de texto a video te obligan a ensamblar por pasos: primero generas el clip, luego añades audio en postproducción y después recortas a 9:16. gemini-omni-1.1-flash lo reduce a una sola llamada asíncrona en hiapi: introduces un prompt y obtienes un video 9:16 completo, con el audio ambiente ya incluido en la pista de sonido.

Esta guía se basa en un video real —generado específicamente para este artículo, no es una ilustración— para mostrar el flujo de trabajo completo y después analizar en profundidad el precio, porque el modelo de costes de gemini-omni es lo bastante peculiar como para cambiar tu forma de renderizar.

El video, de principio a fin

Este es el video de 8 segundos en 1080p que el modelo generó a partir de un único prompt. Se reproduce directamente aquí mismo: vertical y con sonido:

Este es el prompt completo: cópialo tal cual y ya funciona:

Vertical 9:16 cinematic food close-up: a slow ribbon of golden honey drizzles
onto a short stack of warm pancakes, catching soft morning window light as it
pools and slides down the sides. A single pat of butter melts at the top, faint
steam rising. Shallow depth of field, gentle slow push-in, one continuous shot,
warm cozy color grade. Natural ambient sound: the soft drizzle of honey, a quiet
kitchen room tone, distant birdsong. No people, no text, no logos, no watermark.

Esa única solicitud devolvió un archivo H.264 de 1080×1920 con una pista de audio AAC en estéreo: el sonido ambiente se genera junto con el video, no se superpone después. Dos hábitos de prompt hicieron la mayor parte del trabajo:

  • Pide un plano continuo. Un clip corto se percibe como un único pulso; pedir un movimiento de cámara ininterrumpido evita que el modelo cree por su cuenta puntos de corte que no deseas.
  • Escribe una línea explícita de restricciones negativas. No people, no text, no logos, no watermark mantiene la imagen limpia para que añadas subtítulos en tu editor y evita texto quemado que luego no se puede eliminar.

Por qué encaja especialmente bien con el video corto

Hay tres puntos que se ajustan mucho a las necesidades reales del video vertical:

  • Vertical nativo. aspect_ratio: "9:16" es un parámetro de entrada de primera clase, así que generas vertical directamente en lugar de recortar un render 16:9 en una imagen con barras negras.
  • Audio integrado. Cada video incluye sonido ambiente. En feeds donde la mayoría de los deslizamientos empiezan en silencio, tener una pista real para quienes sí activan el sonido —sin una fase aparte de música o efectos— elimina un paso de producción.
  • Un ID, todos los modos. El mismo ID gemini-omni-1.1-flash también acepta imágenes de referencia, primer y último fotograma, o un video de origen. Puedes abrir con un gancho de texto y luego enviar un fotograma fijo de producto o un montaje preliminar con el mismo endpoint y la misma clave.

El algoritmo de tarifa plana que debería cambiar tu forma de renderizar

La mayoría de las API de video cobran por segundo y elevan la tarifa con la resolución, de modo que 1080p cuesta claramente más que 480p. Con gemini-omni no es así. Cobra un precio plano por video, y el precio es exactamente el mismo para todas las resoluciones hasta 1080p: solo la duración del video cambia el precio:

Duración del video 360p / 720p / 1080p 4K
4 segundos $0.45 $1.05
6 segundos $0.60 $1.20
8 segundos $0.75 $1.35
10 segundos $0.90 $1.50

Precios verificados en la página de precios en vivo de hiapi, octubre de 2026. Pasar un video de referencia cambia la facturación a una tarifa fija de $1.20 por video (hasta 1080p, o $1.80 en 4K), independientemente de la duración.

La consecuencia práctica es: renderiza cada borrador en 1080p. En este modelo, 1080p cuesta exactamente lo mismo que 360p, así que no hay motivo para previsualizar en baja resolución y volver a renderizar después. Para videos que no son 4K, la única variable que afecta a la factura es la duración, así que la disciplina está en la longitud, no en la calidad. Genera en lote borradores de 8 segundos en 1080p a $0.75 cada uno, quédate con los que funcionen y reserva el 4K solo para las piezas destacadas que realmente vayas a publicar.

Una sola llamada a la API

Crear un video consiste primero en un POST para iniciar la tarea y luego consultar hasta que termine.

curl -X POST https://api.hiapi.ai/v1/tasks \
  -H "Authorization: Bearer sk-<your-key>" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemini-omni-1.1-flash",
    "input": {
      "prompt": "<your prompt>",
      "duration": 8,
      "resolution": "1080p",
      "aspect_ratio": "9:16"
    }
  }'

Recibirás un ID de tarea:

{"code":200,"data":{"taskId":"tk-hiapi-01M4MJDW91CEF46R26CJJ5NK5N"},"message":"success"}

Luego consulta GET /v1/tasks/<taskId> hasta que status pase de handling → archiving → success. El cuerpo de la respuesta final coloca el video en output[0].url:

import time, requests

API = "https://api.hiapi.ai/v1"
H = {"Authorization": "Bearer sk-<your-key>", "Content-Type": "application/json"}

def make_clip(prompt, duration=8, resolution="1080p", ratio="9:16"):
    body = {"model": "gemini-omni-1.1-flash",
            "input": {"prompt": prompt, "duration": duration,
                      "resolution": resolution, "aspect_ratio": ratio}}
    tid = requests.post(f"{API}/tasks", headers=H, json=body, timeout=30).json()["data"]["taskId"]
    while True:
        data = requests.get(f"{API}/tasks/{tid}", headers=H, timeout=30).json()["data"]
        if data["status"] == "success":
            return data["output"][0]["url"]
        if data["status"] == "fail":
            raise RuntimeError(data.get("error"))
        time.sleep(6)

url = make_clip("<your prompt>")
open("clip.mp4", "wb").write(requests.get(url, timeout=120).content)

Cuatro campos de entrada son clave: prompt, duration (4, 6, 8 o 10), resolution (360p, 720p, 1080p o 4k) y aspect_ratio (16:9 o 9:16). Si pasas valores fuera de estos rangos, la API rechaza la solicitud antes de encolarla; por ejemplo, escribir por error 2160p devuelve invalid input: resolution: value must be one of '360p', '720p', '1080p', '4k', de modo que un error tipográfico nunca desperdicia una generación de video. La referencia completa de la API de tareas está en la documentación de hiapi.

Una advertencia que conviene gestionar en el código: output[0].url lleva una marca de tiempo expireAt y no es un enlace permanente. En el momento en que la tarea informa de success, descarga el archivo o súbelo a tu propio almacenamiento; no persistas la URL temporal.

Producir un lote, no un solo video

El video corto es un juego de volumen, así que el flujo de trabajo real es el procesamiento por lotes. Cada video es una tarea independiente, lo que abarata recuperarse de una caída a mitad de ejecución: usa el hash del prompt como clave de cada tarea, omite lo ya descargado y un reinicio nunca volverá a facturar dos veces.

Un ciclo que funciona:

  • Escribe entre 8 y 12 variantes de prompt sobre un mismo tema —distintos ángulos, iluminación y sujetos— todas con 8 segundos / 1080p / 9:16.
  • Envíalas como tareas independientes en lote y consulta su estado, o registra un callback para que los resultados lleguen por sí solos.
  • Revisa el conjunto, quédate con las dos o tres que realmente enganchen y vuelve a renderizar solo si hace falta en 4K o con mayor duración, siempre que la plataforma donde publiques lo compense.

Cuando tu verdadero punto de partida sea un fotograma fijo o un montaje preliminar, pásalo al mismo ID gemini-omni-1.1-flash: usa una imagen de referencia para fijar el aspecto del producto, el primer y último fotograma para controlar las transiciones, o un video de origen para un restilizado. La clave y el código de consulta no cambian; solo cambia el objeto input.

Comparativa

La tarifa plana de gemini-omni lo convierte en la forma más económica de producir videos cortos con audio: 8 segundos en 1080p cuestan solo $0.75, sin multiplicadores por segundo. Otros modelos son mejores en aspectos concretos:

  • Seedance 2.5 cobra por segundo y actualmente llega hasta 720p, pero puede extenderse a tomas únicas de 30 segundos: la opción cuando la duración importa más que la resolución.
  • Kling 3.0 superpone voz sincronizada al sonido ambiente y llega a 4K: mejor para contenido con habla o sincronización labial.
  • Veo 3.1 es la opción de imagen a video cuando necesitas animar un fotograma fijo existente en lugar de generar desde texto.

Los cuatro funcionan con la misma clave de hiapi y el mismo endpoint /v1/tasks, así que cambiar solo requiere modificar una línea, model: elige por toma, no por proyecto. Puedes compararlos uno junto a otro en el catálogo de modelos.

Preguntas frecuentes

¿gemini-omni-1.1-flash incluye realmente audio? Sí. El video de esta guía devuelve un MP4 con una pista de audio estéreo real: el sonido ambiente se genera junto con el video, no se añade después. Describes el sonido en el prompt (como la línea Natural ambient sound: ... del ejemplo anterior) igual que describes la imagen.

¿Cuál es la forma más económica de probarlo? Un video de 4 segundos cuesta $0.45 en cualquier resolución hasta 1080p. Como esas tres resoluciones cuestan lo mismo, prueba en 1080p: no hay ninguna razón de precio para previsualizar en menor resolución.

¿También puedo crear videos horizontales? Sí. Configura aspect_ratio: "16:9" para horizontal; 9:16 es el valor por defecto para video corto. El precio es el mismo en ambos casos.

¿Cuánto puede durar como máximo el video? Cada generación dura 4, 6, 8 o 10 segundos. Si necesitas un montaje más largo, genera varios videos y únelos, o usa referencias / primer y último fotograma para mantener la continuidad entre los puntos de corte.

¿La URL de salida es permanente? No. output[0].url lleva expireAt y debe tratarse como una entrega de un solo uso: descárgala o vuelve a alojarla en cuanto la tarea informe de success.

¿Listo para probarlo? Obtén una clave en la consola de hiapi, coloca tu propio prompt en la llamada curl anterior y renderiza tu primer video vertical en 1080p: tanto si eliges previsualizar en baja resolución como si vas directamente a resolución completa, el coste es el mismo, $0.75.

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