Introducción
Wan 2.2 imagen a video parte de una imagen que tú proporcionas y anima lo que ocurre después. Hay dos entradas obligatorias: un cuadro inicial en JPEG, PNG o WebP de hasta 10 MB y un prompt de hasta 5,000 caracteres que describe el movimiento. Cada solicitud devuelve un único clip sin sonido de cinco segundos, en 480p (el valor por defecto) o en 720p.
Elige un modo de Wan 2.2 según el material de partida
| Lo que tienes al empezar | Modo | Lo que necesita la solicitud |
|---|---|---|
| una escena escrita o un guion | Wan 2.2 texto a video | un prompt; 16:9 o 9:16 |
| una imagen fija que quieres conservar | Wan 2.2 imagen a video | una imagen y un prompt; la imagen define el formato |
Funciones y aspectos destacados
La imagen define la apariencia
El sujeto, el vestuario, la escenografía y la dirección de la luz salen de la imagen inicial, así que el prompt no necesita describirlos otra vez. Por eso este modo es el adecuado para material que debe coincidir con una referencia: en el ejemplo del frasco de sérum, la imagen fija la etiqueta y la silueta, y el prompt solo pide un arco de cámara y una luz en movimiento.
El formato lo marca la imagen
Este endpoint no tiene ajuste de relación de aspecto. Las proporciones más seguras son 16:9 y 9:16, porque una imagen con otras proporciones puede volver redimensionada y recortada al centro. Recorta la imagen al formato de entrega antes de subirla.
Duración fija, solo imagen
Cada toma son cinco segundos de video sin sonido, y no se puede cambiar ni la duración ni el audio. Con eso fijo, el movimiento es la única variable; por eso cada ejemplo publicado pide un solo movimiento o una sola relación de causa y efecto.
La expansión del prompt cambia más que la redacción
La expansión del prompt está desactivada por defecto. Al activarla puede cambiar el aspecto del render, no solo el texto de la indicación, así que compárala con una ejecución sin expansión antes de quedarte con ella. El ejemplo del carillón y la figura la deja desactivada para que su frase se ejecute exactamente como está escrita.
Parámetros de la solicitud
| Parámetro | Obligatorio | Descripción |
|---|---|---|
image_url | Sí | La imagen inicial: JPEG, PNG o WebP, hasta 10 MB. De ella salen el sujeto, el vestuario, el escenario y la dirección de la luz, así que recórtala primero. mínimo 1 caracteres |
prompt | Sí | Obligatorio, hasta 5000 caracteres. Lo que pasa después de la imagen: una acción y un comportamiento de cámara. mínimo 1 caracteres · máximo 5000 caracteres |
negative_prompt | No | Lo que no debe aparecer: una segunda persona, subtítulos, un objeto que el modelo vuelve a traer una y otra vez. Escribe una lista simple en lugar de frases negadas. máximo 500 caracteres |
resolution | No | 480p o 720p, 480p por defecto. Es el único ajuste que cambia el precio. |
enable_prompt_expansion | No | Desactivado por defecto. Actívalo para una idea de una línea; déjalo desactivado cuando el prompt ya describa una acción precisa. Valor predeterminado: |
seed | No | De 0 a 2147483647. Fíjalo al comparar 480p y 720p a partir de la misma imagen; para un valor aleatorio, omite el campo en lugar de enviar 0. |
Precios
Cada solicitud devuelve un clip de cinco segundos.
| Especificación | Precio |
|---|---|
| $0.24 / solicitud |
| $0.48 / solicitud |
Casos de uso
Dar movimiento a una foto de producto
Envía un packshot aprobado y pide un movimiento de cámara o un cambio de luz mientras el producto se queda en su lugar. El ejemplo del frasco de sérum muestra el patrón: la cámara describe despacio un cuarto de giro alrededor de un frasco gotero, una franja suave de luz de ventana se desliza por el vidrio, y el prompt indica que el frasco en sí no se mueve.
Un solo momento de actuación a partir de un retrato
El ejemplo del vestido lencero parte de un retrato de estudio y pide una sola acción: ella desplaza su peso, gira los hombros hacia el lente, da dos pasos lentos y sostiene la mirada. La cámara está fija, el fondo gris del estudio queda intacto y la toma se renderiza en 720p.
Un movimiento con causa visible
En el ejemplo del carillón y la figura, un carillón de viento gira y una forma detrás de una cortina de gasa se mueve con él, mientras la sombra de la cortina recorre la escena. Escribir causa y efecto en un clip corto y sin sonido le da una razón al movimiento y evita que parezca un bucle.
Guía de prompts y consejos prácticos
Prepara la imagen antes que el prompt
Recorta la imagen a 16:9 o 9:16 y comprueba que ya muestre el vestuario, la escenografía y la luz que quieres, porque el prompt no es el lugar para cambiarlos. Quita superposiciones o sujetos sobrantes que no quieras animar y mantén el archivo por debajo de 10 MB.
Describe solo lo que pasa después del cuadro inicial
Indica quién o qué se mueve, en qué dirección y a qué ritmo, y después el comportamiento de la cámara. Volver a describir objetos que ya se ven gasta caracteres sin añadir movimiento. En cambio, sí vale la pena una frase que diga qué debe quedarse quieto, como el frasco que no se mueve.
Borrador en 480p, entrega en 720p
La resolución es el único ajuste que cambia el precio. Fija un seed entre 0 y 2147483647 cuando compares un borrador en 480p con su nuevo render en 720p a partir de la misma imagen. Para una generación aleatoria, omite el seed en lugar de enviar 0.
Revisa el clip completo antes de ampliar la acción
Observa el inicio, el movimiento más amplio y el último segundo. Si un rostro, una etiqueta o un contorno se deforma, reduce el número de movimientos simultáneos antes de reescribir el prompt. Cuando el siguiente plano necesite otra composición, empieza con una imagen nueva en lugar de pedirle al movimiento que llegue ahí.
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-2.2/image-to-video",
"input": {
"image_url": "https://example.com/reference.png",
"prompt": "A slow aerial shot drifting over a misty pine forest at sunrise",
"resolution": "480p"
}
}'
# 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.




























