Introducción
HappyHorse 1.1 Imagen a video anima un fotograma inicial enviado en image_url. El prompt es obligatorio y describe el movimiento que sigue; el clip dura de 3 a 15 segundos enteros en 720p o 1080p, con banda sonora generada. No hay campo de relación de aspecto ni de fotograma final: la imagen fija define la forma, y el cierre es a donde lleve el movimiento que pediste.
Elige el modo según el material inicial
| Material inicial | Modo |
|---|---|
| una escena escrita o un guion | HappyHorse 1.1 Texto a video |
| una imagen inicial aprobada | HappyHorse 1.1 Imagen a video |
| de una a nueve imágenes de referencia | HappyHorse 1.1 Referencias a video |
Funciones y aspectos destacados
La imagen fija define sujeto y forma
El fotograma inicial se sigue de cerca, lo que convierte a este endpoint en el camino confiable hacia un resultado literal, incluidos fotogramas de origen sin censura. En el ejemplo tailgate-turn, el vestuario, la camioneta y el contraluz salen del fotograma, y el prompt solo le pide bajar la botella, balancear las botas una vez y girar la cabeza hacia el sol bajo.
Sin fotograma final al cual apuntar
Este endpoint solo recibe image_url, así que un plano no se puede fijar a una composición final. Funcionan mejor los movimientos que se resuelven solos. El ejemplo quiet-hold son cuatro segundos de casi quietud: una exhalación, un hombro que baja y un cambio de peso contra el marco de la ventana, casi sin movimiento de cámara.
Límites de entrada y salida
El fotograma inicial necesita al menos 300 px por lado, una relación entre 1:2.5 y 2.5:1 y un tamaño de hasta 20 MB. La salida dura de 3 a 15 segundos, con 5 como valor predeterminado, en 720p (predeterminado) o 1080p, y la banda sonora siempre se genera con la imagen.
Parámetros de la solicitud
| Parámetro | Obligatorio | Descripción |
|---|---|---|
prompt | Sí | Obligatorio. Describe qué cambia después del cuadro —acción, cámara, ritmo— y no el cuadro en sí. mínimo 1 caracteres · máximo 2500 caracteres |
image_url | Sí | El cuadro inicial. Fija el sujeto y la composición, y define la forma de salida. |
resolution | No | 720p o 1080p. |
duration_seconds | No | Segundos enteros, de 3 a 15. No hay cuadro de cierre, así que mantén un movimiento que se resuelva en ese tiempo. |
seed | No | Entero de 0 a 2147483647 para el arranque aleatorio; si lo omites, cada ejecución saca el suyo. |
Precios
| Especificación | Precio |
|---|---|
| $0.14 / segundo |
| $0.18 / segundo |
Casos de uso
Animar un fotograma sin censura o de dirección de arte
Este camino sigue el fotograma que recibe, así que el trabajo sin censura empieza aquí y no en text-to-video, que rechaza los prompts que superan su límite de contenido. Entrega el fotograma que diseñaste y escribe solo el movimiento; el sujeto aparece tal como se dibujó o fotografió, en lugar de reinterpretarse a partir de una frase.
Movimiento del entorno alrededor de una pose fija
El ejemplo wasteland-hood-two mantiene a dos figuras sobre el cofre de un auto varado y escribe solo lo que existe en movimiento: tela rasgada que el viento levanta y deja caer, una calima que ondula, remolinos de polvo que cruzan la carretera y un lento acercamiento. Se generó en 1080p con la duración predeterminada.
Inserts cortos y planos de corte
Un clip de tres o cuatro segundos con un movimiento de cámara mínimo sirve para inserts entre planos más largos. Limita la acción a una respiración o a un gesto, como hace quiet-hold, para que el movimiento termine dentro de la duración en lugar de cortarse a la mitad.
Guía de prompts y consejos prácticos
Dale al prompt solo movimiento
El prompt es obligatorio, así que úsalo para lo que cambia: acción, cámara y ritmo. El prompt de wasteland-hood-two nunca describe la composición; describe viento, calima y polvo. Volver a describir el fotograma gasta el límite de 2,500 caracteres en lo que la imagen ya fija.
Ajusta el movimiento a la duración
Sin fotograma final, un movimiento que no alcanza a terminar en el tiempo elegido simplemente se detiene donde acaba el clip. Ajusta la acción a la duración: un gesto para un clip corto, una secuencia breve como bajar, balancear, girar para uno más largo, como hace tailgate-turn en seis segundos.
Recorta antes de subir
La imagen fija define la forma de la salida, así que recórtala primero al formato de entrega y revisa los límites de tamaño. Haz borradores en 720p y vuelve a ejecutar en 1080p para la entrega. Cada pasada genera su propia toma, así que mantén fija la redacción mientras comparas.
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/happyhorse-1.1/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.







