Introducción
Wan 2.7 Spicy Imagen a video es uno de los dos endpoints de la familia de modelos sin censura Wan 2.7 Spicy. Un fotograma inicial en image_url y un prompt obligatorio se convierten en 2 a 15 segundos de video en 720p o 1080p, con audio. La imagen fija aporta la persona, el vestuario, el cuerpo, el set, la dirección de la luz y la forma del clip; el prompt aporta el movimiento, la cámara y el sonido.
No hay ninguna marca de contenido en el cuerpo de la solicitud, ninguna declaración por solicitud ni paso de revisión: el clip continúa lo que muestra el fotograma autorizado. Esta familia no tiene tareas de texto a video ni de referencia, así que cada clip nuevo parte de una imagen fija; para continuar un clip que ya tienes, usa Extensión de video.
Funciones y aspectos destacados
El fotograma que envías es el que se mueve
image_url acepta JPEG, PNG sin transparencia, BMP o WEBP, de 240 a 8000 píxeles por lado, con una proporción entre 1:8 y 8:1 y de no más de 20 MB. No hay campo de relación de aspecto, así que el recorte que envías es el que recibes de vuelta. Lo que muestre la imagen base pasa al clip tal cual.
Cualquier duración entera de 2 a 15 segundos
duration_seconds acepta cualquier entero de 2 a 15, con 5 como predeterminado, y resolution es 720p (predeterminada) o 1080p. Ambos afectan el precio y el tiempo de procesamiento. Pasados los diez segundos se nota la deriva en manos y tela, así que las tomas largas funcionan mejor desde una imagen que ya tiene la pose que quieres.
Sonido generado o tu propia pista
generate_audio está activado por defecto y devuelve ambiente y efectos alineados con la imagen. Para guiar la sincronía labial y el ritmo con una frase grabada o una entrada musical, envía audio_url (WAV o MP3 de 2 a 30 segundos y hasta 15 MB) y deja generate_audio activado: con false, tampoco se usa una pista enviada.
La expansión del prompt viene activada
En este endpoint enable_prompt_expansion es true por defecto, sin costo adicional, y reescribe el prompt antes de generar. Eso ayuda con un brief de una línea. Cuando tu descripción del movimiento ya sea precisa, cámbialo a false para que tu redacción llegue tal cual al modelo.
Parámetros de la solicitud
| Parámetro | Obligatorio | Descripción |
|---|---|---|
image_url | Sí | El cuadro de apertura, y la palanca más grande de aquí. Vestuario, cuerpo, set, dirección de la luz y la proporción del clip se heredan todos de él. |
prompt | Sí | Obligatorio. Úsalo solo para movimiento y cámara: una acción, un comportamiento de cámara y una nota sobre el sonido. mínimo 1 caracteres |
negative_prompt | No | Lo que no debe aparecer: una segunda persona, un objeto, texto en una pared o una marca de agua que la plancha insiste en reproducir. El único lugar para excluir algo. máximo 500 caracteres |
duration_seconds | No | Cualquier número entero de 2 a 15, con 5 por defecto. La desviación en manos y telas se vuelve visible pasados los diez segundos. |
resolution | No | 720p o 1080p, con 720p por defecto. Afecta tanto al precio como al tiempo que tarda la tarea en volver. |
audio_url | No | Una pista de audio que el clip debe seguir, y que guía la sincronía labial y el ritmo. Úsala cuando una línea hablada o una entrada musical tenga que caer en un cuadro concreto. |
seed | No | De 0 a 2147483647. Mantenla mientras comparas 720p contra 1080p o cinco segundos contra diez. |
generate_audio | No | Activo por defecto; el clip vuelve con sonido alineado a la imagen. En false, tampoco se usa una pista aportada por |
enable_prompt_expansion | No | Encendida por defecto y sin costo adicional. El prompt se reescribe antes de generar: útil para un brief de una línea. Valor predeterminado: |
Precios
| Especificación | Precio |
|---|---|
| $0.1235 / segundo |
| $0.19 / segundo |
Casos de uso
Escenas sin censura desde una imagen autorizada
Escenas que otras API de video rechazan: envía la imagen fija, describe el movimiento y obtén el clip. Nada en la solicitud declara el contenido. 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.
Un mismo personaje en muchos clips
Reutiliza una sola imagen del personaje como fotograma inicial de cada clip y cambia solo la línea de acción. La imagen, no el prompt, lleva su cara y su vestuario, así que sigue siendo la misma persona toma tras toma. Fija también seed cuando compares tomas.
Tela, viento y movimiento secundario
El ejemplo de la duna lanza varios metros de seda índigo por encima de la cabeza, de noche, mientras la arena se escurre por la cresta, la llama de un farol titila y una sombra larga cruza las ondas de arena. Una tela grande y suave es un sujeto exigente, así que revisa durante los cinco segundos que la seda no se rasgue ni se congele.
Clips que hablan con tu propio audio
Sube una frase grabada con audio_url y el clip se genera sobre ella: el movimiento de los labios y el ritmo siguen la toma que ya tienes. El resultado es un personaje que dice tu guion en lugar de solo mover la boca.
Guía de prompts y consejos prácticos
Construye primero el fotograma inicial
Recorta la imagen al formato de entrega y comprueba que ya muestre la persona, el vestuario, la habitación y la dirección de luz que quieres. Después usa negative_prompt (hasta 500 caracteres) para lo que la imagen sigue sugiriendo: una segunda persona, un objeto, texto en una pared, una marca de agua. Es el único lugar para excluir algo, porque el prompt es para el movimiento.
Adapta el ejemplo incluido
El ejemplo del camerino usa duration_seconds 5 y resolution 720p a partir de una vedette frente a un espejo de bombillas. La imagen ya trae el vestuario, las plumas y la luz, así que el prompt solo dice lo que ella hace y cómo suena la sala.
She finishes adjusting the sequin strap, checks herself in the bulb-lit mirror, then turns her head to camera and raises one eyebrow before stepping out of frame toward the stage. Bulbs flicker, feathers stir in the draft, smoke drifts, muffled orchestra and applause building behind the wall.
La solicitud exacta detrás del clip de este endpoint, generada a partir del fotograma inicial que se muestra al lado.
Cambia un campo por ejecución
Define la toma a cinco segundos y 720p, y luego mantén seed mientras pruebas 1080p o una duración mayor; si cambias dos cosas a la vez, el par no te dice nada. Pasados los diez segundos, revisa con cuidado la deriva en manos y tela, y reproduce el clip con sonido antes de entregarlo.
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.7-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.




























