LogoDocumentación de Wan API
LogoDocumentación de Wan API
Página de inicioResumen de Wan APIGuía de integración de Wan APIWan 3.0Wan 3.0 PrimeWan 3.0 ProWan 3.0 Prime ProSeedance 2.5Seedance 2.0

Seedance 2.0

API de Seedance 2.0: generación de vídeo, fotogramas, referencias, ejemplos de solicitudes, consulta de tareas, descargas y precios.

Seedance 2.0 admite texto, primer y último fotograma y referencias de imagen, vídeo y audio, con salida a 480p, 720p, 1080p, 4K. Genera vídeos de hasta 15 segundos por solicitud. Detalles del modelo y área de pruebas.

Conecta con Wan API

Usa https://api.wanapi.app como URL base de la API. Crea una clave con la familia de modelos Seedance en los ajustes de claves API y envíala como Authorization: Bearer YOUR_API_KEY. Guarda las claves en tu servidor. El área de pruebas usa tu sesión del sitio web y cobra del mismo saldo de cuenta; no requiere pegar una clave en el navegador.

El acceso requiere una cuenta habilitada con saldo suficiente. GET /v1/models enumera los modelos disponibles para tu clave. Los modelos Seedance usan POST /v1/videos; selecciona el modelo en el cuerpo JSON.

AjusteSeedance 2.0
ID del modelobytedance/seedance-2.0
resolution480p, 720p, 1080p, 4k; por defecto: 720p.
duration4–15 segundos de salida, o -1 para automática; por defecto: 5.
aspectRatioadaptive, 16:9, 4:3, 1:1, 3:4, 9:16, 21:9; por defecto: adaptive.
generateAudiotrue por defecto. false no reduce la tarifa por token.
SalidaUn vídeo por solicitud, a 24 fps.

Los campos de la solicitud describen los 13 campos de nivel superior. Usa los nombres de campo indicados aquí, incluidos aspectRatio y generateAudio.

Envía una tarea de Seedance 2.0

Esta solicitud de texto a vídeo pide una salida de cuatro segundos a 720p. Asigna tu clave de Seedance a WAN_API_KEY en el servidor. Envía la solicitud una sola vez y guarda el id devuelto.

curl https://api.wanapi.app/v1/videos \
  -H "Authorization: Bearer $WAN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "bytedance/seedance-2.0",
  "prompt": "A paper boat floats through a sunlit stream. Slow tracking shot.",
  "resolution": "720p",
  "aspectRatio": "16:9",
  "duration": 4,
  "generateAudio": true
}'

Consulta una tarea de Seedance 2.0

Guarda el id devuelto como TASK_ID y consulta con la misma clave. El envío devuelve un comprobante de tarea; el vídeo está disponible al completarse. Empieza consultando cada cinco segundos; consulta los estados de tarea y las descargas.

curl "https://api.wanapi.app/v1/videos/$TASK_ID" \
  -H "Authorization: Bearer $WAN_API_KEY"

Precios de Seedance 2.0

Las tarifas están en USD por un millón de tokens de vídeo. Los tokens de vídeo de entrada y salida determinan el coste final. La resolución, la duración y los vídeos de referencia afectan al consumo; usa la tarifa correspondiente a solicitudes con o sin vídeo de referencia. El audio no tiene un nivel de precio independiente.

Tarifas actualesEstimación en USD / segundo facturable
Precios estimados de Seedance 2.0 en USD por segundo facturable (16:9, 24 fps)
ResoluciónVídeo de referenciaPrecio oficialPrecio de Wan APIAhorro (%)
480pSin vídeo0,0703 US$No disponible—
480pCon vídeo0,0432 US$No disponible—
720pSin vídeo0,1512 US$No disponible—
720pCon vídeo0,0929 US$No disponible—
1080pSin vídeo0,3742 US$No disponible—
1080pCon vídeo0,2284 US$No disponible—
4KSin vídeo0,7776 US$No disponible—
4KCon vídeo0,4666 US$No disponible—

Las estimaciones se basan en una salida en 16:9 a 24 fps. Otras relaciones de aspecto y las dimensiones reales de salida pueden cambiar el coste.

Sin vídeo de referencia, solo cuentan los segundos de salida. Con vídeo de referencia, cuentan los segundos de entrada y de salida; el tiempo de entrada facturable es, como mínimo, dos tercios de la duración de salida, redondeados hacia arriba al segundo entero.

Comparación oficial: Precios internacionales bajo demanda de BytePlus. Verificado el 2026-10-15. Los precios de Wan API se actualizan automáticamente.

Los tokens de vídeo de entrada y salida determinan el coste final. Las solicitudes fallidas no se cobran.

Consulta los precios y las estimaciones de Seedance 2.0. Revisa la estimación en el área de pruebas antes de enviar la solicitud.

