curl.
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: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: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.
<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 comoceil(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
durationfija (cuánto generar) y opcionalmenteaspect_ratio: "adaptive". Ladurationcoincidente 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: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:<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>
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
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.
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 aPOST /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á:
Ejemplos completos
Todos los ejemplos asumen queVENICE_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 elqueue_id devuelto y consulta /video/retrieve hasta que el cuerpo de la respuesta sea video/mp4:
{ "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/autoen Seedance 2.5): el clip de origen debe ser de 4–30 s, y se requierereference_video_urls(queue) oreference_video_total_duration(quote).
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
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 pasastereference_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
- Endpoint de cola de video de Venice:
POST /api/v1/video/queue - Endpoint de cotización de Venice:
POST /api/v1/video/quote - Guía complementaria: Reference to Video (cubre Kling O3 + Grok Imagine R2V)
- Guía complementaria: Generación de video (visión general de cola / sondeo)