Seedance 2.0 en SpicyAPI (spicyapi.ai) tiene tres tareas de vídeo y cada una pide un prompt distinto. En texto a vídeo el prompt carga con todo el plano. En imagen a vídeo el fotograma de apertura carga con el aspecto, así que el prompt solo dice qué pasa después. En referencia a vídeo usted entrega imágenes, clips o audio y el prompt dice para qué sirve cada archivo. Si escribe el tipo de prompt equivocado para la tarea, ningún número de adjetivos salva el clip.
Los precios y límites de abajo vienen de las páginas públicas de los modelos, octubre de 2026. Las tres tareas devuelven de 4 a 15 segundos de vídeo con sonido a 480p hasta 4K.
Elija la tarea según lo que deba quedarse fijo
| Lo que ya tiene | Tarea | Trabajo del prompt | Precio desde |
|---|---|---|---|
| Una idea, sin imagen | Texto a vídeo | Describa la escena y luego qué cambia | $0.07/s |
| El fotograma de apertura exacto (un plano de producto, una imagen fija aprobada) | Imagen a vídeo | Describa solo lo que pasa después del fotograma | $0.07/s |
| Fuentes separadas: una cara, un lugar, un movimiento de cámara, un sonido | Referencia a vídeo | Diga qué aporta cada archivo y luego dirija un plano nuevo | $0.07/s ($0.043 con un vídeo de referencia) |
El texto a vídeo inventa la composición de apertura, así que úselo para escenas ficticias o flexibles. Si la etiqueta y las proporciones de un producto real importan, una descripción de texto no las reproducirá; empiece desde una foto. Referencia a vídeo no tiene control del primer fotograma; si el fotograma de apertura debe coincidir, use imagen a vídeo. Imagen a vídeo conserva la ropa, la forma de los objetos y la iluminación del fotograma. No garantiza que sobrevivan a un giro o a una oclusión, así que vea el clip entero.
Referencia a vídeo admite hasta 9 imágenes, 3 clips de vídeo y 3 archivos de audio. Cada clip o archivo de audio dura de 2 a 15 segundos, y cada tipo tiene un tope combinado de 15 segundos. Se requiere al menos una imagen o un vídeo; el audio solo se rechaza. Use el conjunto más pequeño que resuelva el trabajo. Los archivos extra añaden contradicciones, como una cara bajo tres iluminaciones o un movimiento de cámara que pelea con el encuadre de las referencias, y el modelo no puede saber qué archivo manda si el prompt no lo dice.
Escriba el brief del plano
El mismo orden sirve para las tres tareas: sujeto, acción, cámara, luz, sonido, una idea por frase. El resto de esta guía sigue un ejemplo, un mecánico que gira un pedal de una bicicleta urbana roja.
- Una acción visible, una instrucción de cámara. "El mecánico gira el pedal una vez y luego apoya la mano al lado" le da al modelo algo que renderizar; "emocional, cinematográfico" no. Describa cómo se mueve el sujeto ("levanta lentamente el obturador") en vez de añadir palabras de calidad.
- Diga dónde está la cámara respecto al sujeto. "La cámara se queda a la altura de la cintura, a distancia media" es una instrucción utilizable. No combine "cámara fija", "órbita" y "zoom rápido" en un mismo plano; elija un comportamiento o ninguno.
- Ajuste la duración a la acción. Cinco segundos sostienen un giro, un alcance o una mirada. Entrar en una habitación, recoger una herramienta y decir una frase necesita 10 segundos o más, o planos separados.
duration_secondsacepta segundos enteros de 4 a 15, o-1para que el modelo elija. - Use el orden de planos, no marcas de tiempo. Seedance 2.0 sigue "Shot 1, Shot 2, Shot 3" de forma más fiable que rangos de segundo a segundo. Si una acción desaparece, reduzca el número de eventos o dele más tiempo a la secuencia.
- Ponga el estilo al final y manténgalo corto. "Luz suave de mañana, textura documental" apoya el plano. Una pila de etiquetas sin relación empuja el resultado hacia un acabado genérico y esconde la acción. Para una escena estilizada, empiece por "Photorealistic live action, not animation", o puede derivar hacia ilustración.
Un brief de varios planos para 10 segundos, con el corte explícito:
A mechanic in a dark blue work shirt repairs a red commuter bicycle in a tidy daylight workshop. Naturalistic photography, soft morning light.
Shot 1: Fixed medium shot. The mechanic turns the right pedal once by hand and the rear wheel spins.
Shot 2: Cut to a close side view of the rear wheel slowing while his gloved hand steadies the frame.
Shot 3: Back to the medium shot. He steps back and wipes his hands on a rag.
Sound: ratchet clicks, the spinning wheel, quiet workshop. No music, no captions.Pruébelo primero en el Playground
Ejecute el brief en el Playground antes de escribir código; un prompt que falla aquí falla también desde la API.
- Abra la página de texto a vídeo y quédese en la pestaña Playground, en la vista Form. Inicie sesión con una cuenta con saldo para ejecutar.
- Pegue el brief en Prompt.
- Ajuste Aspect ratio (16:9), Resolution y Duration. Elija 480p y 5 segundos para un borrador; ambos ajustes están marcados como "affects price", igual que Generate audio y Web search (deje Web search desactivado).
- Lea la estimación de precio y luego ejecútelo. Bajo Advanced parameters, Seed ayuda a comparar un cambio de prompt con la última ejecución.
Imagen a vídeo tiene la misma pestaña con una subida de Input image (y un Closing frame opcional). En referencia a vídeo, añada archivos bajo Reference images, Reference videos y Reference audio; se numeran como image 1, video 1, audio 1 según los va añadiendo, y Insert reference coloca la etiqueta correspondiente en el prompt.
Luego llámelo desde código
Instale el SDK de Python (pip install spicyapi), defina SPICY_API_KEY en el entorno de su servidor y ejecute:
import uuid
from spicyapi import SpicyClient, output_assets
client = SpicyClient() # reads SPICY_API_KEY from the environment
request = {
"model": "bytedance/seedance-2.0/text-to-video",
"input_data": {
"prompt": "One adult mechanic in a dark blue work shirt stands beside one red commuter bicycle on a repair stand. Medium shot in a tidy daylight workshop. The mechanic turns the right pedal once by hand, watches the rear wheel rotate, then pauses with the hand resting beside the pedal. The camera stays fixed at waist height; the bicycle remains fully visible. Soft morning light from the left. A quiet workshop ambience and one short mechanical click, with no speech. One continuous shot.",
"duration_seconds": 5,
"resolution": "720p",
"aspect_ratio": "16:9",
"generate_audio": True,
},
}
quote = client.quote_task(**request) # free; nothing is reserved
print(quote["estimatedCost"], quote["maxCharge"])
task = client.create_task(
**request,
idempotency_key=str(uuid.uuid4()),
quote_id=quote["quoteId"],
expected_cost=quote["estimatedCost"],
)
print("Resume task:", task["taskId"], flush=True)
final = client.wait_for_terminal(task["taskId"])
if final["state"] != "succeeded":
raise RuntimeError(f"Task {task['taskId']} ended as {final['state']}")
assets = output_assets(final)
if not assets or any(a.get("pending") or a.get("unavailable") or not a.get("url") for a in assets):
raise RuntimeError(f"Task {task['taskId']} has no ready output; check this task before a new run")
print(assets[0]["url"]) # copy it to your own storage nowLas otras dos tareas usan la misma llamada con un model y un input_data distintos: image_url (más last_image_url opcional) para imagen a vídeo, y reference_image_urls con listas opcionales de vídeo y audio de referencia para referencia a vídeo. La vista JSON del Playground muestra el cuerpo exacto para la tarea en la que está. Las subidas, la espera, los reintentos, los errores y las claves de idempotencia que ahorran coste están en la referencia del SDK de Python y en la guía de tareas asíncronas.
O deje que un agente lo ejecute
Si un asistente debe ejecutar los clips por usted, dele la CLI, el servidor MCP o la Skill. La CLI y el servidor MCP muestran el precio y le preguntan antes de una llamada de pago.
- CLI. Ponga el mismo objeto
inputeninput.jsony luego ejecute lo siguiente (npx @spicyapi/clifunciona sin instalar; vea la documentación de la CLI):
``bash spicyapi tasks create --model bytedance/seedance-2.0/text-to-video --input-file input.json --wait ``
- Servidor MCP. Añada el servidor MCP a su asistente y luego pida: "Run Seedance 2.0 text to video with this brief, 5 seconds at 480p." Llama a
spicyapi_task_create, que se detiene para su confirmación de precio, y luego aspicyapi_task_wait. - Skill.
npx skills add spicyapi-ai/spicy-skillinstala la Agent Skill, que hace que un asistente de código lea el esquema del modelo en vivo en vez de adivinar campos.
Texto a vídeo: establezca toda la escena
Sin imagen, indique primero el reparto y los objetos clave, luego la composición inicial y después un cambio pequeño. "El mecánico sostiene el pedal" es un estado; "gira el pedal una vez" es una acción, y el modelo necesita la segunda. Si la bicicleta debe ser roja y quedarse en un caballete, póngalo en la descripción de la escena, no al final.
One adult mechanic in a dark blue work shirt stands beside one red commuter bicycle on a repair stand. Medium shot in a tidy daylight workshop. The mechanic turns the right pedal once by hand, watches the rear wheel rotate, then pauses with the hand resting beside the pedal. The camera stays fixed at waist height; the bicycle remains fully visible. Soft morning light from the left. A quiet workshop ambience and one short mechanical click, with no speech. One continuous shot.enable_web_search existe solo en texto a vídeo y sube la tarifa (720p pasa de $0.152 a $0.246 por segundo). Déjelo desactivado salvo que el plano dependa de algo que el modelo tendría que buscar, y verifique usted mismo cualquier dato factual.
Cuando un clip falla, cambie la única parte del brief responsable:
| Lo que ve | Cambie esto |
|---|---|
| Personas de más o una segunda bicicleta | Indique la cantidad ("un mecánico, una bicicleta") y elimine las palabras de grupo |
| La acción nunca termina | Elimine un evento o aumente la duración |
| La cámara se mueve pese a "fija" | Déle a la cámara una frase directa y elimine las demás palabras de cámara |
| Un corte no deseado | Diga "one continuous shot" y elimine los cambios de escena del brief |
| Subtítulos o música que no pidió | Añada "no captions, no music"; reduce el riesgo pero no lo garantiza |
| Aspecto de dibujo animado o ilustración | Empiece por "Photorealistic live action, not animation" |
Imagen a vídeo: deje que el fotograma haga el trabajo visual
Elija el fotograma para el movimiento que quiere. Un primer plano ceñido no da nada con qué trabajar a un prompt de caminar, y una bicicleta recortada por la rueda trasera no puede enseñar esa rueda girando. Revise el fotograma antes de enviarlo: anatomía, número de objetos, texto suelto e iluminación. Cada defecto de la imagen fija persiste a lo largo de todo el clip, y animarlo no lo repara.