Campos de la solicitud

Envía un objeto JSON. model es obligatorio, junto con un prompt no vacío o al menos una entrada multimedia. Los demás campos son opcionales. Se rechazan los campos desconocidos.

CampoTipoContrato
modelcadenaObligatorio: bytedance/seedance-2.0.
promptcadenaInstrucciones de texto; hasta 20.000 caracteres en este servicio. Se requiere un prompt o una entrada multimedia.
imageURL u objeto URLURL de imagen del primer fotograma, o un objeto con type: "url", url y mediaType opcional. Usa image o frameImages, no ambos.
frameImageslistaUn first_frame y un last_frame opcional. Cada entrada tiene frameType e image; consulta el ejemplo de fotogramas de abajo.
inputReferenceslistaHasta 9 imágenes y 3 vídeos. Cada entrada tiene type: "url", url y mediaType. También se acepta la forma de URL con data/mediaType.
aspectRatiocadenaadaptive (por defecto), 16:9, 4:3, 1:1, 3:4, 9:16, 21:9.
resolutioncadena480p, 720p, 1080p, 4k. Por defecto: 720p. También acepta 854x480, 1280x720, 1920x1080 y 3840x2160 como niveles de resolución; usa aspectRatio para seleccionar el formato.
durationentero4–15 segundos de salida, o -1 para automática. Por defecto: 5.
fpsenteroFijo en 24; omite el campo o envía 24.
seedenteroOpcional; de -1 a 2147483647. Sin garantía de repetibilidad. No especifiques también providerOptions.bytedance.seed.
generateAudiobooleanoGenera audio. Por defecto: true; desactivarlo no cambia la tarifa por token.
nenteroFijo en 1; un vídeo por solicitud.
providerOptionsobjetoObjeto bytedance opcional: referenceAudio (hasta 3 URL HTTP(S)), seed (mismos límites que seed en el nivel superior). No se admite draft: true. Se rechazan las opciones desconocidas.

Combinaciones de entrada y límites multimedia

  • Usa image para un primer fotograma o frameImages para un primer fotograma y un último fotograma opcional. Se rechazan un último fotograma aislado y los tipos de fotograma duplicados.

  • Los fotogramas no se pueden combinar con inputReferences ni con providerOptions.bytedance.referenceAudio.

  • El modo de referencias acepta hasta 9 imágenes, 3 vídeos y 3 clips de audio, con un máximo de 15 referencias en total.

  • Las entradas multimedia deben ser URL HTTP(S) públicas. No se aceptan cargas de bytes ni URL que contengan credenciales.

  • Imágenes: JPEG, PNG, WebP, BMP, TIFF o GIF; menos de 30 MB; cada lado de 300–6000 píxeles; relación de aspecto de 0.4–2.5.

  • Vídeos: MP4 o MOV; como máximo 50 MB por archivo; cada clip de 2–15 segundos y como máximo 15 segundos en conjunto; 300–6000 píxeles por lado, relación de aspecto de 0.4–2.5, 24–60 fps.

  • Audio: MP3 o WAV; como máximo 15 MB por archivo; cada clip de 2–15 segundos y como máximo 15 segundos en conjunto. Se requiere al menos una imagen o un vídeo de referencia.

  • El tamaño, la codificación y la duración de los archivos multimedia remotos se comprueban durante el procesamiento; validar solo la URL no garantiza que el archivo sea utilizable.

  • Este endpoint no ofrece renderizado final a partir de un borrador de una tarea anterior ni opciones nativas de tarea arbitrarias.

Ejemplos de fotogramas y referencias

Envía estos cuerpos al mismo endpoint POST /v1/videos. Sustituye cada URL de example.com por una URL propia de archivo multimedia directamente accesible antes de enviar la solicitud. Mantén las URL de entrada disponibles hasta que termine la tarea.

Primer y último fotograma

Para un único primer fotograma, usa image: "https://example.com/first-frame.jpg" y omite frameImages. Para definir ambos extremos del clip, usa:

{
  "model": "bytedance/seedance-2.0",
  "prompt": "The camera slowly moves from the opening scene to the closing scene.",
  "frameImages": [
    {
      "frameType": "first_frame",
      "image": "https://example.com/first-frame.jpg"
    },
    {
      "frameType": "last_frame",
      "image": "https://example.com/last-frame.jpg"
    }
  ],
  "aspectRatio": "adaptive",
  "resolution": "720p",
  "duration": 4
}

Referencias de imagen, vídeo y audio

Coloca las entradas de imagen y vídeo en inputReferences, con un tipo MIME explícito. Coloca las URL de audio en providerOptions.bytedance.referenceAudio. No añadas entradas de fotogramas a esta solicitud.

