En esta página
Seedance 2.0 API
Crea tareas de texto a vídeo e imagen a vídeo de Seedance 2.0 mediante una API asíncrona. Esta primera versión no expone reference-to-video ni edición de vídeo.
REST API · v1 · Tareas asíncronas
Envía tu primera solicitud
Elige text-to-video o image-to-video, usa una clave idempotente y consulta el task ID.
- 1
Crear una API Key
Genera una clave en tu cuenta Imya.
- 2
Elegir el modo
Usa solo text-to-video o image-to-video.
- 3
Obtener el resultado
Consulta hasta que termine o falle.
Autenticación e idempotencia
Envía la API Key como Bearer token y una Idempotency-Key única en cada POST para reintentar sin duplicar cargos.
Authorization: Bearer YOUR_IMYA_API_KEY
Content-Type: application/json
Idempotency-Key: YOUR_UNIQUE_REQUEST_KEYCrear una generación de vídeo
Crea una tarea asíncrona de Seedance y devuelve credits_reserved en tiempo real.
/v1/videos/generations# Text to video
curl https://imya.ai/v1/videos/generations \
-H "Authorization: Bearer YOUR_IMYA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: seedance-t2v-order-001" \
-d '{
"model": "seedance-2.0",
"mode": "text-to-video",
"prompt": "A coastal train passing cliffs at sunrise",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "16:9",
"generate_audio": true
}'
# Image to video
curl https://imya.ai/v1/videos/generations \
-H "Authorization: Bearer YOUR_IMYA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: seedance-i2v-order-001" \
-d '{
"model": "seedance-2.0",
"mode": "image-to-video",
"prompt": "Wind moves the fabric as the camera arcs right",
"image_url": "https://cdn.example.com/first-frame.jpg",
"duration": 8,
"resolution": "1080p",
"aspect_ratio": "16:9",
"generate_audio": true
}'Consultar una tarea
Devuelve estado, créditos finales, MP4 o error seguro. Consulta con al menos 5 segundos de intervalo y descarga pronto las URL temporales.
/v1/tasks/{id}curl https://imya.ai/v1/tasks/task_0123456789abcdef0123456789abcdef \
-H "Authorization: Bearer YOUR_IMYA_API_KEY"Parámetros
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| model | string | Sí | Usa seedance-2.0. |
| mode | string | Sí | text-to-video o image-to-video. |
| prompt | string | Sí | Instrucciones de generación de entre 3 y 5.000 caracteres. |
| image_url | string | Condicional | Primer fotograma HTTPS público, obligatorio en image-to-video. |
| last_frame_url | string | No | Último fotograma HTTPS opcional para image-to-video. |
| duration | number | No | Entero de 4 a 15 segundos. Predeterminado: 5. |
| resolution | string | No | 480p, 720p o 1080p. Predeterminado: 720p. |
| aspect_ratio | string | No | auto, 16:9, 9:16, 1:1, 4:3, 3:4, 3:2, 2:3 o 21:9. El valor predeterminado es 16:9. |
| generate_audio | boolean | No | Genera audio. Predeterminado: true. |
| web_search | boolean | No | Solo text-to-video. Predeterminado: false. |
Respuestas
{
"id": "task_0123456789abcdef0123456789abcdef",
"status": "processing",
"model": "seedance-2.0",
"created_at": "2026-07-15T08:00:00.000Z",
"updated_at": "2026-07-15T08:00:00.000Z",
"credits_reserved": 625
}{
"id": "task_0123456789abcdef0123456789abcdef",
"status": "succeeded",
"model": "seedance-2.0",
"created_at": "2026-07-15T08:00:00.000Z",
"updated_at": "2026-07-15T08:03:12.000Z",
"credits_reserved": 625,
"credits_used": 625,
"data": [
{
"url": "https://media.example.com/generated/example.mp4"
}
]
}Créditos en tiempo real
El servidor calcula credits_reserved según modo, resolución, duración y plan. Audio y búsqueda web no cambian el cálculo actual. Usa siempre el valor de la respuesta.
Estado
pendingLa tarea fue aceptada y espera para comenzar.
processingEl modelo está generando el vídeo.
succeededLa generación terminó y data contiene el MP4.
failedLa generación falló. Lee el error seguro.
Errores
400Falta Idempotency-Key o JSON inválido.
401API Key ausente o inválida.
402Créditos insuficientes.
403Cuenta de API desactivada.
404Tarea inexistente o de otra cuenta.
409Clave reutilizada con otro cuerpo.
413Cuerpo mayor de 64 KiB.
415Content-Type debe ser application/json.
422Modo, prompt, imagen, duración, resolución o relación inválida.
429Límite de velocidad o concurrencia alcanzado.
5xxNo se pudo completar o enviar.
Contrato común de la API pública de Imya
Estas reglas se aplican a todos los endpoints públicos de generación. Los campos y precios específicos están en la tabla del modelo.

