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.