Introducción
El reference-to-video de Seedance 2.0 concilia varias fuentes autorizadas en un solo plano: imágenes para el quién y el qué, clips para el movimiento y el ritmo, audio para el tiempo en el que aterriza el corte. Es un contrato aparte y no admite fotograma de apertura.
Seedance 2.0, de ByteDance, publica text-to-video, image-to-video y reference-to-video: clips de 4 a 15 segundos, de 480p a 4K, con audio nativo y encuadre adaptativo por defecto.
| Material de partida | Modo recomendado |
|---|---|
| Escena escrita | Seedance 2.0 Texto a video |
| Imagen inicial aprobada | Seedance 2.0 Imagen a video |
| Referencias separadas | Seedance 2.0 Referencias a video |
Funciones y aspectos destacados
El ambiente de la sala vuelve en el mismo archivo
generate_audio viene activo por defecto, así que el hielo en la coctelera, una risa, el murmullo de fondo del bar y la sala donde ocurre salen de la misma pasada que la imagen. El resultado llega ya sincronizado en vez de esperar a una pasada de sonido. Desactívalo cuando el clip vaya a ir igualmente a un diseñador de sonido.
Nueve referencias y un reparto que no cambia
El reference-to-video admite hasta 9 imágenes, 3 clips y 3 pistas de audio a la vez. Tres ángulos de una misma cara más una foto de vestuario sostienen a un personaje a lo largo de un episodio mucho mejor que nueve fotogramas sin relación, y un clip de referencia aporta un lenguaje de cámara que ningún adjetivo del prompt reproduce de forma fiable.
La forma sigue al material
aspect_ratio viene en adaptive en los tres endpoints. En image-to-video el clip conserva la forma de tu foto de apertura, así que un vertical no se recorta a apaisado; en text-to-video el modelo toma la forma del prompt; en reference-to-video busca un encuadre que sostenga a todos los sujetos referenciados. Indica 16:9, 9:16 o 21:9 solo cuando una colocación exija un formato fijo.
Parámetros de la solicitud
| Parámetro | Obligatorio | Descripción |
|---|---|---|
prompt | Sí | Obligatorio, y aquí también hace el reparto. |
reference_image_urls | No | Hasta 9 imágenes de referencia, usadas para sostener un personaje, un estilo o un decorado. máximo 9 elementos |
reference_video_urls | No | Hasta 3 clips de referencia, de 2 a 15 segundos cada uno y no más de 15 segundos en total, que aportan movimiento, ritmo o lenguaje de cámara. máximo 3 elementos |
reference_audio_urls | No | Hasta 3 archivos de audio de referencia, de 2 a 15 segundos cada uno y no más de 15 segundos en total, que le dan al modelo un anclaje sonoro —dicción, tempo, una frase musical—… máximo 3 elementos |
aspect_ratio | No | Por defecto es |
resolution | No | 480p, 720p, 1080p o 4k, 720p por defecto, y alimenta directamente la cantidad facturada. Fija solo el escalón de salida y no va a afilar referencias de baja resolución. |
duration_seconds | No | De 4 a 15 segundos, 5 por defecto; con -1 el modelo elige la duración (se estima el máximo de 15 segundos y se cobra la duración entregada). |
generate_audio | No | Activo por defecto. Produce una banda sonora nativa sincronizada con la imagen. Valor predeterminado: |
seed | No | Seed entera; si la omites, cada tirada saca la suya. Fíjala con todo lo demás constante para juzgar qué cambió realmente un retoque de prompt. |
return_last_frame | No | Devuelve además el último fotograma del clip como imagen aparte, junto al video. Valor predeterminado: |
bitrate_mode | No | Tasa de bits del archivo entregado: |
watermark | No | Añade al video la marca de agua visible «AI generated» del propio modelo. Valor predeterminado: |
Precios
Los clips de referencia suman segundos facturables. Como no podemos medir tus clips antes de ejecutar la tarea, retenemos por adelantado el importe de los 15 segundos máximos y liberamos la parte no utilizada en cuanto se liquida — solo se te cobran los segundos realmente usados.
| Resolución | With video: Sí | With video: No |
|---|---|---|
| $0.0431 / segundo | $0.07 / segundo |
| $0.0928 / segundo | $0.152 / segundo |
| $0.2284 / segundo | $0.374 / segundo |
| $0.778 / segundo | $0.778 / segundo |
Casos de uso
Asignar un papel a cada referencia
El reference-to-video de Seedance 2.0 concilia varias fuentes autorizadas en un solo plano: imágenes para el quién y el qué, clips para el movimiento y el ritmo, audio para el tiempo en el que aterriza el corte. Es un contrato aparte y no admite fotograma de apertura. Usa este modo cuando imágenes, clips o audios separados deben guiar partes distintas de un plano nuevo. Identifica lo que aporta cada recurso antes de pedir la acción que los conecta.
Escenas de noche y de bar que traen su propio sonido
Un cóctel que se agita, un vaso sobre la barra, conversaciones bajas tras un farolillo rojo: escribe la sala en el prompt y deja generate_audio activo. Seedance 2.0 renderiza el ambiente contra la imagen, así que el corte llega con atmósfera en lugar de con una placa muda.
Continuidad de campaña en toda una tanda de cortes
Carga el producto desde tres ángulos y a la modelo desde dos en el reference-to-video, y luego cambia solo el prompt en cada corte. La misma botella, la misma cara y la misma chaqueta viajan con la solicitud, así que la serie se sostiene sin una pasada manual de etalonaje.
Trabajo de vestuario y de rol, sin censura
Encaje y satén, accesorios de cola y orejas, encuadre en primera persona, parejas de cualquier género: nada de eso se revisa por nuestra parte. La capa propia de Seedance rechaza algunas redacciones, así que conduce esos momentos desde un primer fotograma en image-to-video en lugar de desde el prompt.
Guía de prompts y consejos prácticos
Elige el endpoint según lo que ya tengas
Una descripción a secas va a text-to-video. Una foto que tiene que sobrevivir va a image-to-video. Un reparto, un producto o un movimiento que debe repetirse entre cortes va a reference-to-video. Si llamas al nombre de la familia, los campos que envías eligen el endpoint.
Escribe el plano como una lista de rodaje
Sujeto, acción, cámara, luz, sonido, una idea por frase. El clip de esta página salió exactamente de este texto, dejado en inglés tal como se envió: "Photorealistic live-action, not animation. A real adult woman in a chocolate satin robe works behind a dim neon bar, a large fluffy faux fox tail accessory clipped at the small of her back. She shakes a cocktail, turns to set the glass on the counter and the tail sways with the movement, then she looks back at camera with a teasing smile. Warm red lantern light, 35mm grain, slow push-in, ice rattling and low bar chatter." Cinco segundos, 720p, 16:9, audio activo.
Adapta el ejemplo publicado
Parte del ejemplo publicado y conserva las entradas que pertenecen a este modo. Sustituye solo el sujeto y la dirección creativa; compara la siguiente toma con un objetivo visual concreto.
The woman from @Image1, in the same sheer black robe, steps out onto the rooftop from @Image2 at sunset. She walks slowly between the drying white sheets; the wind lifts one sheet across her body and lets it fall away. She stops at the parapet, the robe sliding off one shoulder, and glances back over her shoulder into camera. Warm golden backlight, slow tracking shot, no cuts.
Una referencia es la persona y la otra es el lugar: el prompt dice qué imagen hace cada cosa, así que la mujer del retrato a la luz de las velas llega a la azotea al atardecer con la misma bata, y las sábanas tendidas se convierten en aquello entre lo que se mueve.
Revisa el resultado e itera con intención
Comprueba que cada referencia cumpla su función prevista: personaje, entorno, movimiento o sonido. Si hay conflicto, quita primero una fuente contradictoria en vez de sobrecargar el prompt.
Define el punto de partida y el resultado
Antes de generar, decide qué debe verse al inicio, en el cambio y al final. Así puedes revisar la secuencia frente a un objetivo concreto, no frente a una impresión vaga.
Evalúa por separado la fuente y el movimiento
La imagen de origen fija los detalles reconocibles; la instrucción explica lo que ocurre después. Revisa ambas decisiones juntas para que el movimiento no borre la composición inicial.
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.0/reference-to-video",
"input": {
"aspect_ratio": "adaptive",
"bitrate_mode": "standard",
"duration_seconds": 5,
"generate_audio": true,
"prompt": "A slow aerial shot drifting over a misty pine forest at sunrise",
"resolution": "720p",
"reference_image_urls": [
"https://example.com/reference.png"
]
}
}'
# 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.
















