Alibaba
HappyHorse 1.1
happyhorse-1.1/image-to-video
Modèle de génération vidéo d'Alibaba, un seul modèle couvrant la génération de vidéos à partir de texte, d'image et d'images de référence, prenant en charge la 1080p et des clips de 3 à 15 secondes, avec fusion de plusieurs images de référence renforçant la cohérence des personnages, adapté à la narration multi-plans et aux contenus publicitaires e-commerce.
Essayer happyhorse-1.1/image-to-video
Entrée
Créations
Voir toutes les créationsSortie
videoTarifs
happyhorse-1.1/image-to-video per second
| Spécifications | Prix unitaire |
|---|---|
| 720P | $0.160 |
| 1080P | $0.210 |
Présentation
happyhorse-1.1/image-to-video est la voie de génération vidéo pilotée par image initiale de la famille HappyHorse 1.1 d'Alibaba : elle prend en entrée une image de première frame et une invite textuelle facultative, et produit une courte vidéo de 3 à 15 secondes en 720p ou 1080p. Elle convient aux développeurs disposant déjà de visuels exploitables et souhaitant prolonger une image fixe en un mouvement cohérent, pour le storyboard de mini-séries, la présentation de produits e-commerce et les clips courts pour les réseaux sociaux, là où la stabilité du sujet est essentielle ; l'appel se fait via l'interface unifiée de HiAPI.ai, avec une facturation à la durée de sortie.
Points clés
- La première frame verrouille le point de départ — une image JPEG/PNG/WEBP sert de point de départ à la génération, de sorte que la composition et le sujet de la vidéo se déploient à partir du cadre établi, réduisant le caractère aléatoire d'une génération purement textuelle.
- Durée et résolution combinables à la demande — un segment de 3 à 15 secondes, avec deux paliers de 720p et 1080p, pour adapter les spécifications de sortie à la plateforme de diffusion et au budget.
- Invite facultative, contrôle du mouvement conservé — le champ prompt est facultatif, jusqu'à 5000 caractères, pour préciser la direction du mouvement et le style visuel ; sans lui, la génération est directement pilotée par la première frame.
Description des capacités
Génération vidéo à partir d'une image initiale : il suffit de soumettre exactement une image de première frame pour générer une vidéo ; le petit côté de l'image doit être d'au moins 300 px et son poids ne pas dépasser 20 Mo ; idéal pour transformer directement une maquette ou un visuel tourné en un clip animé.
Contrôle de la durée et de la résolution : duration accepte de 3 à 15 secondes, 5 secondes par défaut ; resolution accepte 720p et 1080p, 1080p par défaut ; les développeurs choisissent les spécifications selon l'usage du clip, le coût variant avec la durée et la résolution.
L'invite guide le mouvement et le style : le champ prompt facultatif accepte jusqu'à 5000 caractères pour décrire le mouvement et le style visuel souhaités, et orienter la génération sans modifier la composition de la première frame.
Cas d'usage
- Les équipes e-commerce génèrent un clip de présentation à partir de l'image initiale d'un produit — en prenant l'image principale du produit comme première frame, avec une brève description du mouvement, elles produisent une vidéo dynamique de quelques secondes destinée aux pages de détail et aux campagnes en fil d'actualité.
- Les créateurs de contenu animent une illustration ou un storyboard — une seule image de storyboard ou une illustration est transformée en un clip au mouvement cohérent, intégré au montage comme plan de mini-série ou de vidéo courte pour les réseaux sociaux.
- Les marques ajoutent une version animée à leurs visuels existants — en utilisant un support graphique existant comme première frame, elles génèrent une version animée, enrichissent rapidement leur bibliothèque de contenus marketing et l'adaptent aux formats courts de chaque canal.
Limites et conseils de choix
La durée maximale d'un segment est de 15 secondes ; les contenus plus longs doivent être générés par segments puis assemblés ; la résolution maximale est de 1080p, insuffisante pour une sortie de niveau cinéma haute résolution. Cette voie n'accepte qu'une seule image de première frame et ne permet pas de maintenir la cohérence d'un personnage à partir de plusieurs images de référence ; pour ce type de besoin, préférez la voie reference-to-video de la même famille ; pour construire un plan à partir de zéro sans visuel existant, text-to-video est plus adapté. La facturation se fait à la seconde de sortie : générer plusieurs candidats ou de longs segments accumule les coûts, il est conseillé de valider le résultat avec une durée courte au préalable.
Questions fréquentes
Voir toutes les questions →-
HappyHorse 1.1 Reference to Video nécessite-t-il de téléverser des images ?
Oui. Actuellement, happyhorse-1.1/reference-to-video est une voie de génération de vidéo à partir de références ; vous pouvez utiliser des images de référence pour contraindre le sujet, le style et la scène, tandis que le Prompt gère les actions, les mouvements de caméra et les changements d'environnement.
-
Quelles durées et résolutions HappyHorse 1.1 Reference to Video prend-il en charge ?
Le contrat de requête HiAPI actuel prend en charge 3–15s, avec des résolutions de sortie de 720p et 1080p. Les valeurs disponibles sont celles indiquées dans le panneau des paramètres de la page et dans la documentation de l'API.
-
Comment est facturé HappyHorse 1.1 Reference to Video ?
Les tâches sont facturées en fonction de la durée de sortie et du niveau sélectionné. La page affiche le prix en temps réel selon l'unité monétaire globale, et le débit final se base sur l'enregistrement des tâches réussies.
-
Comment améliorer la stabilité du sujet dans la génération vidéo à partir d'images ?
Utilisez une image d'entrée avec un sujet clair, peu d'occlusions et une composition complète ; dans le prompt, décrivez d'abord l'action principale et le mouvement de caméra, puis énumérez l'apparence, les matériaux et les relations avec l'arrière-plan qui doivent être préservés. Pour le premier test, il est recommandé d'utiliser une durée plus courte.
Créer une tâche de génération
https://api.hiapi.ai/v1/tasks En-têtes
AuthorizationstringRequisClé API du compte. Requise sur chaque requête. Exemple : Bearer YOUR_HIAPI_API_KEY. Obtenir une clé API
Content-TypestringOptionnelLe corps de la requête est toujours analysé en JSON ; s'il est envoyé, seul application/json (charset facultatif) est accepté — toute autre valeur renvoie 415. Exemple : application/json.
Idempotency-KeystringOptionnelClé d'idempotence, jusqu'à 255 octets. Les reprises avec la même clé du même compte ne créent la tâche qu'une seule fois ; les rejeux renvoient le taskId d'origine.
En cas de timeout réseau ou de relance automatique du client, la même clé ne crée la tâche qu'une seule fois, sans double facturation (portée = le compte de la clé API). Utilisez un identifiant métier unique (ex. "order-42") ; les rejeux renvoient le taskId d'origine et les clés expirent 24 h après la première requête. La matrice complète des scénarios est dans la présentation de l'API asynchrone unifiée.
Corps
modelstringRequisValeur fixe actuelle : happyhorse-1.1/image-to-video
routestringOptionnelValeur fixe actuelle : default
inputobjectRequis
Objet de paramètres métier pour happyhorse-1.1/image-to-video et la route default — voir le tableau des paramètres ci-dessous.
promptstringOptionnelmaxLength 5000Invite de texte facultative servant à orienter le mouvement et le style de la vidéo générée ; si elle est vide, la vidéo est déduite de l'image de première frame.
durationintegerOptionnelDéfaut: 5min 3max 15Durée du clip vidéo généré, en secondes, comprise entre 3 et 15 ; le coût augmente avec la durée, 5 secondes par défaut.
image_urlsarrayRequisminItems 1maxItems 1Tableau d'URL d'images de première frame, devant contenir exactement 1 élément ; formats JPEG/PNG/WEBP pris en charge, côté le plus court d'au moins 300 px, fichier unique ne dépassant pas 20 Mo.
Array [ string ]
resolutionstringOptionnelDéfaut: "1080p"Résolution de la vidéo de sortie ; plus la résolution est élevée, plus le coût est important, 1080p par défaut.
720p1080pcallbackobjectOptionnel
Configuration de notification d'état terminal. Sans elle, aucun callback — interrogez la tâche vous-même.
Fournissez callback.url à la création et HiAPI envoie un POST à votre service à l'état terminal — plus besoin de polling. Le corps du rappel reprend la structure du détail de tâche ; vérification de signature, relances et idempotence sont décrits dans la présentation de l'API asynchrone unifiée.
urlstringRequisObligatoire si callback est présent. Un POST est envoyé vers cette URL à l'état terminal ; doit être une URL http(s) valide.
whenstringOptionnelDéfaut: "final"Seul final est pris en charge pour l'instant — notifié sur success et fail.
finalstoragestringOptionnelDéfaut: "temp"Niveau de stockage des artefacts : temp (par défaut, ~7 jours) ou persistent (long terme, facturé au volume). Solde insuffisant ou dépassement de limite ⇒ rétrogradation silencieuse en temp ; le niveau effectif figure dans la réponse de détail.
temppersistentExemples de requête
# Soumet une tâche asynchrone ; renvoie immédiatement un taskId (n'attend pas la génération)
curl -X POST "https://api.hiapi.ai/v1/tasks" \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "happyhorse-1.1/image-to-video",
"input": {
"duration": 5,
"image_urls": "…",
"resolution": "1080p"
}
}' const res = await fetch("https://api.hiapi.ai/v1/tasks", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.HIAPI_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "happyhorse-1.1/image-to-video",
input: {
"duration": 5,
"image_urls": "…",
"resolution": "1080p"
}
}),
});
const task = await res.json();
// { code: 200, message: "success", data: { taskId } } import os, requests
res = requests.post(
"https://api.hiapi.ai/v1/tasks",
headers={"Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}"},
json={
"model": "happyhorse-1.1/image-to-video",
"input": {
"duration": 5,
"image_urls": "…",
"resolution": "1080p"
}
},
)
print(res.json()) # { code, message, data: { taskId } } 200 OK
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR"
}
} 400 Bad Request
{
"code": 400,
"message": "invalid request",
"data": null,
"error_code": "INVALID_REQUEST"
} Obtenir le détail de la tâche
https://api.hiapi.ai/v1/tasks/:id Champs de réponse
taskIdstringRequisIdentifiant de tâche, toujours préfixé tk-hiapi-.
modelstringRequisNom complet résolu du modèle. Les tâches envoyées avec le paramètre route renvoient base@route (ex. gpt-image-2/text-to-image@ext) ; sinon identique au nom fourni.
routestringOptionnelPrésent uniquement si le paramètre route explicite a été utilisé ; renvoie la valeur soumise.
statusstringRequisStatut de la tâche.
queued En file, pas encore démarrée.
handling En cours de traitement.
archiving Traitement terminé, préparation des artefacts.
success Terminal : terminé, artefacts disponibles (output renvoyé).
fail Terminal : échec (error renvoyé).
Après soumission, suivez status : success et fail sont terminaux, le reste non terminal. Interrogez toutes les 1–3 s jusqu'à l'état terminal. En cas de succès, téléchargez les artefacts via output[].url et transférez-les avant expireAt ; pour une conservation longue durée, indiquez storage: "persistent" à la création.
creatednumberRequisDate de création de la tâche (secondes Unix).
completednumberRequisSecondes Unix de l'état terminal ; 0 tant que non terminal.
outputarrayOptionnel
Présent uniquement si status == success. Liste d'artefacts — toujours un tableau ; une tâche peut renvoyer plusieurs types à la fois (ex. video + first_frame).
Array [ object ]
Éléments du tableau
urlstringRequisURL de l'artefact, téléchargeable directement.
typestringRequisValeurs possibles actuelles : video, image, audio, first_frame, last_frame, thumbnail ; d'autres pourront s'ajouter.
expireAtnumberRequisSecondes Unix de disponibilité de l'artefact ; téléchargez ou transférez avant l'expiration.
errorobjectOptionnel
Présent uniquement si status == fail.
codestringRequisCode d'erreur métier.
messagestringRequisDescription de l'erreur.
Exemples de réponse
Succès
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR",
"model": "happyhorse-1-0",
"status": "success",
"created": 1777282033,
"completed": 1777282099,
"output": [
{
"url": "https://cdn.hiapi.ai/tasks/.../video.mp4",
"type": "video",
"expireAt": 1777886899
}
]
}
} En cours (non terminal)
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "archiving",
"created": 1777282033,
"completed": 0
}
} Échec
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "fail",
"created": 1777282033,
"completed": 1777282099,
"error": {
"code": "TASK_FAILED",
"message": "task failed"
}
}
} Articles
Voir tous les articles →-
Tutoriel
recraft-v4.1-flash génération d'images texte-à-image en pratique : 5 scénarios métier à forte valeur et points d'intégration clés
À partir d'un coût de 0,01 $ par image, planifier le déploiement de la génération d'images dans de vrais contextes métier
-
Tutoriel
Tutoriel pour kandinsky-6.0-pro/image-to-video sur HiAPI : curl + Python
Lancer une requête image-vers-vidéo exploitable sur HiAPI : de l'envoi de la première image à l'interrogation asynchrone jusqu'au téléchargement final
-
Tutoriel
Comment appeler kling-4.0/image-to-video sur HiAPI : curl, Python et interrogation périodique
-
Comparatif et évaluation
Comparatif horizontal de Recraft v4.1 Flash en génération d'images à partir de texte : guide de sélection et de migration pour les développeurs
Avec un coût de 0,01 $ par image et ses capacités de génération pure à partir de texte, déterminez s'il convient à votre pipeline de génération d'images
-
Tutoriel
Comment appeler hailuo-2.3-fast/image-to-video via l'API HiAPI : curl et Python en pratique
La première requête exploitable du palier image-vers-vidéo rapide et économique — de l'ID du modèle au téléchargement du MP4
-
Tutoriel
Comment utiliser kling-4.0/text-to-video via l'API HiAPI : curl, Python et un exemple de requête fonctionnel
Guide pratique pour les développeurs : prompts cinématographiques, audio synchronisé, interrogation asynchrone et téléchargement des sorties
-
Tutoriel
Utiliser Kandinsky 6.0 Pro texte-vers-vidéo sur HiAPI : tutoriel curl et Python
Démonstration pratique axée sur la requête : construire l'appel du prompt au clip vidéo, soumettre la requête, interroger l'état d'achèvement et télécharger le résultat
-
Comparatif et évaluation
Comparatif transversal de hailuo-2.3-fast/image-to-video : comment choisir un modèle image-to-video et les points clés de migration
-
Tutoriel
Comment appeler hailuo-2.3/text-to-video via l'API HiAPI : curl, Python et exemples de requêtes exécutables
Modèles associés
Voir tous les modèles →Même type
-
HeyGen Avatar V HeyGen $0.150 /seconde -
Gemini Omni 1.1 Flash Google $0.450 /vidéo -
Runway Gen 4.5 Runway $0.172 /seconde -
Kandinsky 6.0 Pro $1.93 /vidéo -
Seedance 2.5 ByteDance $0.121 /seconde -
MiniMax H3 MiniMax $0.072 /seconde -
Veo 3.1 Google $0.290 /seconde -
Kling 3.0 Turbo Kuaishou $0.130 /seconde -
Vidu Q3 Vidu $0.149 /seconde -
Hailuo 2.3 MiniMax $0.270 /vidéo -
Kling AI Avatar Kuaishou -- -
LTX 2.5 Fast Lightricks $0.086 /seconde
Même fournisseur
-
Qwen Image 2.1 Alibaba $0.020 /image -
Wan 3.0 Video Alibaba $0.040 /seconde -
HappyHorse 1.0 Alibaba $0.168 /seconde -
Z-Image Alibaba $0.008 /image -
Wan 2.7 Image Alibaba $0.035 /image -
Wan 2.7 Video Alibaba $0.100 /seconde -
Qwen Image 2.0 Alibaba $0.042 /image -
Qwen Image 3.0 Alibaba $0.036 /image -
Qwen Audio 3.0 TTS Alibaba $0.030 /1 000 caractères -
Wan 2.6 Flash Alibaba $0.043 /seconde



