Introducción
Wan 3.0 Spicy Imagen a video es el endpoint de imagen a video de la familia Wan 3.0 Spicy, ajustado para renderizar lo que la versión estándar suaviza. Un fotograma inicial en image_url y un prompt opcional se convierten en 2 a 30 segundos de video en 480p, 720p o 1080p, con audio generado. La imagen fija aporta la persona, el vestuario, el escenario y la luz; el prompt aporta el movimiento, la cámara y el sonido. Añade last_image_url para fijar el final.
La solicitud no lleva ninguna marca de contenido ni declaración por solicitud. En nuestra prueba de seis niveles del 2026-09-30 todos los niveles salieron tal como se pidió.
Funciones y aspectos destacados
Seis niveles probados, seis renderizados
Ejecutamos nuestra prueba de contenido estándar a 480p y cinco segundos: seis prompts repartidos en cinco niveles de intensidad, de Suave a Máximo (los prompts de prueba no se publican). No se rechazó, tapó ni cambió por otra persona nada, y ninguno de los prompts necesitó suavizarse.
Va más allá del prompt por su cuenta
Esta es la parte para la que hay que planificar. En nuestras grabaciones de ejemplo enviamos seis fotogramas iniciales con prompts que decían que el vestuario se mantiene igual; cuatro volvieron con el vestuario cambiado, incluido cada fotograma con más de una persona. Trata el prompt como una solicitud, no como una garantía, y revisa el clip completo.
Hasta 30 segundos en una solicitud
duration_seconds acepta cualquier número entero de 2 a 30, 5 por defecto. Una solicitud de cinco segundos devuelve unos 5,04 segundos a 30 fotogramas por segundo. resolution es 480p, 720p (por defecto) o 1080p, y tanto la duración como la resolución afectan al precio y al tiempo de entrega.
Forma, sonido y último cuadro
aspect_ratio acepta 16:9, 9:16, 1:1, 4:3 o 3:4; si no lo indicas, el clip sigue la imagen. generate_audio viene activado por defecto. last_image_url fija el cuadro final: en nuestra prueba el clip terminó en la imagen enviada, recortada a la proporción pedida.
Parámetros de la solicitud
| Parámetro | Obligatorio | Descripción |
|---|---|---|
prompt | No | Opcional, pero conviene escribirlo: una acción, un movimiento de cámara, una nota sobre el sonido. Pedir que el vestuario no cambie no lo mantiene de forma fiable en este modelo. mínimo 1 caracteres |
image_url | Sí | Obligatorio. El cuadro de apertura: de él salen la persona, el vestuario, la sala y la luz. |
last_image_url | No | Último cuadro opcional. El clip termina en esta imagen, recortada a la proporción pedida. |
aspect_ratio | No | 16:9, 9:16, 1:1, 4:3 o 3:4. Si no lo indicas, el clip sigue la forma del cuadro de apertura; una proporción distinta recorta el cuadro. |
resolution | No | 480p, 720p o 1080p, 720p por defecto. A mayor resolución, mayor costo por segundo y más tiempo de espera. |
duration_seconds | No | Cualquier número entero de 2 a 30, 5 por defecto. Se factura por segundo solicitado. |
generate_audio | No | Activado por defecto, sin costo adicional: el clip llega con sonido alineado con la imagen. Ponlo en false para un clip mudo. Valor predeterminado: |
enable_prompt_expansion | No | Desactivado por defecto, sin costo adicional. Si se activa, un prompt corto se reescribe en uno más largo antes de generar; déjalo apagado cuando tu redacción ya sea precisa. Valor predeterminado: |
seed | No | De 0 a 2147483647. Mantenla fija al comparar resoluciones o duraciones: hace las ejecuciones comparables, no idénticas fotograma a fotograma. |
Precios
| Especificación | Precio |
|---|---|
| $0.057 / segundo |
| $0.114 / segundo |
| $0.228 / segundo |
Casos de uso
Escenas que otras API rechazan
Escenas que otras API rechazan o suavizan: envía la imagen fija, describe el movimiento y obtén el clip. Solo pueden usarse adultos que hayan dado su consentimiento y material con licencia adecuada, y eres responsable de los derechos, la edad y la ley local de todas las personas representadas.
Personajes de compañía y roleplay
Conserva la imagen fija de un personaje y reutilízala como cuadro de apertura de todos los clips, cambiando solo la acción. La imagen lleva el rostro y el vestuario, así que el personaje sigue siendo la misma persona de un clip a otro.
Tomas largas con un final planeado
Pide hasta 30 segundos y añade last_image_url para que la toma termine en la pose desde la que empieza tu siguiente plano.
Guía de prompts y consejos prácticos
Deja que el cuadro se encargue del estilo
Pon vestuario, sala y luz en la imagen, y reserva el prompt para lo que se mueve. El ejemplo de la ventana de esta página se ejecutó con duration_seconds 5 y resolution 720p:
She turns from the rainy window toward the camera; the loose strap slides a little further down her shoulder and she lets it rest there, a slow half smile. Pink and cyan neon ripples over the wet glass and her collarbone. She stays in the velvet dress the whole time. Slow push-in. Rain on the glass, distant traffic hum.
La solicitud exacta detrás del clip de este endpoint, generada a partir del cuadro de apertura que aparece a su lado.
Borrador en 480p y luego render
Un clip de cinco segundos en 480p tardó cerca de minuto y medio en nuestras pruebas. Cierra la idea ahí, mantén seed y vuelve a renderizar en 720p o 1080p. Cambia un campo por ejecución para que cada comparación te diga algo.
Cuando la ropa tiene que quedarse puesta
Ninguna redacción del prompt impide de forma fiable que este modelo cambie el vestuario de un sujeto. Para un clip en el que el vestuario tiene que mantenerse, usa el Wan 3.0 de imagen a video estándar y reserva Spicy para escenas en las que esa tendencia sea precisamente el objetivo.
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-spicy/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.



























