NezhaGate
POST https://nezhagate.com/v1/videos/generations

Generación de vídeo con Veo 3.1 (asíncrona): un solo endpoint y los parámetros eligen el tipo; omite image para texto a vídeo e inclúyela (primer fotograma) para imagen a vídeo; tier=lite/fast/quality, resolution=720p/1080p/4k (1080p y 4k requieren quality), size=16:9/9:16, duration=4s/6s/8s. Devuelve un id de trabajo (HTTP 202); consulta GET /v1/videos/jobs/{id} hasta status=succeeded y lee el resultado en data[0].url (un mp4 rehospedado). Entre 1 y 2 minutos por clip, facturado por clip y reembolsado íntegramente si falla.

Probar en el Playground →

Autenticación

Header
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

Crea una clave API en la consola para empezar.

Cuerpo de la petición

ParámetroTipoObligatorioDescripción
model string ID del modelo; aquí veo-3.1.
prompt string Prompt de texto que describe el vídeo.
tier string No Nivel de calidad: lite (por defecto, el más barato) / fast / quality.
resolution string No Resolución: 720p (por defecto) / 1080p (solo en el nivel quality; Lite y Fast son 720p). 4K no está disponible temporalmente.
size string No Orientación: 16:9 (horizontal, por defecto) / 9:16 (vertical).
duration string No Duración: 4s / 6s / 8s (por defecto 8s).
image string No Imagen a vídeo: incluye una imagen de referencia (usada como primer fotograma) —una URL pública, un data: URI o base64— para ejecutar imagen a vídeo; omítela para texto a vídeo.

Ejemplo de petición

cURL
# 1) submit -> 202 {"id":"img_...","status":"queued"}
curl https://nezhagate.com/v1/videos/generations -H 'Authorization: Bearer YOUR_API_KEY' -H 'Content-Type: application/json' -d '{"model": "veo-3.1", "prompt": "a cat surfing a wave at sunset", "tier": "quality", "resolution": "1080p", "size": "16:9", "duration": "8s"}'
# image-to-video: also pass  "image": "https://example.com/first-frame.png"
# 2) poll every ~5s until status=succeeded, then read data[0].url
curl https://nezhagate.com/v1/videos/jobs/img_3f9a...c2 -H 'Authorization: Bearer YOUR_API_KEY'

Respuesta

200 · JSON
{
  "id": "img_3f9a...c2",
  "object": "video.generation.job",
  "status": "queued",
  "model": "veo-3.1"
}

Trabajo de vídeo asíncrono (enviar → consultar)

Un solo modelo; los parámetros eligen el tipo: tier=lite/fast/quality, resolution=720p/1080p/4k (1080p y 4k requieren quality), size=16:9/9:16, duration=4s/6s/8s; añade el parámetro image para imagen a vídeo (primer fotograma). Devuelve HTTP 202 y un id de trabajo; consúltalo hasta status=succeeded y lee el resultado en data[0].url (un mp4 rehospedado, 1-2 min).

curl · enviar (texto a vídeo)
curl https://nezhagate.com/v1/videos/generations -H 'Authorization: Bearer YOUR_API_KEY' -H 'Content-Type: application/json' -d '{"model": "veo-3.1", "prompt": "un gato surfeando al atardecer", "tier": "quality", "resolution": "1080p", "size": "16:9", "duration": "8s"}'
Imagen a vídeo: pasa además el parámetro image (referencia del primer fotograma: una URL pública, un data: URI o base64).
Ejemplo de respuesta
{ "id": "img_3f9a...c2", "object": "video.generation.job", "status": "queued", "model": "veo-3.1" }
curl · consultar
curl https://nezhagate.com/v1/videos/jobs/img_3f9a...c2 -H 'Authorization: Bearer YOUR_API_KEY'
Ejemplo de respuesta
{
  "id": "img_3f9a...c2",
  "object": "video.generation.job",
  "status": "succeeded",
  "model": "veo-3.1",
  "data": [{ "url": "https://img.nezhagate.com/i/9f86d081a8....mp4" }]
}

Se factura por clip y se reembolsa íntegramente si falla; un render fallido o caducado devuelve los créditos reservados automáticamente.

Códigos de error

CodeDescripción
401Falta la clave API o no es válida
402Saldo insuficiente o clave por encima de su cuota
400Modelo o parámetro no soportado
429Límite de tasa del proveedor
502Fallaron todas las rutas de proveedor