Introducción
Wan 3.0 Imagen a video anima una imagen fija que tú proporcionas. image_url se usa exactamente como primer fotograma, así que el vestuario, el cuerpo, el escenario y la dirección de la luz salen de la imagen y el prompt solo tiene que describir el movimiento. El prompt es opcional; sin él, el modelo anima el fotograma por su cuenta. Un last_image_url opcional fija exactamente el último fotograma. Los clips duran de 2 a 30 segundos en 480p, 720p o 1080p, con sonido generado activado por defecto. Es el más literal de los modos: cuando el resultado tiene que coincidir con tu texto, pon el aspecto en la imagen y dedica el prompt al movimiento.
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 Texto a video |
| Una imagen inicial aprobada fija sujeto y composición; la instrucción dirige el movimiento posterior. | Wan 3.0 Imagen a video |
| Referencias separadas pueden guiar identidad, lugar, movimiento o sonido con una función clara para cada una. | Wan 3.0 Referencias a video |
Funciones y aspectos destacados
El fotograma inicial marca el techo de calidad
Como el primer fotograma es tu imagen, su nitidez, su iluminación y su composición son el límite superior del clip. Se aceptan JPEG, PNG sin transparencia, BMP o WEBP, de 240 a 8000 píxeles por lado, con una proporción no más ancha que 8:1 y 20 MB como máximo. Si omites aspect_ratio, el clip hereda la forma de la imagen; una proporción distinta la recorta.
Un fotograma final fijado, no sugerido
last_image_url no es una pauta vaga: el clip termina exactamente en esa imagen, y solo funciona junto con image_url. El ejemplo de la botella envía el mismo packshot en ambos extremos, de modo que la botella gira un cuarto de vuelta, un brillo recorre el vidrio y vuelve a su ángulo inicial con la etiqueta legible.
Tramos largos entre dos momentos fijos
Con los dos extremos definidos, solo se genera el paso de uno a otro. El ejemplo de la azotea fija una posición de baile abierta como primer fotograma y el punto más bajo de una inclinación como último, y el modelo rellena los cinco segundos intermedios en 720p; las mismas dos imágenes pueden enmarcar un movimiento mucho más largo, porque en este endpoint duration_seconds llega hasta 30.
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. Déjalo fuera y el clip hereda 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.045 / segundo |
| $0.09 / segundo |
| $0.18 / segundo |
Casos de uso
Giros de producto que vuelven al ángulo principal
Para un packshot, envía la imagen aprobada como primer y último fotograma, fija la cámara y describe un solo movimiento. El ejemplo de la botella usa una luz principal suave desde la izquierda, sin música (generate_audio en false) y una semilla fija, 20260907, lo que facilita repetir el mismo movimiento tras un pequeño cambio de texto y comparar los dos archivos.
Planos con estilismo que siguen el texto
Cuando una prenda, un cuerpo o un escenario deben aparecer tal como se aprobaron, ponlos en el fotograma inicial. El ejemplo de la ventana parte de una imagen fija de una mujer con un camisón de seda; el prompt describe solo su giro hacia la lente, una cortina translúcida que cruza la luz y un acercamiento lento mientras la luz del amanecer crece. El clip dura 5 segundos en 1080p, con sonido.
Guía de prompts y consejos prácticos
Describe lo que cambia, no lo que se ve
Todo lo que ya está en el cuadro se hereda; volver a describirlo gasta palabras que necesita el movimiento. Di quién o qué se mueve, en qué dirección y a qué velocidad, y luego qué hace la cámara: "The bottle rotates a quarter turn so the highlight travels across the glass, then returns to its starting angle. Locked camera, single soft key from the left, no music."
Prepara los dos fotogramas como pareja
Cuando agregues last_image_url, crea ambas imágenes con el mismo encuadre y en el mismo escenario, y deja que el prompt explique cómo una se convierte en la otra. El ejemplo de la azotea combina un fotograma inicial de una pareja en posición de baile abierta con un fotograma final de la misma pareja, en la misma azotea y desde la misma posición de cámara, en el punto más bajo de una inclinación, y el prompt describe solo el movimiento entre ambos: él la atrae de la mano y la inclina hacia atrás mientras la cámara permanece fija.
Revisa el centro del clip, no solo los extremos
Que el fotograma final coincida no demuestra una transición creíble. Revisa identidad y geometría al inicio, en el medio y al final; si se desvían, reduce la cantidad de movimientos simultáneos antes de alargar la duración. Define el movimiento a 5 segundos, alarga después y deja enable_prompt_expansion en su valor predeterminado, false, para que un brief de movimiento detallado se ejecute tal como está escrito.
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/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.



























