Tiene una imagen fija aprobada, quiere unos segundos de vídeo que empiecen con ella y necesita saber a qué API enviarla. SpicyAPI tiene cuatro familias de imagen a vídeo sin censura, aptas para contenido para adultos: Wan 2.7 Spicy, Seedance 2.5 Spicy, MiniMax H3 Spicy y Vidu Q3 Spicy. Las cuatro animan una imagen inicial. Ninguna ofrece texto a vídeo ni una entrada independiente para un conjunto de imágenes de referencia del sujeto o la escena.
En resumen. Empiece con Wan o Seedance si conservar la ropa y el entorno es la prioridad. Nuestras pruebas de septiembre y octubre de 2026 también muestran diferencias claras de coste y controles creativos:
- La opción más barata para probar una imagen y una idea de movimiento: MiniMax H3 Spicy. Cinco segundos a 480p cuestan $0.19 y, como Seedance y Vidu, solo necesita la imagen, sin prompt.
- Sonido en el archivo o su propia pista de audio: Wan 2.7 Spicy. Cinco segundos a 720p cuestan $0.6175. Es el único que acepta un archivo de audio y un prompt negativo.
- Un clip de más de 16 segundos o un archivo 4K: Seedance 2.5 Spicy, hasta 30 segundos. Cinco segundos a 480p cuestan $1.08; su 4K es un render de 1080p ampliado.
- Bucles de un segundo o un control de cuánto se mueve: Vidu Q3 Spicy. Cinco segundos a 540p cuestan $0.3325.
Nuestra comparación de retrato entre las cuatro familias costó $2.22. Wan y Seedance respetaron mejor el encargo; H3 y Vidu cambiaron el vestuario sin que se les pidiera.
Las cuatro, cara a cara
Los precios son por segundo de salida en dólares estadounidenses; los importes de 5 segundos son cotizaciones para una solicitud con solo image_url, duration_seconds y resolution definidos, más un prompt de una línea para Wan 2.7 Spicy, que lo exige.
| Wan 2.7 Spicy | Seedance 2.5 Spicy | MiniMax H3 Spicy | Vidu Q3 Spicy | |
|---|---|---|---|---|
| ID del modelo | alibaba/wan-2.7-spicy/image-to-video | bytedance/seedance-2.5-spicy/image-to-video | minimax/h3-spicy/image-to-video | vidu/q3-spicy/image-to-video |
| Campos obligatorios | image_url, prompt | image_url | image_url | image_url |
| Duración del clip | 2 a 15 s | 4 a 30 s | 3 a 15 s | 1 a 16 s |
| Resoluciones | 720p, 1080p | 480p, 720p, 1080p, 4K | 480p, 540p, 768p, 1080p | 540p, 720p, 1080p |
| Resolución predeterminada | 720p | 720p | 480p | 720p |
Fotograma final (last_image_url) | No | Sí | Sí | No |
| Sonido en el archivo | Generado o su propia pista (audio_url) | Generado (generate_audio) | El clip puede incluir audio generado; sin interruptor ni entrada para audio propio | Generado (generate_audio), más un interruptor independiente de música (bgm) |
| Prompt negativo | Sí | No | No | No |
| Seed | Sí | Sí | Sí | No |
| Otro control | enable_prompt_expansion (activado por defecto) | ninguno | ninguno | movement_amplitude: auto, small, medium, large |
| Espera habitual (mediana de trabajos reales recientes) | 2.0 min | 5.0 min | 89 s | 2.1 min |
| Precio por segundo | $0.1235 (720p), $0.19 (1080p) | $0.216 (480p), $0.432 (720p), $1.08 (1080p), $2.16 (4K) | $0.038 (480p), $0.057 (540p), $0.084 (768p), $0.152 (1080p) | $0.0665 (540p), $0.1425 (720p), $0.152 (1080p) |
| 5 s, nivel más barato | $0.6175 (720p) | $1.08 (480p) | $0.19 (480p) | $0.3325 (540p) |
| 5 s a unos 720p | $0.6175 | $2.16 | $0.42 (768p) | $0.7125 |
Ninguna tiene un campo aspect_ratio. Recorte la imagen al formato deseado antes de enviarla. Las esperas son medianas de trabajos recientes. También difieren las comprobaciones de entrada que fallan antes de que se cobre: Seedance exige entre 300 y 6 000 píxeles por lado; Wan, entre 240 y 8 000, una proporción entre 1:8 y 8:1 y, para audio_url, un WAV o MP3 de 2 a 30 segundos; Vidu exige una proporción entre 1:4 y 4:1. El flujo de subida limita las imágenes a 10 MiB.
Qué modelo elegir para cada trabajo

