Introducción
Wan 3.0 Prime Imagen a video anima un fotograma inicial durante 2 a 30 segundos con el render Prime, con los mismos campos que Wan 3.0 Imagen a video. image_url es obligatorio y se convierte exactamente en el primer fotograma; el prompt es opcional y solo tiene que describir el movimiento; last_image_url fija de forma opcional el último fotograma. La resolución es 480p, 720p o 1080p, con 720p por defecto, y el audio se genera con la imagen a menos que pongas generate_audio en false.
Elige el modo según el material inicial
| Material inicial | Modo |
|---|---|
| Un brief escrito define escena, acción, cámara y, cuando corresponde, sonido. | Wan 3.0 Prime Texto a video |
| Una imagen inicial aprobada fija sujeto y composición; la instrucción dirige el movimiento posterior. | Wan 3.0 Prime Imagen a video |
| Referencias separadas pueden guiar identidad, lugar, movimiento o sonido con una función clara para cada una. | Wan 3.0 Prime Referencias a video |
Funciones y aspectos destacados
Escenario y vestuario en la imagen, acción en el prompt
Como el fotograma aporta el look, toda la solicitud puede centrarse en la acción y el sonido. El ejemplo de la sauna parte de una imagen fija que ya contiene el escenario y el vestuario; su prompt cubre un cazo de agua sobre piedras calientes, una ráfaga de vapor, el dorso de una muñeca recorriendo la clavícula y una línea de audio que nombra el siseo, la madera de cedro crujiendo y una respiración lenta.
Un final fijo hace seguros los cambios largos
last_image_url hace que el clip termine exactamente en una imagen enviada. El ejemplo de la pista de baile empieza en una pista vacía y termina en un fotograma enviado de un salón lleno, 10 segundos en 1080p y 3:4 sin audio, así que el modelo inventa cómo se llena el salón, no con qué termina lleno.
La forma del fotograma por defecto
Si omites aspect_ratio, el clip conserva la forma del fotograma inicial; un valor distinto recorta. Se aceptan JPEG, PNG sin transparencia, BMP o WEBP, de 240 a 8000 píxeles por lado, hasta 20 MB y no más anchos que 8:1. El fotograma final sigue los mismos límites.
Parámetros de la solicitud
| Parámetro | Obligatorio | Descripción |
|---|---|---|
prompt | No | Opcional: sin él, el modelo anima el fotograma de apertura por su cuenta. mínimo 1 caracteres |
image_url | Sí | El fotograma de apertura, que se usa tal cual como primer fotograma, y el verdadero techo de calidad del plano. |
last_image_url | No | Opcional, y solo junto con |
aspect_ratio | No | 16:9, 9:16, 1:1, 4:3, 3:4 o adaptive, que deja elegir al modelo. Omítelo para heredar la forma del fotograma de apertura; un valor que no cuadre recorta. |
enable_thinking | No | Hace que el modelo analice el pedido y el material de referencia antes de generar. Valor predeterminado: |
resolution | No | 480p, 720p o 1080p. Por defecto, 720p. |
duration_seconds | No | Cualquier número entero de 2 a 30, o -1 para la duración inteligente, en la que el modelo elige la longitud: se reservan de entrada los 30 segundos máximos y se cobra la duració… |
generate_audio | No | Activo por defecto. El clip vuelve con el sonido ya pegado a la imagen. Valor predeterminado: |
enable_prompt_expansion | No | Desactivado por defecto. Al activarlo, el prompt se reescribe antes de generar: ayuda con briefs flojos y te pelea los que ya están detallados. Valor predeterminado: |
seed | No | De 0 a 2147483647. Mantenla fija para comparar un campo cambiado cada vez; quítala cuando busques variedad. |
Precios
| Especificación | Precio |
|---|---|
| $0.0612 / segundo |
| $0.126 / segundo |
| $0.252 / segundo |
Casos de uso
Acción rápida a partir de una imagen fija
El ejemplo de la playa parte de una jinete y pide que el medio galope se abra en galope, que la arena y el agua poco profunda salten detrás de los cascos y que un travelling rápido la acompañe mientras pasa hacia un sol bajo. A esa velocidad el fotograma inicial deja de ayudar, así que el prompt carga con la física: qué se levanta, en qué dirección y cómo la sigue la cámara.
Un gesto con el cierre fijado
El ejemplo del baile de máscaras fija ambos extremos —un primer y un último fotograma enviados de la misma mujer en la misma escalinata de mármol— y describe la entrada entre ellos: se quita la máscara dorada, recoge el vestido y baja unos peldaños hacia la cámara mientras los invitados enmascarados alzan las copas. Como la imagen final se hizo a partir de la inicial, el vestido, la lámpara y los invitados siguen en su sitio. Dura 5 segundos en 720p, con sonido.
Guía de prompts y consejos prácticos
Aprueba primero el fotograma de llegada como imagen fija
Cuando el final importa, crea el último fotograma antes de renderizar, en el mismo escenario y con el mismo encuadre que el primero. Aprobarlo como imagen fija es mucho más barato que iterar sobre un tramo central largo, y convierte la tarea del prompt en describir una transición en lugar de inventar un destino.
Escribe el sonido como una lista de fuentes
El prompt del sauna termina con una línea "Audio:" que nombra cada fuente. Es más fiable que una palabra de ambiente y ata cada sonido a la acción que lo produce. Pon generate_audio en false, como en el ejemplo de la pista de baile, cuando el clip se vaya a musicalizar en la edición.
Define corto y después alarga
Prueba el movimiento a 5 segundos con seed fijo y después alarga. Los clips largos se desvían más en identidad y geometría, y los cruces rápidos de extremidades a 30 segundos son donde aparecen primero los artefactos. Deja enable_prompt_expansion en su valor predeterminado, false, para que un brief de movimiento preciso no se reescriba antes de generar.
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": "alibaba/wan-3.0-prime/image-to-video",
"input": {
"duration_seconds": 5,
"image_url": "https://example.com/reference.png",
"prompt": "A slow aerial shot drifting over a misty pine forest at sunrise",
"resolution": "720p"
}
}'
# 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.



























