Skip to main content
POST
Créez une vidéo HappyHorse à partir de texte, d’images de référence ou d’une image d’ouverture. L’API renvoie immédiatement un ID de tâche. Stockez le id renvoyé pour interroger la tâche et télécharger la vidéo terminée. POST /v1/videos utilise multipart/form-data. Envoyez les contrôles sous forme de champs de formulaire et les images de référence sous forme de champs input_reference, avec une URL HTTPS ou un fichier image importé par champ.

Choisir un mode d’entrée

Les images de référence guident les sujets et les détails visuels de la vidéo. Envoyez 1 à 9 URL HTTPS d’images accessibles publiquement ou 1 à 9 fichiers image, en répétant input_reference une fois par image dans l’ordre des images. Utilisez uniquement des URL ou uniquement des fichiers dans ce champ. Envoyez chaque URL séparément plutôt que de joindre les URL avec des virgules. Pour input_reference, chaque image de référence doit peser au maximum 10 Mo avec happyhorse-1.0. Avec happyhorse-1.1, chaque image de référence doit peser au maximum 20 Mo. Ces limites de modèle s’appliquent aux URL d’images comme aux fichiers importés. Utilisez des images JPEG, JPG, PNG ou WEBP dont le côté le plus court mesure au moins 400 px. La limite d’importation input_reference est de 20 Mio (20 × 1024 × 1024 octets) par fichier. Les images importées doivent également respecter la limite spécifique au modèle ci-dessus. Les exemples de requêtes en haut de cette page montrent plusieurs URL d’images pour HappyHorse 1.1 et plusieurs importations de fichiers pour les deux modèles. Pour définir l’image d’ouverture, envoyez first_frame une fois avec une URL HTTPS d’image accessible publiquement ou un fichier image. Utilisez ce champ dans une requête distincte de input_reference.

Définir la durée et la taille

Choisissez une valeur WxH exacte pour size dans le tableau ci-dessous. Pour les requêtes avec première image, l’image détermine le cadrage et le rapport hauteur/largeur, tandis que size sélectionne le niveau de résolution de sortie.

Flux de tâche

1

Créer la tâche

Envoyez la requête de formulaire multipartite et stockez le id renvoyé.
2

Interroger la tâche

Appelez Récupérer une vidéo HappyHorse jusqu’à ce que status soit completed, failed ou error.
3

Télécharger le résultat

Lorsque la tâche est completed, appelez Récupérer le contenu de la vidéo HappyHorse pour télécharger le fichier MP4.

Autorisations

Authorization
string
header
requis

Bearer authentication. Use your CometAPI API key.

Corps

multipart/form-data
model
enum<string>
requis

HappyHorse model ID for this endpoint.

Options disponibles:
happyhorse-1.0,
happyhorse-1.1
Exemple:

"happyhorse-1.1"

prompt
string
requis

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

Exemple:

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

seconds
integer
défaut:5

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

Plage requise: 3 <= x <= 15
Exemple:

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.

Exemple:

"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://

Réponse

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

id
string
requis

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

Exemple:

"task_example"

object
string
requis

Object type. Video tasks return video.

Exemple:

"video"

model
string
requis

Model ID used for the task.

Exemple:

"happyhorse-1.1"

status
enum<string>
requis

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

Options disponibles:
queued,
in_progress,
completed,
failed,
error
Exemple:

"queued"

progress
integer
requis

Task progress as a coarse percentage.

Plage requise: 0 <= x <= 100
Exemple:

0

created_at
integer
requis

Task creation time as a Unix timestamp in seconds.

Exemple:

1779938152

task_id
string

Compatibility alias for id when present.

Exemple:

"task_example"

completed_at
integer

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

Exemple:

1779938219

video_url
string

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

Exemple:

"<temporary-video-url>"

error
object

Failure details. This field appears when the task fails.

Dernière modification le 9 septembre 2026