{
  "model": "bytedance/seedance-2.0",
  "prompt": "Use the character from the image and the camera movement from the video.",
  "inputReferences": [
    {
      "type": "url",
      "url": "https://example.com/character.jpg",
      "mediaType": "image/jpeg"
    },
    {
      "type": "url",
      "url": "https://example.com/motion.mp4",
      "mediaType": "video/mp4"
    }
  ],
  "providerOptions": {
    "bytedance": {
      "referenceAudio": [
        "https://example.com/sound.wav"
      ]
    }
  },
  "resolution": "720p",
  "duration": 4
}

Consulta el estado y descarga el vídeo

Una tarea aceptada devuelve un objeto como este. Los ID y las marcas de tiempo del ejemplo son ilustrativos:

{
  "id": "task_EXAMPLE",
  "object": "video",
  "model": "bytedance/seedance-2.0",
  "status": "queued",
  "progress": 0,
  "created_at": 1792022400
}

Consulta GET /v1/videos/{task_id} con tu clave API. La consulta devuelve el mismo ID público de tarea y el mismo modelo. Usa status para decidir cuándo dejar de consultar; progress no estima el tiempo restante.

EstadoSignificadoSiguiente paso
queuedLa tarea se ha aceptado.Sigue consultando.
in_progressLa generación está en curso.Sigue consultando.
completedEl vídeo está listo.Lee videos[0].url y descárgalo.
failedLa generación ha fallado.Deja de consultar y revisa error.

Una consulta completada incluye videos, una lista de objetos con url y mediaType. Las marcas de tiempo usan segundos Unix; completed_at aparece cuando se registra la finalización.

{
  "id": "task_EXAMPLE",
  "object": "video",
  "model": "bytedance/seedance-2.0",
  "status": "completed",
  "progress": 100,
  "created_at": 1792022400,
  "completed_at": 1792022460,
  "videos": [
    {
      "url": "/v1/tasks/task_EXAMPLE/artifacts/video/content",
      "mediaType": "video/mp4"
    }
  ]
}

Si la URL devuelta es una ruta relativa, resuélvela con respecto a https://api.wanapi.app y autentícate con tu clave API. Para el ejemplo anterior:

curl "https://api.wanapi.app/v1/tasks/$TASK_ID/artifacts/video/content" \
  -H "Authorization: Bearer $WAN_API_KEY" \
  -o video.mp4

Si se devuelve una URL HTTPS firmada de un archivo multimedia, úsala directamente sin reenviar tu clave API a ese host. Las URL de resultados pueden caducar. Guarda en tu propio almacenamiento los vídeos que quieras conservar. Consultar el estado y descargar un resultado existente no crea otra generación.

Una tarea fallida incluye un objeto error con code y message, por ejemplo:

{
  "id": "task_EXAMPLE",
  "object": "video",
  "model": "bytedance/seedance-2.0",
  "status": "failed",
  "error": {
    "code": "generation_failed",
    "message": "Video generation failed"
  }
}

Facturación y gestión de errores

El cargo final depende del consumo real de tokens de vídeo y de la tarifa actual del modelo. La estimación del área de pruebas es una estimación máxima, no un presupuesto fijo. Los clips más largos y las resoluciones de salida mayores pueden aumentar el consumo de tokens. Las solicitudes fallidas no se cobran.

  • Parámetros no válidos: corrige los campos o la combinación de entradas antes de enviar de nuevo. Comprueba los formatos y límites multimedia, además de la sintaxis de las URL.
  • Autenticación o acceso al modelo: usa una clave Seedance válida y habilitada para el modelo solicitado.
  • Saldo insuficiente: añade fondos antes de una nueva solicitud de pago. Un límite de clave no añade crédito a la cuenta.
  • Fallo temporal al consultar el estado: reintenta el GET con intervalos crecientes y un periodo máximo de espera. Una consulta fallida no significa que la generación haya fallado.
  • Tiempo de espera agotado al enviar o ID de tarea ausente: el resultado puede ser desconocido. No repitas el POST automáticamente; podría crear una segunda tarea de pago.
  • Fallo de descarga: reintenta la descarga del resultado existente antes de iniciar una nueva generación.

Conserva el ID de tarea y contacta con soporte si es necesario investigar un envío incierto.

Descarga el esquema OpenAPI de Seedance 2.0.

Seedance 2.5

API de Seedance 2.5: generación de vídeo, fotogramas, referencias, ejemplos de solicitudes, consulta de tareas, descargas y precios.

Índice

Conecta con Wan APIEnvía una tarea de Seedance 2.0Consulta una tarea de Seedance 2.0Precios de Seedance 2.0Campos de la solicitudCombinaciones de entrada y límites multimediaEjemplos de fotogramas y referenciasPrimer y último fotogramaReferencias de imagen, vídeo y audioConsulta el estado y descarga el vídeoFacturación y gestión de errores