Skip to main content
Seedance es una familia multimodal insignia de generación de video en Venice para flujos impulsados por texto, imagen y referencia. Seedance 2.0 (más Fast) y Seedance 2.5 comparten el mismo modelo de enrutamiento de prompts R2V: un único endpoint de reference-to-video maneja cuatro flujos de trabajo distintos (Reference, Edit, Extend, Stitch). El flujo de trabajo se infiere a partir de la forma de tu prompt. Esta guía cubre las variantes, los cuatro flujos de trabajo, la política de medios de la API pública, los límites multimodales específicos por familia, los precios y ejemplos con curl.
Los medios que contienen personas no son compatibles con la API pública de Seedance. Los modelos públicos *-basic no usan atestación de consentimiento (consents.seedance / needs_consent). Este tipo de entradas pueden ser rechazadas aguas arriba como un error de política de contenido o del proveedor. Usa la app de Venice o Studio para el conjunto completo de funciones de Seedance.

Variantes

Todas las variantes son asíncronas. Envía la solicitud mediante POST /api/v1/video/queue y luego consulta POST /api/v1/video/retrieve hasta que el cuerpo de la respuesta sea video/mp4. Consulta Generación de video para el flujo general de la cola. Pasa resolution como uno de: 480p, 720p, 1080p o 4k (en minúsculas). Seedance 2.0 (no Fast) acepta las cuatro; 2.0 Fast y 2.5 solo aceptan 480p / 720p. Descubre los IDs de modelos en producción y sus capacidades con GET /models?type=video; no codifiques la disponibilidad de forma fija.

El modelo “un modelo, cuatro flujos de trabajo”

Las variantes reference-to-video (seedance-2-0-reference-to-video-basic, su hermana Fast y seedance-2-5-reference-to-video-basic) usan el mismo patrón de enrutamiento por prompt. El modelo infiere la tarea a partir del prefijo del prompt y la forma de tus entradas. No hay un campo task ni workflow: la sintaxis del prompt es el enrutamiento. La sintaxis del prompt es canónica y sensible a mayúsculas: corchetes angulares, primera letra en mayúscula, un espacio antes del número: <Video 1>, <Image 1>, <Audio 1>.

Patrones de flujo de trabajo

Flujo Reference

Usa los archivos de referencia cargados como donantes —sujeto, escena, movimiento, estilo, timbre vocal— para generar un video totalmente nuevo. Patrones canónicos de prompt:
Ejemplos:
  • Refer to <Subject 1> in <Image 1> to generate a 5-second clip of the same character riding a horse through snow.
  • Refer to the camera scene in <Video 1> to generate a similar establishing shot of a futuristic city at dawn.
  • Refer to <Subject 1> in <Image 1> and use the timbre in <Audio 1> for the narrator describing the scene. (los donantes de audio deben estar acompañados de al menos una imagen o un video de referencia; solo audio se rechaza)

Flujo Edit

Modifica un único video de entrada. Todo lo que no se nombre explícitamente en el prompt se preserva. Úsalo cuando quieras un cambio localizado (cambio de sujeto, de clima/color, añadir o quitar elementos) en lugar de un video totalmente nuevo. Patrón canónico de prompt:
Subpatrones para control más fino:
Ejemplos:
  • Strictly edit <Video 1>, changing its weather from sunny to a heavy rainstorm.
  • Add snacks such as fried chicken and pizza to the countertop in <Video 1>.
  • Remove the red car from <Video 1>, keeping the rest of the video content unchanged.
  • Replace the perfume featured in <Video 1> with the face cream from <Image 1>, with all original motions and camera work preserved.
El último ejemplo combina Edit con una referencia de imagen; es perfectamente válido, el modelo usa <Image 1> como donante visual para el reemplazo.

Relación de aspecto y duración coincidentes con el origen

Para el reference-to-video de Seedance en edit / extend, puedes pedir que la salida siga el clip de origen en vez de elegir una relación o duración fijas: Requisitos:
  • Queue: cualquier valor coincidente con el origen requiere reference_video_urls.
  • Quote: cualquier valor coincidente con el origen requiere reference_video_total_duration. La duración coincidente con el origen se factura como ceil(reference_video_total_duration) segundos.
  • La relación y la duración son independientes: puedes hacer coincidir una sin la otra.
  • Para extend, prefiere una duration fija (cuánto generar) y opcionalmente aspect_ratio: "adaptive". La duration coincidente con el origen está pensada para trabajos tipo edit con “misma duración que el origen”.

