Saltar al contenido principal

API de generación de vídeo

Describe un clip con palabras sencillas, elige un modelo, una duración y un formato de encuadre y recibe un archivo MP4 con banda sonora. OmevAI planifica los planos y el movimiento de cámara a partir de tu descripción; tú solo eliges lo que se indica a continuación. El precio se conoce antes de empezar y solo pagas por un clip que se entrega.

El acceso se activa bajo petición

La API de vídeo se activa para cada clave por separado. Escribe a support@omev.be para activarla. Los mismos modelos están disponibles en el gabinete web; consulta Generación de vídeo en el gabinete.

El vídeo es asíncrono: crea un trabajo, comprueba su estado y descarga el archivo terminado. Todas las llamadas usan el host habitual https://llmapi.omev.be y tu clave de API de OmevAI.

Modelos y precios​

modelIdeal paraDuraciónresolutionPuedes enviarPrecio por segundo
omev-video-liteescenas sencillas, precio bajo4–12 s768ptexto; texto y un primer fotograma$0.039
omev-videopersonas, movimiento complejo, movimiento de cámara, varias acciones4–15 s720p (por defecto), 1080ptexto; texto y un primer fotograma720p $0.069 · 1080p $0.135
omev-video-premiumcalidad premium, clips de hasta 30 s4–30 s720p (por defecto), 1080ptexto; texto y un primer fotograma; texto y hasta 5 imágenes de referenciatexto o primer fotograma: 720p $0.075 · 1080p $0.15; con imágenes de referencia: 720p $0.11 · 1080p $0.22

Formatos de encuadre (aspect_ratio): omev-video-lite acepta 16:9, 21:9, 4:3, 1:1, 3:4, 9:16; omev-video y omev-video-premium aceptan 16:9, 4:3, 1:1, 3:4, 9:16.

El precio de un clip es el precio por segundo multiplicado por la duración que pides. Un clip omev-video de 8 segundos en 720p cuesta 8 × $0.069 = $0.552; en 1080p, $1.08. Un clip omev-video-premium de 8 segundos en 720p cuesta $0.60 a partir de texto o de un primer fotograma y $0.88 con imágenes de referencia.

1. Crear un trabajo​

curl -sS https://llmapi.omev.be/v1/videos/generations \
-H "Authorization: Bearer $OMEV_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "omev-video",
"duration": 8,
"resolution": "720p",
"aspect_ratio": "9:16",
"prompt": "A ceramic mug on a wooden table in morning light, the camera slowly circles the mug",
"idempotency_key": "order-2026-10-12-0001"
}'
CampoRequeridoValores
modelsíomev-video-lite, omev-video u omev-video-premium
promptsíla descripción del clip, hasta 4000 caracteres
durationsísegundos enteros dentro del rango del modelo
aspect_rationoun formato de encuadre que el modelo acepte, por defecto 16:9
resolutionno720p o 1080p para omev-video y omev-video-premium; omev-video-lite siempre es 768p
imagenoun enlace público https al primer fotograma (los tres modelos); debe abrirse sin iniciar sesión
referencesnohasta 5 enlaces públicos https a imágenes de referencia: un personaje, un producto, un logotipo o un estilo; solo omev-video-premium y no junto con image
idempotency_keyrecomendadotu propio número de pedido, hasta 100 caracteres; repetirlo devuelve el mismo trabajo y no vuelve a cobrar

seed, fps, steps, cfg y provider no se aceptan (400): OmevAI los elige.

La respuesta es 202 con el trabajo:

{
"id": "vid_0f3c2a9e8b7d4c6a1e5f2b3c",
"object": "video.generation",
"model": "omev-video",
"status": "queued",
"duration": 8,
"aspect_ratio": "9:16",
"resolution": "720p",
"price_usd": 0.552,
"access_token": "…"
}

Antes de que empiece el trabajo, el precio se reserva en el saldo de la clave. Cuando el clip se entrega, se cobra; cuando la generación falla, la reserva se libera. Guarda id y access_token: el token es necesario para leer el estado y descargar el archivo. Si se perdió la respuesta, envía la misma solicitud con el mismo idempotency_key para obtener el mismo id y el mismo token.

