Generación de vídeo con Seedance 2.5 (asíncrona): omite image para texto a vídeo e inclúyela (primer fotograma por defecto) para imagen a vídeo; la duración es cualquier entero de 4 a 30 segundos, resolución 480P/720P, size 16:9/9:16/21:9/4:3/1:1/3:4, y audio activa o desactiva la banda sonora generada (por defecto true). 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). Se factura por segundo y se reembolsa íntegramente si falla.
Probar en el Playground →Autenticación
Authorization: Bearer YOUR_API_KEY Content-Type: application/json
Crea una clave API en la consola para empezar.
Cuerpo de la petición
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| model | string | Sí | ID del modelo; aquí seedance-2.5. |
| 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). Con varias imágenes de referencia puedes mencionarlas como @Image1 / @Image2 en el prompt, por ejemplo «el personaje de @Image1 en la escena de @Image2»; sin esas marcas, el modelo decide por su cuenta. |
| duration | integer | No | Duración en segundos, cualquier entero de 4 a 30 (por defecto 4); alias seconds. Se factura por segundo. |
| resolution | string | No | Resolución: 480P / 720P (por defecto 720P; cada nivel tiene su propia tarifa, consulta la página del modelo). |
| size | string | No | Relación de aspecto: 16:9 / 9:16 / 1:1 / 4:3 / 3:4 (por defecto 16:9); alias aspect_ratio. |
| audio | boolean | No | Si se genera pista de audio; por defecto true. |
| image | string | No | Imagen a vídeo: incluye una imagen de referencia (usada por defecto como primer fotograma): una URL pública, un data: URI o base64; omítela para texto a vídeo. |
| images | array | No | Varias imágenes de referencia. Este modelo admite hasta 9. Cada elemento puede ser una URL pública, un data: URI o base64. Si superas el límite se rechaza en lugar de recortar. Alias reference_images. |
| image_role | string | No | Cómo se usan las imágenes de referencia: first_frame (por defecto; una segunda imagen pasa a ser el último fotograma) o reference (referencias de sujeto o estilo; úsala para varias imágenes). Si pasas reference_images, el valor por defecto es reference. |
| audio_reference | string / array | No | Enlaces http(s) públicos de audio de referencia. Hasta 3, y deben acompañar a una imagen o un vídeo de referencia. Alias audio_references (no envíes ambos a la vez). |
| video_references | array | No | Enlaces http(s) públicos del vídeo de origen. Hasta 3, y solo se aceptan enlaces públicos (un data: URI falla en el proveedor). No se puede combinar con imágenes de referencia ni con primer y último fotograma. |
Ejemplo de petición
# 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.5", "prompt": "a cat surfing a wave at sunset", "duration": 4, "resolution": "720P", "size": "16:9"}'
# 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
{
"id": "img_3f9a...c2",
"object": "video.generation.job",
"status": "queued",
"model": "seedance-2.5"
}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 https://nezhagate.com/v1/videos/generations -H 'Authorization: Bearer YOUR_API_KEY' -H 'Content-Type: application/json' -d '{"model": "seedance-2.5", "prompt": "un gato surfeando al atardecer", "tier": "quality", "resolution": "1080p", "size": "16:9", "duration": "8s"}'{ "id": "img_3f9a...c2", "object": "video.generation.job", "status": "queued", "model": "seedance-2.5" }curl https://nezhagate.com/v1/videos/jobs/img_3f9a...c2 -H 'Authorization: Bearer YOUR_API_KEY'
{
"id": "img_3f9a...c2",
"object": "video.generation.job",
"status": "succeeded",
"model": "seedance-2.5",
"data": [{ "url": "https://img.nezhagate.com/i/9f86d081a8....mp4" }]
}Facturado por segundo ($0.158/s x duración); la retención coincide exactamente con el cargo, y un render fallido o caducado se reembolsa íntegramente de forma automática.
Códigos de error
| Code | Descripción |
|---|---|
| 401 | Falta la clave API o no es válida |
| 402 | Saldo insuficiente o clave por encima de su cuota |
| 400 | Modelo o parámetro no soportado |
| 429 | Límite de tasa del proveedor |
| 502 | Fallaron todas las rutas de proveedor |