Muchas imágenes y borradores baratos: MiniMax H3 Spicy. A $0.114 por tres segundos puede generar una docena de variantes de una imagen y volver a renderizar la elegida. Acepta un fotograma final. No tiene interruptor de audio ni prompt negativo; su lienzo nativo es 768p, así que 1080p amplía la misma imagen. Limite el prompt al movimiento: describir una escena ausente de la imagen puede hacer que el vídeo se aleje de ella.
Sonido que pertenece al clip: Wan 2.7 Spicy o Seedance 2.5 Spicy. Wan genera audio por defecto y construye el clip sobre su propia pista si pasa audio_url, la vía para sincronización labial o una entrada musical que deba coincidir con un fotograma. Mantenga generate_audio activado o se ignorará la pista. Seedance genera audio sin coste adicional. H3 Spicy puede devolver audio generado, pero no tiene control para desactivarlo ni entrada para su pista; silencie el audio en la edición cuando haga falta. Vidu tiene sonido generado y un interruptor independiente para música de fondo. Wan también es la opción para excluir algo: su prompt negativo admite hasta 500 caracteres.
Guiar el final con una imagen: Seedance 2.5 Spicy o MiniMax H3 Spicy. Solo estos dos aceptan una imagen final objetivo junto a la inicial; compruebe el final entregado antes de usarlo como siguiente plano. Con Wan o Vidu, encadene clips usando el último fotograma como siguiente imagen; la guía de vídeos más largos explica ese método.
Una toma de más de 16 segundos: Seedance 2.5 Spicy. Llega a 30 segundos y es el más caro y lento: 30 segundos a 720p cuestan $12.96 y un clip suele tardar unos cinco minutos. Las propias notas de Wan indican que manos y tejidos se desvían pasados diez segundos; una toma larga no es automáticamente buena.
Bucles muy cortos o control de cuánto se mueve: Vidu Q3 Spicy. Empieza en un segundo ($0.0665 a 540p). movement_amplitude pide movimiento pequeño, medio o grande; el valor predeterminado auto interpreta la imagen. No tiene seed, por lo que dos solicitudes idénticas producen tomas distintas, ni fotograma final.
Las palabras en Seedance 2.5 Spicy. Su propia capa rechaza un grupo reducido de formulaciones, especialmente los besos, mientras que un susurro al oído o frentes que se tocan se aceptan. Coloque ese momento en la imagen, no en la frase.
Un seed fijo (Wan, Seedance, H3 Spicy) ayuda a comparar cambios propios dentro de una familia; no promete fotogramas idénticos, y el mismo número en dos familias no representa la misma condición. Cada endpoint rechaza los campos que no enumera; construya cada solicitud según la columna de esa familia.
Alcance del contenido
Las cuatro cubrieron nuestra escala de cinco niveles, de L1 Sugerente a L4 Intenso y ambas categorías L5 Extremo, con excepciones poco frecuentes: Seedance 2.5 Spicy dejó una vez fuera de cuadro el contenido solicitado, H3 Spicy insinuó una escena una vez y Vidu Q3 Spicy suavizó un clip una vez. El alcance del contenido no las diferencia. Resultados por modelo: Wan 2.7 Spicy, Seedance 2.5 Spicy, MiniMax H3 Spicy, Vidu Q3 Spicy.
A veces muestran más de lo pedido en el prompt; la clasificación de ocho modelos lo observó en varias versiones Spicy. Revise cada clip antes de entregarlo. Un clip suavizado se cobra como cualquier otro. «Sin censura» significa aquí que no se añade un filtro de contenido, no que dejen de importar los derechos y el consentimiento de la imagen de origen: use adultos, sujetos que hayan consentido e imágenes con derechos autorizados.
El mismo retrato en cuatro familias
Usamos un retrato en una cafetería y pedimos un acercamiento lento de cámara, un ligero giro de cabeza y una pequeña sonrisa, sin cambiar el fondo. Cada familia produjo una toma de cinco segundos a su resolución más baja; Wan tenía activada la expansión del prompt.
| Familia | Qué ocurrió en esta toma de retrato | Elección para este encargo |
|---|---|---|
| Wan 2.7 Spicy | Conservó el jersey y la cafetería y terminó con una pequeña sonrisa en primer plano | Un punto de partida útil para un retrato contenido, especialmente con audio propio |
| Seedance 2.5 Spicy | Conservó ropa, cafetería y movimiento contenido | Conviene considerarlo cuando el estilo original importa más que el precio mínimo |
| MiniMax H3 Spicy | Cambió el vestuario sin que se lo pidieran; la salida también tenía una pista de audio | Los borradores baratos pueden ser inadecuados si la continuidad de vestuario es esencial |
| Vidu Q3 Spicy | Añadió un movimiento mayor hacia delante y cambió el encuadre y el vestuario | Su precio bajo no compensó el incumplimiento del encargo |
Para un retrato vestido como este, empiece con Wan o Seedance. Especifique los requisitos de vestuario y movimiento al preparar un plano similar.
Una primera prueba por unos $2.20
Elija una imagen que esté autorizado a usar. Prepare el fotograma que realmente entregará: recortado al formato final y con el sujeto alejado de los bordes. Una imagen poco nítida devuelve un clip poco nítido. Elimine también el movimiento implícito: desenfoque de movimiento, polvo, una pose a mitad de zancada o trazos direccionales empujan el vídeo hacia movimientos que el prompt puede contradecir.
Escriba un prompt con una acción del sujeto, una instrucción de cámara y un final, por ejemplo: "She turns her head toward the window, the curtain lifts once, slow push-in, then hold." Describa solo lo que cambia. Wan exige un prompt, así que use el mismo para las cuatro con estos controles:
| Control | Ajuste para una primera ronda justa |
|---|---|
| Duración | 5 segundos en las cuatro |
| Resolución | Nivel mínimo: Wan 720p, Seedance 480p, H3 Spicy 480p, Vidu 540p; defínalo usted, porque Seedance usa 720p por defecto ($2.16 por cinco segundos) |
| Audio | Desactivado para evaluar primero la imagen: generate_audio false en Wan, Seedance y Vidu, y bgm false en Vidu. H3 Spicy no tiene interruptor: ignore su pista al valorar la imagen. Pruebe el sonido por separado |
| Expansión del prompt | enable_prompt_expansion desactivado en Wan |
| Seed | Fijo cuando esté disponible |
| Fotograma final | No se usa; pruébelo por separado en Seedance y H3 Spicy |
Las cuatro ejecuciones al nivel mínimo cuestan $0.19 + $0.3325 + $0.6175 + $1.08 = $2.22. A unos 720p cada una (H3 Spicy a 768p), el total es $3.91.
Puntúe cada clip
Compruebe el primer fotograma, el central y el último al tamaño de publicación. Puntúe cada uno de 0 a 5:
| Criterio | Qué significa 0 | Qué significa 3 | Qué significa 5 |
|---|---|---|---|
| Fidelidad inicial | Se pierde el sujeto o la disposición | El sujeto principal se conserva, pero el recorte necesita trabajo | La composición se mantiene tras el recorte final |
| Claridad del movimiento | No se entiende lo que debía ocurrir | La acción se entiende, pero el ritmo es irregular | Una acción se entiende claramente al tamaño final |
| Estabilidad temporal | Manos, bordes, tejidos o texto se deforman | Pequeña inestabilidad al revisar de cerca | Los detalles repetidos se mantienen coherentes para su uso |
| Cumplimiento del encargo | La cámara o el final difieren sustancialmente | Se cumplen la mayoría de los requisitos verificables | Acción, cámara y final coinciden con el prompt |
Compruebe también que el clip mantuvo su imagen y no mostró más de lo pedido. Decida en cada ejecución: conservar, rechazar o repetir con un único cambio identificado.
Qué cambiar si un clip falla
| Lo que observa | Cambie una de estas cosas |
|---|---|
| El clip corta a otra habitación o escena | Reescriba el prompt para describir solo movimiento dentro de la imagen. También merece un intento una duración mayor |
| Una instrucción de «no hacer» congeló la acción | Indique el encuadre deseado ("held tight on the face the whole time"). En Seedance 2.5 Spicy, un prompt lleno de prohibiciones puede cortar a otra escena y luego apenas moverse |
| El sujeto se desvía o manos y tejidos se deforman | Reduzca el prompt a una acción, acorte el clip y vuelva a renderizar la imagen al nivel mínimo antes de pagar por uno superior |
| El movimiento contradice la imagen | Busque movimiento implícito en la imagen y elimínelo, o cambie lo que pide el prompt |
| El clip muestra más de lo escrito | Restrinja el prompt y revise antes de publicar |
| El formato no es correcto | Recorte la imagen y repita |
| Una familia gana en imagen, pero incumple un requisito obligatorio | Fije el requisito (final, sonido, duración, precio) y elija entre las familias que lo cumplen |
Cuando un clip sea bueno, suba la misma imagen y el mismo prompt un nivel cada vez. En H3 Spicy, 1080p solo amplía 768p.
Pruebe el Playground y después conecte la API
- Abra H3 Spicy de imagen a vídeo, permanezca en la pestaña Playground y añada la imagen aprobada en Input image.
- Escriba un encargo de movimiento en Prompt, establezca Duration en 5 y Resolution en 480p y pulse Run model. Para comparar, use el mismo encargo y duración en las otras tres páginas de modelos.
- Elija el resultado que conserve los requisitos del plano y conecte ese modelo a su aplicación.
Defina SPICY_API_KEY en su entorno y SPICY_IMAGE_URI como la URL HTTPS pública de la imagen inicial, o como una URI spicy:// obtenida con spicyapi files upload <path> para un archivo local (documentación de medios). Este ejemplo de Python 3 envía un nuevo plano después de que confirme su precio.
import json
import os
import urllib.request
import uuid
base = "https://api.spicyapi.ai/api/v1"
headers = {"Authorization": "Bearer " + os.environ["SPICY_API_KEY"],
"Content-Type": "application/json", "User-Agent": "SpicyAPI-Blog/1.0"}
settings = {
"image_url": os.environ["SPICY_IMAGE_URI"],
"prompt": "A slow camera push toward the subject. Keep the setting and clothing unchanged. One continuous shot.",
"duration_seconds": 5,
"resolution": "480p",
}
payload = {"model": "minimax/h3-spicy/image-to-video", "input": settings}
def post(path, body):
request = urllib.request.Request(base + path, json.dumps(body).encode(), headers)
with urllib.request.urlopen(request, timeout=60) as response:
result = json.load(response)
if result.get("code") != 200:
raise RuntimeError(result)
return result["data"]
quote = post("/jobs/quote", payload)
if input(f"Maximum charge ${quote['maxCharge']}. Type yes to generate: ") != "yes":
raise SystemExit("Stopped before generation")
headers["Idempotency-Key"] = str(uuid.uuid4())
print("Request key:", headers["Idempotency-Key"], flush=True)
task = post("/jobs/createTask", {**payload, "quoteId": quote["quoteId"],
"expectedCost": quote["estimatedCost"]})
print("Task ID:", task["taskId"])Conserve la clave de solicitud impresa para recuperar esa misma solicitud; cada nuevo plano recibe una clave nueva. El enlace del resultado dura unos 20 minutos y los archivos generados se conservan como máximo unos 14 días: copie el vídeo a su propio almacenamiento (guía de retención). La documentación de la API de tareas explica la entrega y recuperación de resultados.
Para planos repetidos, permita que un Agent use un archivo de entrada aprobado: CLI spicyapi tasks create --model minimax/h3-spicy/image-to-video --input-file input.json --wait; MCP pídale que llame a spicyapi_task_create con ese modelo y esa entrada; Skill pida “Use the spicyapi Skill to generate this approved shot and return the result.” CLI y MCP muestran el precio antes de crear. Consulte la documentación de integración de Agent.
Con cuál empezar
Pista de audio propia: Wan. Fotograma final: H3 Spicy, o Seedance si el plano debe superar 15 segundos. Más de 16 segundos: Seedance. Bucles de un segundo o control de movimiento: Vidu. Para conservar el vestuario con movimiento contenido, empiece con Wan o Seedance; si ambos cumplen el encargo, compárelos a la resolución de entrega. Sin un requisito fijo, haga la prueba de $2.22 con una imagen y, si dos familias cumplen, empiece con la más barata a la resolución objetivo.
Preguntas frecuentes
¿Cuál es el mejor generador de IA de imagen a vídeo sin censura?
Para movimiento contenido en retratos, empiece con Wan o Seedance. H3 Spicy es más barato, pero cambió la ropa en nuestra toma; Vidu encaja con bucles muy cortos cuando su interpretación del movimiento cumple el encargo.
¿Necesito un modelo de vídeo para una imagen fija con voz en off?
No. Si la imagen no cambia mientras suena el audio, monte ambos en un editor de vídeo o FFmpeg. Estas cuatro API generan movimiento; pagar ese paso no aporta valor a un vídeo estático con voz en off.
¿Puedo enviar una URL pública de imagen?
Sí, si el enlace HTTPS devuelve directamente el archivo de imagen. Una página compartida de almacenamiento en la nube o de una red social falla con invalid_asset; para archivos locales, suba primero con spicyapi files upload <path>.
¿Puedo enviar el mismo cuerpo de solicitud a todas las familias?
No. Wan exige un prompt y las otras no; audio_url solo existe en Wan, movement_amplitude solo en Vidu y last_image_url solo en Seedance y H3 Spicy.
¿Pago por un clip que llega suavizado?
Sí, se cobra como cualquier otro: compruebe la salida, no solo el estado de la tarea. Una tarea rechazada o fallida confirmada por el servicio libera la retención sin cargo por generación. Compruebe settled y cost para confirmar la liquidación final; un clip completado pero suavizado es distinto.