2. Comprobar el estado​

curl -sS https://llmapi.omev.be/v1/videos/generations/$ID \
-H "Authorization: Bearer $OMEV_API_KEY" \
-H "X-Omev-Video-Token: $TOKEN"

Sin el token, o con el token de otro trabajo, la respuesta es 404. Consulta cada 10–15 segundos.

statusSignificado
queued, preprocessingel trabajo se ha aceptado y la descripción se está convirtiendo en un plan de planos
generatingel clip se está generando; phase muestra provider_queued (esperando un hueco), generating o saving
processinguna comprobación adicional poco frecuente por nuestra parte; sigue consultando
succeededterminado: video.url es el enlace de descarga
failedno se ha podido hacer: error.code y error.message indican el motivo; la reserva se libera

3. Descargar el clip​

curl -sS -L -o clip.mp4 https://llmapi.omev.be/v1/videos/generations/$ID/content \
-H "Authorization: Bearer $OMEV_API_KEY" \
-H "X-Omev-Video-Token: $TOKEN"

La respuesta es el archivo MP4 con banda sonora. Descárgalo en cuanto el trabajo termine con éxito y guárdalo en tu propio almacenamiento.

Ciclo completo en Python​

import os, time, requests

BASE = "https://llmapi.omev.be"
auth = {"Authorization": f"Bearer {os.environ['OMEV_API_KEY']}"}

job = requests.post(f"{BASE}/v1/videos/generations", headers=auth, timeout=60, json={
"model": "omev-video-lite", "duration": 6, "aspect_ratio": "1:1",
"prompt": "A cup of hot coffee, steam rising, soft light",
"idempotency_key": "order-0002"}).json()

read = {**auth, "X-Omev-Video-Token": job["access_token"]}
while True:
status = requests.get(f"{BASE}/v1/videos/generations/{job['id']}", headers=read, timeout=60).json()
if status["status"] in ("succeeded", "failed"):
break
time.sleep(15)

if status["status"] == "succeeded":
clip = requests.get(f"{BASE}{status['video']['url']}", headers=read, timeout=600)
open("clip.mp4", "wb").write(clip.content)
else:
print(status["error"])

Consultas gratuitas​

  • GET /v1/videos/models: los modelos con sus duraciones, resoluciones, formatos de encuadre y precios por segundo.
  • GET /v1/videos/price?model=omev-video&duration=8&resolution=1080p: el precio de un clip, por ejemplo {"price_usd": 1.08, "per_second_usd": 0.135, …}. Para omev-video-premium con imágenes de referencia, añade &references=1.

Tiempos y límites​

  • Un clip de 4 segundos suele tardar unos 2 minutos con omev-video-lite y omev-video-premium, y 10–20 segundos con omev-video. Los clips más largos tardan más.
  • Una cuenta puede tener hasta 2 trabajos de vídeo sin terminar a la vez; un tercero responde 429.
  • Regenerar y valorar un clip está disponible en el gabinete web. A través de la API, crea un trabajo nuevo para un nuevo intento.
  • Las solicitudes que incumplen la política de contenidos se rechazan antes de cualquier cobro.

Errores​

CódigoSignificadoQué hacer
400una duración fuera del rango del modelo, un formato de encuadre o una resolución que el modelo no acepta, un primer fotograma junto con imágenes de referencia, imágenes de referencia para un modelo distinto de omev-video-premium, o un parámetro que no se aceptacorrige la solicitud según error.message
401clave de API ausente o no válidacomprueba la clave
402el saldo de la clave es inferior al precio del cliprecarga el saldo
403el vídeo no está activado para la claveescribe a soporte
404trabajo desconocido, o un X-Omev-Video-Token ausente o incorrectocomprueba el id y el token
409el idempotency_key ya se usó con otros parámetros, o la combinación no está disponible temporalmenteusa un número de pedido nuevo; si no está disponible, reintenta más tarde
429ya hay 2 trabajos de vídeo en cursoespera a que termine uno de ellos
5xxerror temporalreintenta con el mismo idempotency_key tras 10–30 segundos

Consulta Errores y reintentos para ver el formato común.