Flujo Extend

Continúa un único clip hacia delante o hacia atrás en el tiempo. Por defecto, Seedance devuelve solo el contenido nuevo, no el clip de entrada concatenado con la extensión. Es por diseño, para preservar la continuidad de la transición; si quieres que el clip de entrada se conserve junto con la extensión, indícalo explícitamente:
Manejo de transiciones: el modelo extrae automáticamente los fotogramas de transición para una mezcla sin costuras, y los segmentos originales del video de entrada no se regeneran. Ejemplos:
  • Extend <Video 1>, generate a dramatic chase scene through narrow alleys at dusk.
  • Extend <Video 1> backward, the same character walking toward the camera before the original shot begins.
  • Extend <Video 1>, start with <Video 1>, then the camera pulls back to reveal a vast landscape.

Flujo Stitch (Track Completion)

Conecta clips de entrada con transiciones generadas por IA. Respeta los topes específicos por familia de duración combinada y número de clips en Límites de entrada multimodal (Seedance 2.0: ≤3 clips / ≤15 s combinados; Seedance 2.5: topes de video más altos). Patrón canónico de prompt:
Ejemplos:
  • <Video 1> + a smooth seamless cut + followed by <Video 2>
  • <Video 1>. The moment a leaf falls to the ground, it sets off a special effect of golden particles. A gust of wind blows by, leading into <Video 2>.
  • <Video 1> + a wisp of smoke transforms into a flock of birds + followed by <Video 2> + a slow dolly-in + followed by <Video 3>
El modelo recorta automáticamente los segmentos de unión en los puntos de empalme para lograr continuidad.

Fórmula universal de prompt

En los cuatro flujos, la fórmula de redacción recomendada es:
  • Subject + Motion: la base lógica; define “quién” realiza “qué acción”
  • Environment + Aesthetics: fondo espacial, iluminación, estilo visual
  • Camera: tipo de plano o movimiento explícito
  • Audio: efectos de sonido ambientales o dirección vocal para una salida inmersiva
Superponer esto sobre un prefijo de flujo de trabajo (por ejemplo, Strictly edit <Video 1>, changing its <subject + motion + environment + ...>) produce las salidas de mayor calidad.

Límites de entrada multimodal

Los valores a continuación son los que acepta la API de Venice. Las solicitudes fuera de estos rangos se rechazan a nivel de esquema con un 400 antes de llegar a la inferencia. Seedance 2.0 y Seedance 2.5 usan topes distintos. Consulta siempre la columna correspondiente a la familia de modelos que estés llamando.

Mínimos compartidos de medios

Comparación por familia

El audio de referencia solo se admite en las variantes R2V. Cada entrada se envía al modelo como un elemento de contenido con role: "reference_audio" al que el prompt hace referencia como <Audio 1>, <Audio 2>, … El modelo usa cada clip para timbre vocal, efectos de sonido o música de fondo según cómo lo enmarque el prompt. El campo heredado singular audio_url se mapea a la misma forma de contenido y ahora es equivalente a pasar un reference_audio_urls con un solo elemento.
reference_audio_urls no puede ser la única entrada de referencia. El modelo requiere al menos una referencia de imagen o video junto con cualquier donante de audio. Empareja reference_audio_urls con reference_image_urls, reference_video_urls, image_url o video_url; los envíos solo con audio se rechazan.

Tamaño de la solicitud

El endpoint de la cola acepta cuerpos JSON de hasta 35 MB. Las data URLs inline para videos grandes pueden superar este tope; para Stitch de varios clips en particular, prefiere URLs sobre base64 inline.

Precios

Llama a POST /api/v1/video/quote para obtener una cotización para una forma de solicitud dada antes de enviarla a /video/queue. El endpoint de cotización es la única fuente autoritativa; los detalles de precios pueden cambiar y no deben almacenarse en caché ni duplicarse en el cliente. Cuando haya video(s) de referencia como parte de la solicitud, pasa también reference_video_total_duration (la suma de todas las duraciones de clips de referencia en segundos) para que la cotización coincida con lo que /video/queue cobrará:
Cotización de edit de Seedance 2.5 coincidente con el origen (factura a partir de la duración del origen):

