API de vídeo Seedance
Genera vídeos desde texto o imagen con Seedance 2.0 o 2.5, consulta la tarea asíncrona y descarga el resultado.
La generación de vídeo con Seedance usa una Video API asíncrona. Primero envía una tarea y después consulta su estado con el ID devuelto. Esta API es independiente de Chat Completions.
Antes de empezar
Crea una clave API de Modelflare y usa https://modelflare.dev/v1 como Base URL. Los nombres públicos de los modelos son seedance-2.0 y seedance-2.5.
Las combinaciones disponibles de duración y resolución pueden variar según el modelo. Consulta Modelos y precios antes de enviar la solicitud. Cuando estén disponibles, las resoluciones son 480p, 720p, 1080p o 4k.
Solicitud de texto a vídeo
curl https://modelflare.dev/v1/videos \
-H "Authorization: Bearer YOUR_MODELFLARE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2.5",
"prompt": "Un gato blanco corre por una calle de neón bajo la lluvia, toma cinematográfica de seguimiento",
"duration": 4,
"resolution": "720p"
}'
Solicitud de imagen a vídeo
Añade image con una URL HTTPS de imagen accesible públicamente. Los demás campos son iguales que en texto a vídeo.
curl https://modelflare.dev/v1/videos \
-H "Authorization: Bearer YOUR_MODELFLARE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2.5",
"prompt": "El sujeto gira lentamente hacia la cámara mientras esta avanza",
"image": "https://example.com/reference.png",
"duration": 4,
"resolution": "720p"
}'
Respuesta al enviar
Una solicitud aceptada devuelve un ID público. id y task_id identifican la misma tarea; guarda cualquiera de los dos.
{
"id": "task_example_123",
"task_id": "task_example_123",
"object": "video",
"model": "seedance-2.5",
"status": "queued"
}
Consultar el estado
Consulta la tarea cada pocos segundos. Los estados de espera pueden incluir queued, pending, processing o in_progress. Detén las consultas cuando sea completed o failed.
curl https://modelflare.dev/v1/videos/task_example_123 \
-H "Authorization: Bearer YOUR_MODELFLARE_API_KEY"
Ejemplo de respuesta completada:
{
"id": "task_example_123",
"task_id": "task_example_123",
"object": "video",
"model": "seedance-2.5",
"status": "completed",
"progress": 100,
"metadata": {
"url": "https://example.com/generated-video.mp4"
}
}
Descargar el vídeo
Cuando termine, descarga el vídeo mediante el endpoint content:
curl -L https://modelflare.dev/v1/videos/task_example_123/content \
-H "Authorization: Bearer YOUR_MODELFLARE_API_KEY" \
-o seedance.mp4
Campos principales
- model: obligatorio; seedance-2.0 o seedance-2.5.
- prompt: obligatorio; descripción del vídeo.
- duration: obligatorio; entero en segundos, actualmente con un mínimo de 4. También se acepta seconds por compatibilidad.
- resolution: obligatoria; resolución compatible con el modelo elegido.
- image: opcional; URL HTTPS pública que activa imagen a vídeo.
HTTP 400 suele indicar parámetros incorrectos, 401 una clave no válida, 429 un límite temporal y los errores 5xx se pueden reintentar con espera progresiva.