Skip to main content
POST
Crea un video de HappyHorse a partir de texto, imágenes de referencia o un fotograma inicial. La API devuelve un ID de tarea de inmediato. Guarda el id devuelto para consultar la tarea y descargar el video completado. POST /v1/videos utiliza multipart/form-data. Envía los controles como campos de formulario y las imágenes de referencia como campos input_reference, con una URL HTTPS o un archivo de imagen cargado por campo.

Elige un modo de entrada

Las imágenes de referencia guían los sujetos y los detalles visuales del video. Envía entre 1 y 9 URL HTTPS de imágenes accesibles públicamente o entre 1 y 9 archivos de imagen; repite input_reference una vez por imagen en el orden de las imágenes. Usa únicamente URL o únicamente archivos dentro de este campo. Envía cada URL por separado en lugar de unirlas con comas. Para input_reference, cada imagen de referencia debe tener un tamaño máximo de 10 MB y contar con happyhorse-1.0. Con happyhorse-1.1, cada imagen de referencia debe tener un tamaño máximo de 20 MB. Estos límites del modelo se aplican tanto a las URL de imágenes como a los archivos cargados. Usa imágenes JPEG, JPG, PNG o WEBP cuyo lado más corto tenga al menos 400 px. El límite de carga de input_reference es de 20 MiB (20 × 1024 × 1024 bytes) por archivo. Las imágenes cargadas también deben cumplir el límite específico del modelo indicado anteriormente. Los ejemplos de solicitudes al inicio de esta página muestran varias URL de imágenes para HappyHorse 1.1 y varias cargas de archivos para ambos modelos. Para establecer el fotograma inicial, envía first_frame una vez con una URL HTTPS de imagen accesible públicamente o un archivo de imagen. Usa este campo en una solicitud independiente de input_reference.

Establecer la duración y el tamaño

Elige un valor exacto de WxH para size de la tabla siguiente. Para las solicitudes de primer fotograma, la imagen determina el encuadre y la relación de aspecto, mientras que size selecciona el nivel de resolución de salida.

Flujo de la tarea

1

Crear la tarea

Envía la solicitud de formulario multipart y guarda el id devuelto.
2

Consultar la tarea

Llama a Recuperar un video de HappyHorse hasta que status sea completed, failed o error.
3

Descargar el resultado

Cuando la tarea esté completed, llama a Recuperar contenido de video de HappyHorse para descargar el archivo MP4.

Autorizaciones

Authorization
string
header
requerido

Bearer authentication. Use your CometAPI API key.

Cuerpo

multipart/form-data
model
enum<string>
requerido

HappyHorse model ID for this endpoint.

Opciones disponibles:
happyhorse-1.0,
happyhorse-1.1
Ejemplo:

"happyhorse-1.1"

prompt
string
requerido

Text prompt that describes the video to generate. For image inputs, describe the motion and visual details to preserve.

Ejemplo:

"Use the uploaded reference image as the visual guide. Create a short cinematic shot with gentle natural motion."

seconds
integer
predeterminado:5

Requested clip duration in whole seconds. Send an integer from 3 through 15 as a form field. The default is 5.

Rango requerido: 3 <= x <= 15
Ejemplo:

3

size
string

Output size as an exact WxH value. Use one of the documented size values for the selected HappyHorse model. For first-frame requests, size selects the resolution tier; the image determines the framing and aspect ratio.

Ejemplo:

"1920x1080"

input_reference

Reference images for reference-to-video. Send 1–9 publicly accessible HTTPS image URLs or 1–9 uploaded image files by repeating input_reference once per image. Use only URLs or only files within this field; do not join URLs with commas. Reference images guide subjects and visual details. CometAPI preserves image order. Use JPEG, JPG, PNG, or WEBP images with a shortest side of at least 400 px. Each reference image must be at or below 10 MB for happyhorse-1.0 or 20 MB for happyhorse-1.1. These model limits apply to both image URLs and uploaded files. The input_reference file upload limit is 20 MiB (20 x 1024 x 1024 bytes) per file. Keep uploads within the model limit as well. Keep this field separate from first_frame.

Pattern: ^https://
first_frame

Opening-frame image as one publicly accessible HTTPS URL or one image file. Send this field once, using either a URL or a file. Use JPEG, JPG, PNG, or WEBP images up to 20 MB. Do not combine first_frame with input_reference.

Pattern: ^https://

Respuesta

Task created. Store the returned id and poll GET /v1/videos/{task_id}.

id
string
requerido

Task ID. Use this value with retrieve and content endpoints.

Ejemplo:

"task_example"

object
string
requerido

Object type. Video tasks return video.

Ejemplo:

"video"

model
string
requerido

Model ID used for the task.

Ejemplo:

"happyhorse-1.1"

status
enum<string>
requerido

Task lifecycle status. Poll until the value is completed, failed, or error.

Opciones disponibles:
queued,
in_progress,
completed,
failed,
error
Ejemplo:

"queued"

progress
integer
requerido

Task progress as a coarse percentage.

Rango requerido: 0 <= x <= 100
Ejemplo:

0

created_at
integer
requerido

Task creation time as a Unix timestamp in seconds.

Ejemplo:

1779938152

task_id
string

Compatibility alias for id when present.

Ejemplo:

"task_example"

completed_at
integer

Task completion time as a Unix timestamp in seconds. This field appears on completed tasks.

Ejemplo:

1779938219

video_url
string

Temporary video delivery URL. This field appears on completed tasks.

Ejemplo:

"<temporary-video-url>"

error
object

Failure details. This field appears when the task fails.

Última modificación el 9 de septiembre de 2026