NezhaGateNezhaGate
seedance-2.0-clip

Seedance 2.0 · Clip · API

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

Generación de vídeo con Seedance 2.0 · Clip (asíncrona, precio especial por clip): duration debe ser 5, 10 o 15 segundos (por defecto 15; el vertical 9:16 solo 15), 720P, size=16:9 / 9:16; hasta 9 imágenes de referencia (images: fijan las personas, la escena y el estilo; nómbralas @Image1... en el prompt) y admite fotos de personas reales como referencia; no acepta vídeo ni audio de referencia. Devuelve un id de trabajo (HTTP 202); consulta GET /v1/videos/jobs/{id} hasta status=succeeded y lee el resultado en data[0].url. $1,00 el clip, las tres duraciones al mismo precio; reembolso íntegro 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 Sí ID del modelo; aquí seedance-2.0-clip.
prompt string Sí Prompt de texto que describe el vídeo, la cámara y el movimiento. Máximo 5000 bytes (UTF-8; un carácter chino cuenta como 3).
duration integer No La duración debe ser 5, 10 o 15 segundos (por defecto 15, la más larga); el vertical 9:16 solo admite 15 por ahora; cualquier otro valor se rechaza. Alias: seconds. Precio especial por clip: las tres duraciones cuestan lo mismo.
resolution string No La resolución es solo 720P (también la predeterminada); $1,00 por clip, sin importar la duración.
size string No Relación de aspecto: 16:9 (horizontal, por defecto; 5 / 10 / 15 s) o 9:16 (vertical; 15 s). Alias: aspect_ratio.
image string No Imagen a vídeo: incluye una imagen de referencia (URL pública, data: URI o base64); omítela para texto a vídeo.
images array No Varias imágenes de referencia. Hasta 9. Si superas el límite se rechaza en lugar de recortar. Alias reference_images.

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": "seedance-2.0-clip", "prompt": "a paper crane unfolding over a misty lake", "duration": 15, "resolution": "720P", "size": "16:9"}'
# image-to-video: also pass  "image": "https://example.com/ref.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": "seedance-2.0-clip"
}

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

Al enviar recibes al instante HTTP 202 y un id de trabajo; consulta hasta que status=succeeded y lee data[0].url (un enlace mp4). Los valores admitidos de duración, resolución y tamaño están en la tabla de parámetros de arriba; añade un parámetro image para imagen a vídeo.

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": "seedance-2.0-clip", "prompt": "un gato surfeando al atardecer", "size": "16:9"}'
Imágenes de referencia: pasa también images (hasta 9; URL públicas, data: URI o base64) y menciónalas como @Image1... en el prompt; fijan el sujeto, la escena y el estilo y no se usan como primer fotograma. Este nivel no acepta vídeo ni audio de referencia.
Se admiten rostros humanos reales como imágenes de referencia, sin necesidad de ocultarlos. Asegúrate de tener derecho a usar la imagen de las personas que aparecen.
Ejemplo de respuesta
{ "id": "img_3f9a...c2", "object": "video.generation.job", "status": "queued", "model": "seedance-2.0-clip" }
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": "seedance-2.0-clip",
  "data": [{ "url": "https://img.nezhagate.com/i/9f86d081a8....mp4" }]
}

🕑 data[0].url es un enlace de nuestro alojamiento de imágenes que se conserva 60 días y después se elimina automáticamente; si necesitas seguir usándolo, descárgalo y guárdalo en tu propio almacenamiento o CDN.

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

Todo cuerpo de error incluye error.message / error.type / error.code / error.param: ramifica según code. La lista completa está en la guía de integración.

HTTPcodeDescripción
401invalid_api_keyFalta la clave API o no es válida
402insufficient_quotaSaldo insuficiente o clave por encima de su cuota
400invalid_requestModelo o parámetro no soportado
429rate_limit_exceededLímite de tasa del proveedor
502upstream_errorFallaron todas las rutas de proveedor