Facturación y reintentos seguros
Al aceptar una tarea nueva se descuentan de forma atómica los créditos exactos de credits_reserved. Repetir la misma Idempotency-Key y cuerpo devuelve la tarea original sin otro cargo.
Tiempo límite y reembolsos
Una tarea que no termina en 30 minutos falla. Los créditos elegibles se devuelven una sola vez y conservan su caducidad original.
Límites de velocidad y concurrencia
Cada API Key admite 120 solicitudes por 60 segundos; una cuenta puede ejecutar cinco tareas de imagen o tres de vídeo. Respeta Retry-After en 429.
Consulta y propiedad
Consulta GET /v1/tasks/{id} con el id devuelto y al menos 5 segundos de intervalo. Solo la cuenta creadora puede leer la tarea; no hay webhooks, SDK ni envíos batch.
Errores y seguridad
Los errores públicos eliminan credenciales, URL internas y detalles de infraestructura. Un prompt inseguro puede rechazarse con prompt_blocked.
Conservación de imágenes
Las cuentas gratis conservan imágenes 7 días y las activas de pago o Lifetime hasta 30. Después, status es failed y error.code es media_deleted.
Guía de integración en producción de Seedance 2.0 API
Diseña la integración de Seedance 2.0 como un sistema de tareas asíncronas recuperable, no como una solicitud HTTP larga. Guarda siempre el id de Imya y haz deterministas los reintentos.
Elegir parámetros del contrato
Valida cada solicitud con la tabla de esta página. Empieza con la configuración mínima y aumenta calidad, tamaño, duración o referencias solo cuando el producto lo necesite.
Permite solo combinaciones documentadas de duración, resolución, relación, audio y medios.
Diseñar un flujo asíncrono recuperable
Envía la tarea de vídeo, guarda id y consulta GET /v1/tasks/{id} con al menos 5 segundos de intervalo. Los status públicos son pending, processing, succeeded y failed y el límite es 30 minutos. No hay webhooks, SDK ni batch.
- 01Guarda id, status, credits_reserved e identidad de solicitud antes de actualizar la UI.
- 02Aplica backoff, respeta Retry-After en 429 y no conviertas un error de transporte en otra tarea de pago.
- 03Limita a tres tareas de vídeo por cuenta y 120 solicitudes por 60 segundos y API Key.
Facturación y reintentos deterministas
Al aceptar se descuenta credits_reserved. Guarda una Idempotency-Key por creación; repetirla con el mismo cuerpo devuelve la tarea original.
Los fallos elegibles se reembolsan una vez con su caducidad original. refund_pending indica liquidación y credits_refunded la confirma.
Proteger credenciales, propiedad y medios
Guarda las API Key en el servidor y asocia id al usuario autenticado. Registra identificadores de soporte sin exponer prompts, URL privadas ni credenciales.
No presupongas una retención fija de vídeo; copia pronto lo necesario a tu almacenamiento con consentimiento.
Lista de producción
- Valida campos del modelo.
- Guarda Idempotency-Key y cuerpo.
- Persiste estado y consulta cada 5 segundos o más.
- Aplica concurrencia y velocidad.
- Trata los cuatro status y los códigos de liquidación.
- Mantén credenciales en el servidor y define retención.
Preguntas frecuentes
¿Cada cuánto consulto?
Espera al menos 5 segundos y usa backoff.
¿Cuándo se cobran créditos?
Al aceptar se descuenta credits_reserved.
¿Un reintento cobra dos veces?
No con la misma Idempotency-Key y cuerpo.
¿Cómo trato un fallo final?
Muestra un error seguro, conserva id y comprueba credits_refunded.
¿Quieres probar Seedance?
Compara entradas de texto e imagen en la herramienta alojada.
Probar Seedance 2.0 online