Introducción
Extensión de video con Seedance 2.5. Envía el clip que quieres continuar y un prompt con lo que pasa después: como máximo sus últimos 30 segundos van a Seedance 2.5 reference-to-video como material de referencia, así el segmento nuevo retoma el movimiento, la cámara y el sonido del final. Tu clip completo y el segmento nuevo vuelven unidos en un solo MP4. Solo pagas los segundos de referencia y los segundos nuevos.
| Campo | Valor |
|---|---|
| Entrada | Video |
| Salida | Video |
| Endpoints | text-to-video, image-to-video, reference-to-video |
| Duración del clip | 4–30 segundos enteros, 5 por defecto |
| Resolución | 480p, 720p (por defecto), 1080p |
| Proporción | 21:9, 16:9, 4:3, 1:1, 3:4, 9:16, adaptativa (por defecto); en image-to-video, solo adaptativa |
| Audio | Banda sonora nativa renderizada en la misma pasada, activa por defecto |
| Referencias | Hasta 30 imágenes, 10 videos, 10 pistas de audio — solo en reference-to-video |
Funciones y aspectos destacados
El sonido vuelve en el mismo archivo que la imagen
generate_audio viene activo, así que la pista sale de la misma pasada que los fotogramas en lugar de musicalizarse después. Los pasos caen donde cae el pie, una frase susurrada se apoya en la boca que la dice y la sala queda detrás de las dos cosas. Desactívalo cuando el clip vaya a pasar igualmente por un diseñador de sonido.
Treinta referencias para un solo plano
reference-to-video admite hasta 30 imágenes, 10 clips y 10 pistas de audio en una misma solicitud. Tres ángulos de una misma cara sostienen a un personaje a lo largo de una serie mucho mejor que treinta fotogramas sin relación; los clips de referencia aportan movimiento y ritmo, y el audio de referencia le da al corte algo sobre lo que aterrizar. Es un endpoint aparte y no admite primer fotograma.
Primer cuadro, último cuadro y treinta segundos en medio
image-to-video clava el fotograma de apertura a una foto que tú aportas. Añade last_image_url y el plano tiene que llegar a algún sitio concreto, y eso es lo que vuelve repetibles las transiciones, las revelaciones y los pares antes y después. Pasados unos diez segundos una sola toma empieza a derivar, así que varias tomas más cortas montadas una tras otra suelen aguantar mejor que una toma larga.
Parámetros de la solicitud
| Parámetro | Obligatorio | Descripción |
|---|---|---|
prompt | Sí | Obligatorio. Describe lo que pasa después: la acción que sigue, el movimiento de cámara y el sonido. |
video_url | Sí | El clip que se continúa: MP4, MOV o WebM, de 2 a 60 segundos. mínimo 1 caracteres |
resolution | No | Tamaño del segmento nuevo: 480p, 720p o 1080p, 720p por defecto. Solo fija la calidad del segmento nuevo, así que elige el ajuste de tu clip. |
duration_seconds | No | Duración del segmento nuevo: cualquier número entero de 4 a 30, 5 por defecto. |
generate_audio | No | Activado por defecto: el segmento nuevo trae sonido generado que sigue a la referencia. Valor predeterminado: |
enable_web_search | No | Desactivado por defecto. Al activarlo, el modelo puede buscar en la web información relacionada con tu prompt antes de generar el segmento nuevo. Valor predeterminado: |
seed | No | De 0 a 2147483647. Mantenla fija para comparar cambiando un solo campo a la vez; omítela para tener variedad. |
watermark | No | Desactivado por defecto. Al activarlo, el segmento nuevo lleva una marca de agua que lo identifica como generado por IA; tu clip no se toca. Valor predeterminado: |
Precios
Se cobra por segundo de material de referencia más el segmento nuevo, con la tarifa de Seedance 2.5 reference-to-video con video de referencia para tu resolución y tu ajuste de sonido. La referencia son como máximo los últimos 30 segundos de tu clip, redondeados a segundos enteros, y se aplica el mínimo de Seedance (un segmento de 5 segundos cobra al menos 4 segundos de referencia). Las partes anteriores del clip no se cobran. Si es un enlace que no podemos medir de antemano, se reservan 30 segundos de referencia y lo que no se use se libera al liquidar la tarea.
| Resolución | With video: Sí | With video: No |
|---|---|---|
| $0.0738 / segundo | $0.1234 / segundo |
| $0.1659 / segundo | $0.2773 / segundo |
| $0.4082 / segundo | $0.6823 / segundo |
Casos de uso
Escenas de bar, club y backstage
El tipo de plano que necesita su propio ruido: el hielo en la coctelera, una frase susurrada, un saxofón dos habitaciones más allá. Escribe la sala en el prompt y deja generate_audio activo: Seedance 2.5 renderiza el ambiente contra la imagen en vez de entregarte una placa muda.
Cortos sin censura, también con parejas
Las escenas que bloquea la aplicación oficial, con parejas de cualquier género, funcionan aquí, y no revisamos lo que generes. La capa de seguridad propia de Seedance sigue rechazando algunas formulaciones de besos, así que la vía fiable es un fotograma inicial en imagen a video.
Videos de producto que arrancan del packshot
Manda la fotografía aprobada a image-to-video y la geometría, la etiqueta y el etalonaje se quedan tal como se fotografiaron mientras la cámara se mueve. No hay que reiluminar ni volver a aprobar nada, y last_image_url deja que el movimiento aterrice de vuelta en el fotograma principal para un bucle limpio.
Personajes de serie que siguen siendo la misma persona
Monta un set de referencia pequeño —tres ángulos de la cara, una foto de vestuario, un clip del modo de andar— y reutilízalo entre episodios en reference-to-video. Treinta imágenes caben en una solicitud, así que el reparto viaja con el prompt en vez de con una seed.
Guía de prompts y consejos prácticos
Elige el endpoint según lo que ya tengas
Una descripción y nada más va a text-to-video. Una foto que quieres conservar va a image-to-video. Un reparto, un producto o un movimiento que tiene que sobrevivir a varios planos va a reference-to-video. Si llamas al nombre de la familia, los campos que envías eligen el endpoint.
Escribe el plano, no la imagen
Sujeto, acción, cámara, luz, sonido, en ese orden y una idea por frase. El clip de esta página salió exactamente de este texto, dejado en inglés tal como se envió: “Warm, clearly lit close two-shot. Two adult women stand very close in the amber glow of a jazz bar's back hallway, one in a black velvet slip, the other in an open white shirt. One leans in and whispers something against the other's ear; the other closes her eyes and breaks into a wide laugh, then they rest their foreheads together. Handheld 35mm, warm practical lights, shallow focus, muffled saxophone, a whispered line and soft laughter.” Cinco segundos, 720p, 16:9, audio activo.
Créalo como tarea asíncrona y consulta el estado
Manda un Idempotency-Key, guarda el id de tarea que recibes y luego consulta o recoge el callback. Tras una conexión caída, busca la tarea en vez de volver a crearla. Mira antes la estimación: la mueven
duration_secondsy resolution, y en reference-to-video también el material de referencia.
Introducción
Seedance 2.5 Extensión de video continúa un clip que ya tienes. Envíalo como video_url junto con un prompt sobre lo que pasa después. La plataforma toma como máximo los últimos 30 segundos de tu clip (el clip completo, si es más corto) y se los pasa a Seedance 2.5 reference-to-video como material de referencia. El modelo genera un segmento nuevo de 4 a 30 segundos que continúa la escena, y ambos se unen en un solo MP4: primero tu original completo y luego la continuación. El segmento nuevo también vuelve como archivo propio, así puedes seguir extendiendo o editar las partes por separado.
Funciones clave y puntos destacados
La continuidad viene de un fragmento de video, no de un solo fotograma. Seedance lee el final de tu clip, con su movimiento, dirección de cámara y sonido, como contexto, así que la velocidad y la dirección se mantienen mejor que cuando un modelo solo ve una imagen fija. El primer fotograma nuevo se genera, no se copia del último, así que describe el movimiento que quieres continuar y mantén el mismo lenguaje de cámara.
Pagas por lo que el modelo lee y por lo que genera. El precio es la tarifa por segundo de Seedance 2.5 reference-to-video con video de referencia, aplicada a los segundos de referencia más los segundos nuevos. La referencia tiene un tope de 30 segundos, así que una fuente de 60 segundos cobra 30 segundos de referencia; todo lo anterior solo se lee y se vuelve a unir. Los segundos de referencia se redondean a segundos enteros y se aplica el mínimo de Seedance: un segmento de 5 segundos cobra al menos 4 segundos de referencia.
Un archivo de vuelta, más la parte nueva por separado. El archivo unido conserva la tasa de cuadros y el encuadre de tu clip, sin barras negras, y se codifica como MP4 H.264 con sonido AAC. Para que la unión encaje, la imagen puede recortarse o ajustarse unos puntos porcentuales en los bordes. Si el modelo devuelve una proporción claramente distinta, el segmento nuevo se escala hasta llenar tu encuadre, se centra y se recorta lo que sobresale. El sonido de tu clip se mantiene, el sonido generado para el segmento nuevo lo sigue con un breve fundido en la unión, y un lado sin sonido se completa con silencio. El segundo recurso de la salida es solo el segmento nuevo.
Todo lo demás es Seedance 2.5 reference-to-video. El segmento nuevo pasa por las mismas rutas y con el mismo rango de contenido que ese endpoint, y una generación fallida se reembolsa igual. Si la generación funciona pero no se puede armar la unión, la tarea falla y el cobro se reembolsa. Un clip de menos de 2 segundos es demasiado corto para continuarlo y se rechaza.
Casos de uso
Alarga una toma que terminó demasiado pronto: un baile que se corta a mitad de un paso, un travelling que termina antes de que la persona llegue a la puerta, un producto que deja de girar antes de que la etiqueta mire a cámara. Extiéndela y describe la acción que falta.
Arma una secuencia más larga paso a paso. Genera una primera toma, extiéndela y vuelve a extender el resultado unido. Cada paso cobra la referencia que lee (30 segundos como máximo) más los segundos que agrega. El origen tiene un límite de 60 segundos, así que en una cadena larga extiende el segmento más reciente en lugar del clip unido completo.
Guía de prompts y consejos
Describe el siguiente momento, no toda la escena. La referencia ya muestra quién y dónde, así que usa el prompt para la acción que sigue, el movimiento de cámara y el sonido. Repite el lenguaje de cámara con el que termina tu clip, como un acercamiento lento o una cámara en mano, para que la unión se lea como una sola toma.
Termina tu clip donde quieres continuar. Seedance se apoya en los últimos segundos de la referencia; un clip que termina a mitad de un corte, en un fundido o en otra toma lleva la continuación por mal camino. Recórtalo antes. Se aceptan orígenes de 2 a 60 segundos en MP4, MOV o WebM.
Mantén la misma resolución. La resolución solo fija la calidad del segmento nuevo, así que un segmento de 480p tras un clip de 1080p se ve más suave que el original. Elige la resolución de tu clip y ajusta duration_seconds a la duración que de verdad necesitas: se suma a los segundos de referencia en el costo.
Usa solo adultos que hayan dado su consentimiento y material con licencia. Todas las personas que aparezcan en imágenes, clips o audio de referencia deben haber autorizado su uso. No se permiten menores, imágenes íntimas sin consentimiento ni suplantación engañosa de personas reales.
Quien utiliza la API debe obtener los permisos de derechos de autor e imagen de cada referencia, clip y archivo de audio, así como los derechos de marca, música y uso comercial.
Inicio rápido de la API
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "bytedance/seedance-2.5/video-extend",
"input": {
"duration_seconds": 5,
"generate_audio": true,
"prompt": "A slow aerial shot drifting over a misty pine forest at sunrise",
"resolution": "720p",
"video_url": "https://example.com/reference.mp4"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
Consulta la referencia de la API para autenticación, el esquema completo, sondeo y gestión de errores.