Luego escriba solo lo que cambia. Volver a describir la ropa del mecánico y el taller le da al modelo dos descripciones competidoras del mismo sujeto, lo que invita a la deriva. Nombre al sujeto que se mueve, la acción, la cámara y el sonido:
The mechanic turns the visible pedal once by hand. The rear wheel rotates naturally, then slows while the mechanic watches it. The camera remains fixed at the original medium distance. One continuous shot, quiet workshop ambience.image_url debe ser un enlace público y descargable directamente (de 300 a 6000 px por lado, menos de 10 MB; una foto de una persona real identificable puede rechazarse); para un archivo de su ordenador, súbalo primero y pase el URI spicy:// devuelto. El prompt es opcional y, sin él, el modelo elige el movimiento por su cuenta. aspect_ratio: "adaptive" sigue la forma propia de la imagen.
last_image_url fija el fotograma final y solo funciona junto con image_url. Use fotogramas compatibles: mismo sujeto, ángulo similar y geometría de objetos parecida. Dos composiciones sin relación convierten el clip en un problema de transformación para el que el modelo tiene que inventar un camino.
Para pasar de 15 segundos, ponga return_last_frame en true, guarde el fotograma final devuelto y páselo como image_url de la siguiente llamada. No hay campo de continuación, así que cada segmento parte de un fotograma guardado.
Referencia a vídeo: dele un papel a cada archivo
Asigne los papeles en el prompt y relaciónelos con el orden de subida: image 1, image 2, video 1, audio 1. Dé al sujeto un nombre corto, defínalo una vez y reutilícelo. Diga al modelo qué tomar de un clip y qué dejar atrás.
Define the mechanic in image 1 as the Mechanic. Use image 2 for the workshop and the red bicycle. The Mechanic turns the pedal once while the wheel rotates, then pauses. Medium shot, camera fixed at waist height. One continuous shot. Quiet ambience, no speech.
Qué ayuda:
- Un papel por archivo. Si el aspecto deriva, separe la referencia de la cara de la referencia de ropa o cuerpo entero y diga cuál aporta qué. Dos o tres ángulos de un mismo personaje funcionan mejor que una pila de fotogramas casi idénticos, y un collage de varias vistas puede leerse como varias personas.
- Use caras generadas o totalmente liberadas. La comprobación de entrada de Seedance puede rechazar una foto de una persona real identificable, antes de cualquier cargo. Las imágenes deben ser de 300 a 6000 px por lado y menos de 10 MB.
- Mantenga el estilo coherente. Mezclar fotos, dibujos y anime en un mismo conjunto de referencias tiende a aplanar el resultado.
- Referenciar no es editar. "Borrow the slow sideways track from video 1, not its people or location" pide una escena nueva. "Edit video 1" pide cambiar ese material. No mezcle las dos cosas en un mismo prompt.
- Diga qué aporta un archivo de audio: voz, ambiente o carácter musical. Necesita una imagen o un vídeo junto a él, y con
generate_audiodesactivado no se renderiza ninguna banda sonora aunque se aporten audios. - Añada el vídeo al final. Primero haga funcionar la escena con imágenes, luego añada un clip por un motivo con nombre. Un vídeo también cambia el precio (ver más abajo).
- El orden importa. Si una herramienta reordena sus archivos,
image 1pasa a ser otra imagen. Cuando sustituya un archivo, vuelva a leer las asignaciones del prompt.
Suba solo material que tenga derecho a usar, y solo personas que hayan consentido aparecer.
Dirigir el sonido
generate_audio está activado por defecto y cuesta lo mismo que desactivado. Desactívelo cuando vaya a puntuar o doblar el clip más tarde. Trate el sonido como su propia parte del brief:
- Nombre las fuentes. "Ratchet clicks, spinning wheel, quiet workshop" funciona mejor que "ambient sound". Escriba "no music" cuando lo diga en serio, o una escena puede volver con música.
- Diálogo: nombre al hablante, ponga la frase entre comillas, manténgala bastante corta para la duración y quédese en un solo idioma. Escuche las palabras exactas; una frase que suena verosímil aun así puede cambiar un nombre o una oferta.
- Arréglelo en la edición. Si la imagen está bien y el sonido está mal, sustituya el sonido localmente en vez de regenerar la imagen.
Itere con un cambio cada vez
Cambie una cosa por intento: la frase de cámara para un zoom no deseado, el conjunto de referencias para una deriva de identidad. Si no, un clip mejor no le dice qué edición importó. Fije seed y mantenga todo lo demás constante para juzgar un cambio de prompt. Una seed es una herramienta de comparación, no una promesa de repeticiones idénticas fotograma a fotograma.
Haga los borradores a 480p y suba la resolución una vez que la acción se lea correctamente; 720p es el valor por defecto. La resolución y la duración marcan el precio; la relación de aspecto, la tasa de bits y la marca de agua no. La comprobación propia de Seedance rechaza cierta redacción antes de renderizar, y la redacción de besos es el detonante fiable; una tarea rechazada normalmente se libera sin cargo.