Ejemplos completos

Todos los ejemplos asumen que VENICE_API_KEY está configurada en el entorno.

Texto a video

Seedance 2.0 texto a video (4K)

Seedance 2.5 texto a video (duración más larga)

Imagen a video (primer fotograma)

Los modelos I2V de Seedance (seedance-2-0-image-to-video-basic, su variante Fast y seedance-2-5-image-to-video-basic) no aceptan aspect_ratio: la relación de aspecto de salida se deriva automáticamente de las dimensiones de la imagen de entrada. Pasar el campo devuelve un 400 con “This model does not support aspect_ratio”. Usa las variantes T2V o R2V si necesitas control explícito de la relación de aspecto.

Flujo Reference — donante de sujeto

Flujo Reference de Seedance 2.5 — multi-imagen

Flujo Reference — donante de sujeto + audio

Flujo Edit

Edit de Seedance 2.5 — duración y relación de aspecto coincidentes con el origen

duration: "auto" (o "-1") y aspect_ratio: "adaptive" (o "auto") hacen que la salida siga el clip de origen. Consulta Relación de aspecto y duración coincidentes con el origen.

Flujo Edit con anclaje de imagen

Extend hacia delante

Stitch (3 clips)

Sondeo hasta completar

Después de cada envío a la cola, guarda el queue_id devuelto y consulta /video/retrieve hasta que el cuerpo de la respuesta sea video/mp4:
La respuesta es JSON ({ "status": "queued" | "running" | "failed", ... }) hasta que el trabajo se completa, momento en el que el cuerpo de la respuesta cambia a bytes video/mp4. Consulta Generación de video para el patrón completo de sondeo.

Solución de problemas

At least one reference is required for this model

Los envíos de reference-to-video deben incluir al menos uno de reference_image_urls, reference_video_urls, image_references o video_references. La generación solo de texto no es un flujo R2V válido; usa en su lugar un ID de modelo de text-to-video. reference_audio_urls por sí solo no es suficiente (ver la sección de Audio más arriba).

Demasiados videos / imágenes de referencia

Seedance 2.0 limita R2V a 9 imágenes y 3 videos. Seedance 2.5 eleva esos topes a 30 imágenes y 10 videos. Si superas el límite de la familia, recorta las entradas o une los clips offline primero.

Errores de duración / duración agregada

  • 2.0: por clip de video/audio de referencia [2, 15] s; combinado video/audio ≤ 15 s; salida 4–15 s.
  • 2.5: por clip de video/audio de referencia [2, 30] s; combinado video/audio ≤ 30 s; salida 4–30 s.
  • Duración coincidente con el origen (-1 / auto en Seedance 2.5): el clip de origen debe ser de 4–30 s, y se requiere reference_video_urls (queue) o reference_video_total_duration (quote).
Recorta los clips en el cliente antes del envío.

El prompt se enruta al flujo de trabajo equivocado

El flujo de trabajo se infiere a partir de la sintaxis del prompt. Malas rutas comunes:
  • Querer Extend pero escribir Refer to ... → el modelo trata tu video como donante, no como un lienzo para continuar
  • Querer Stitch pero escribir Refer to ... → el modelo elige uno como donante e ignora los demás
  • Querer Edit pero escribir Generate a video based on <Video 1> → es ambiguo; el modelo puede caer por defecto en Reference
Usa los prefijos canónicos exactamente como se escriben: Strictly edit <Video 1>, ..., Extend <Video 1>, ..., <Video 1> + ... + followed by <Video 2>.

Medios con personas no compatibles

Los modelos públicos de la API de Seedance no ejecutan un flujo de atestación de consentimiento (consents.seedance / needs_consent). Los medios con personas detectables pueden fallar con un error de política de contenido o del proveedor. Usa la app de Venice o Studio en su lugar.

La cotización no coincide con el importe encolado

Si incluiste un video de referencia pero no pasaste reference_video_total_duration a /video/quote, la cotización y el importe encolado pueden diferir. Pasa siempre reference_video_total_duration (suma de todas las duraciones de clips de referencia, en segundos) cuando haya videos de referencia presentes.

Referencias