Guarde un registro por intento: el prompt, la tarea, los archivos en orden de subida, la duración, la resolución y la seed. Cuando un prompt funciona en una escena, ese registro le dice qué reutilizar en la siguiente.

Lo que cuesta
Texto a vídeo e imagen a vídeo se facturan por segundo de salida, con sonido activado o desactivado al mismo precio:
| Resolución | Por segundo | Clip de 5 segundos |
|---|---|---|
| 480p | $0.07 | $0.35 |
| 720p | $0.152 | $0.76 |
| 1080p | $0.374 | $1.87 |
| 4K | $0.778 | $3.89 |
Tres borradores a 480p más un final a 720p son $1.81. Con -1 (el modelo elige la duración), la estimación asume el máximo de 15 segundos, $2.28 a 720p, y el cargo final sigue la duración entregada. Seedance 2.0 Fast y Mini son más baratos (Mini empieza en $0.025 por segundo a 480p, Fast en $0.045) y paran en 720p; trate un borrador de ellos como una pista sobre su brief, no como una vista previa del resultado del modelo base.
El vídeo de referencia es la única entrada que cambia la factura. Referencia a vídeo cobra una tarifa por segundo más baja cuando la petición incluye un vídeo (720p: $0.0928 en lugar de $0.152), pero lo paga sobre sus segundos de salida más los segundos del clip de referencia. Un clip de 5 segundos a 720p con un clip de referencia de 10 segundos es 15 × $0.0928 = $1.39, frente a $0.76 sin el clip. A 4K la tarifa es la misma con o sin vídeo, así que el clip solo añade segundos. SpicyAPI retiene fondos por el máximo por adelantado y libera la parte no usada cuando la tarea se liquida. Recorte los clips de referencia a los pocos segundos que llevan el movimiento.
Cuando otro modelo es la respuesta
Revise primero la elección de tarea, la calidad del fotograma, los papeles de referencia y las instrucciones de cámara, porque esos problemas le acompañan a cualquier modelo. Pase a otro modelo cuando el requisito supere el contrato de 2.0: Seedance 2.5 va de 4 a 30 segundos y admite hasta 30 imágenes, 10 clips y 10 archivos de audio en referencia a vídeo, con sus propios precios y un techo de 1080p. Lea su guía de prompts antes de portar un prompt de 2.0. BytePlus también publica su propia guía de prompts.
FAQ
¿Puedo pegar prompts que usen @Image1 de otras guías?
Reescríbalos. En SpicyAPI las etiquetas son image 1, video 1 y audio 1, emparejadas con el orden de los arrays de entrada.






