models

Alibaba: HappyHorse 1.1

Markdown · JSON

Alibaba: HappyHorse 1.1

Alibaba HappyHorse 1.1 génère de courtes vidéos avec son à partir d’un brief textuel, d’une image d’ouverture ou de neuf images de référence au maximum. Les profils du fabricant mettent l’accent sur l’amélioration du mouvement, des détails de peau et de la cohérence des personnages entre clips. La sortie est un MP4 de 3 à 15 secondes à 24 images/s, avec des options 480p, 720p ou 1080p.

À propos du modèle

Cette description présente les capacités du modèle. Les entrées, sorties et options disponibles dans Ailoot pour la méthode sélectionnée figurent ci-dessous.

Alibaba HappyHorse 1.1 est une édition de génération vidéo avec des profils nommés séparément pour la vidéo à partir de texte, d’une première image et de références. Le fabricant met l’accent sur l’amélioration des détails visuels, du mouvement, de l’identité des personnages entre clips, de la stabilité du texte et de la synchronisation audiovisuelle. Le résultat est une courte vidéo avec son, utile pour un plan de produit, une animation de portrait ou une petite scène de personnages. Choisissez le mode d’entrée selon ce qui doit définir la scène : un concept écrit, une image d’ouverture exacte ou plusieurs références visuelles.

Pour la vidéo à partir de texte, décrivez le sujet, le lieu, l’action, le cadrage, le mouvement de caméra et l’intention sonore. Pour une courte scène d’action, montrez un cycliste s’arrêtant près d’un café au bord d’une rivière pendant que la caméra avance doucement vers le vélo garé. Adaptez l’action à un court clip et décrivez le moment final. Le guide textuel actuel du fabricant autorise jusqu’à 5’000 caractères non chinois ou 2’500 caractères chinois et tronque le texte excédentaire. Organisez le brief pour que son sujet et son action essentiels soient explicites plutôt que noyés dans des adjectifs répétés.

La vidéo à partir de la première image utilise exactement une image comme ouverture. Préparez le sujet, la composition et le recadrage souhaité dans cette image fixe, puis décrivez ce qui doit bouger ou comment la caméra doit évoluer. Les formats d’image documentés sont JPEG/JPG, PNG et WEBP, jusqu’à 20 Mo, avec les deux dimensions d’au moins 300 pixels et un rapport de format compris entre 1:2.5 et 2.5:1. La sortie se rapproche du palier de résolution sélectionné tout en conservant les proportions de l’image source. Un résultat portrait commence donc par une composition portrait adaptée plutôt que par une instruction de rapport sans lien avec l’image.

La vidéo à partir de références accepte une à neuf images. Le prompt utilise [Image 1], [Image 2] et les positions suivantes pour les identifier dans l’ordre d’entrée. Précisez le rôle de chaque référence et nommez l’objet ou la personne concerné, afin qu’une image de scène ne soit pas prise pour une source de personnage. Le guide de référence accepte JPEG/JPG, PNG ou WEBP jusqu’à 20 Mo, exige que le côté le plus court mesure au moins 400 pixels et recommande des références nettes en 720p ou plus. Évitez une référence fortement compressée dont les détails d’identification ont déjà disparu.

Pour une scène avec plusieurs références, placez la personne d’une image dans la pièce d’une autre tout en conservant un manteau ou un produit fourni par une troisième. Décrivez l’interaction et la caméra dans le même brief. Le profil de référence 1.1 souligne la stabilité des sujets, le style de la scène et le mouvement cinématographique ; examinez le résultat réel pour vérifier l’identité souhaitée, les marquages du produit et le placement spatial. Plusieurs images apportent davantage d’informations au brief, mais la revue doit tout de même vérifier quelles caractéristiques sont passées dans la vidéo.

Le fabricant indique des sorties 480p, 720p et 1080p pour les modes de génération 1.1, avec une durée en secondes entières de trois à quinze et du MP4 à 24 images/s. La réponse de l’API décrit un encodage H.264. La génération textuelle et par références propose notamment les formats 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21 et 21:9 ; la génération à partir de la première image suit l’image d’entrée. Choisissez le format selon la destination et laissez de la place pour les légendes ou éléments de mise en page ultérieurs. Examinez le cadrage réel de la vidéo renvoyée à la taille d’affichage prévue.

La sortie de cette famille de modèles comprend le son. Donnez à l’interprétation ou à l’atmosphère un rôle clair dans le brief, puis vérifiez tout dialogue, effet ou fond musical avec l’image. Gardez la parole assez courte pour laisser place à l’action et aux pauses, au lieu de comprimer un long script dans un court plan. Vérifiez les mouvements des lèvres, l’attribution des voix et les mots réellement prononcés lorsqu’il y a de la parole. L’acceptation d’une langue de prompt ne définit pas en soi une prononciation garantie ni une entrée distincte de référence vocale.

Le processus documenté du fabricant est asynchrone : un identifiant de tâche suit le traitement, et un résultat réussi fournit l’adresse de la vidéo. Le lien de résultat et les requêtes de tâche sont documentés avec une validité de vingt-quatre heures. Conservez le clip terminé, les références et le prompt comme dossier de révision. Les guides documentent aussi les commandes de graine aléatoire et de filigrane. Une graine fixe peut faciliter les comparaisons, mais le fabricant précise expressément qu’elle ne garantit pas des résultats identiques ; jugez donc le livrable renvoyé au lieu de supposer qu’un réglage fixe chaque image.

HappyHorse 1.0 et 1.1 sont des éditions séparées. Le tableau de sortie 1.1 ajoute le 480p aux options 720p et 1080p de la version 1.0, et les pages des modèles 1.1 décrivent des améliorations de détail, de mouvement et de cohérence. Le profil de montage vidéo HappyHorse 1.0, nommé séparément, a ses propres entrées et limites et ne constitue pas un mode de montage à attribuer implicitement à la version 1.1. Vérifiez le clip 1.1 complet pour l’identité, le mouvement, le cadrage, le texte et le son, puis apportez une correction précise en conservant les parties réussies du brief.

Ailoot Ultra · Vidéo POST /v1/videos alibaba/happyhorse-1.1

alibaba/happyhorse-1.1

Alibaba /alibaba/happyhorse-1.1

Premiers pas

Alibaba HappyHorse 1.1 génère de courtes vidéos avec son à partir d’un brief textuel, d’une image d’ouverture ou de neuf images de référence au maximum. Les profils du fabricant mettent l’accent sur l’amélioration du mouvement, des détails de peau et de la cohérence des personnages entre clips. La sortie est un MP4 de 3 à 15 secondes à 24 images/s, avec des options 480p, 720p ou 1080p.

Entrées acceptées
Texte
Résultats
Vidéo

Disponible dans Ailoot · entrées et méthodes

Ailoot Ultra · Vidéo POST /v1/videos
Entrée
text
Sortie
video
Format de sortie
mp4
Nombre de sorties
Jusqu’à 4 sorties
ChampTypeExigenceValeurs et limitesPar défaut
ChampmodelTypestringExigenceObligatoireValeurs et limites
alibaba/happyhorse-1.1
Par défaut—
ChamppromptTypestringExigenceObligatoireValeurs et limites
Longueur minimale: 1
Nombre maximal d’octets: 10'000
Unité: octets UTF8
Par défaut—
ChampdurationTypeintegerExigenceObligatoireValeurs et limites
Minimum: 3
Maximum: 15
Unité: secondes
Par défaut—
ChampresolutionTypestringExigenceObligatoireValeurs et limites
720p
Par défaut—
Champaspect_ratioTypestringExigenceObligatoireValeurs et limites
16:9
Par défaut—
Combinaisons d’éléments d’entrée

Texte vers vidéo · Obligatoire : prompt

Paramètres et cycle de vie de la méthode
ParamètreContrat
Paramètrecontent_typeContratapplication/json
ParamètrerequiredContratmodel, prompt, duration, resolution, aspect_ratio
Paramètreother_optionsContratfalse
ParamètreresolutionContrat720p
Paramètreprompt_max_bytesContrat10000
Paramètreduration_integer_rangeContrat3, 15
Paramètreaspect_ratioContrat16:9
Paramètregenerate_audioContratdoit être omis, sans envoyer false ; AAC inclus
Paramètrematerial_typesContrattext
Paramètreadditional_propertiesContratfalse

Alias de méthode : /v1/videos/generations, /videos, /videos/generations

Cycle de vie : submit_once_poll_original

GET /v1/videos/{request_id}

GET /v1/videos/generations/{request_id}

GET /v1/videos/{request_id}/content

GET /v1/videos/generations/{request_id}/content

Créez une seule fois et enregistrez l’identifiant renvoyé.

Consultez périodiquement l’état d’origine ; conservez chaque ressource terminée et sa durée.

Tarifs

Calcul du coût final

Les tarifs affichés servent à estimer le coût avant la génération. Le montant final est calculé à partir du coût enregistré pour la génération d’origine. La durée mesurée du résultat et les quantités prévisionnelles ne constituent pas la quantité finale facturable.

Les tarifs n’ajoutent pas d’options de requête. Les paramètres pris en charge figurent dans la méthode sélectionnée.

Mode rapide
Non précisé Lorsque le mode rapide est sélectionné
Mode Flex
Non précisé Lorsque le mode flex est sélectionné
Effort de raisonnement maximal
Non précisé Lorsque l’effort de raisonnement maximal utilise l’ajustement par défaut (default)

Tarifs estimés à des fins de comparaison

Prix par configuration

Associez chaque coût aux conditions indiquées. Utilisez un seul tarif pour chaque ensemble de configurations alternatives.

ConfigurationBarème tarifaireQuantité prévisionnelleUnité de facturationConditions de facturationCoût
ConfigurationTarifs de base des jetonsBarème tarifaireTarif de baseQuantité prévisionnelle—Unité de facturation—Conditions de facturation—Coût
Entrée · Tokens en entrée · Estimation à des fins de comparaison uniquement — / 1K tokens
Sortie · Tokens en sortie · Estimation à des fins de comparaison uniquement — / 1K tokens
Entrée · Lecture du cache · Estimation à des fins de comparaison uniquement — / 1K tokens
Entrée · Écriture dans le cache · Estimation à des fins de comparaison uniquement — / 1K tokens
Entrée · Écriture dans le cache, 1 h · Estimation à des fins de comparaison uniquement — / 1K tokens
ConfigurationTarif vidéoBarème tarifaire—Quantité prévisionnelle—Unité de facturationpar seconde de vidéoConditions de facturationresolution: 1080pCoût
Sortie · Tarif vidéo · Estimation à des fins de comparaison uniquement $0.2556 par seconde de vidéo
ConfigurationTarif vidéoBarème tarifaire—Quantité prévisionnelle—Unité de facturationpar seconde de vidéoConditions de facturationresolution: 720pCoût
Sortie · Tarif vidéo · Estimation à des fins de comparaison uniquement $0.1976 par seconde de vidéo
ConfigurationCoût estimé de la générationBarème tarifaire—Quantité prévisionnelleEstimation pour une générationUnité de facturation—Conditions de facturation—Coût
Sortie · Coût estimé de génération · Estimation à des fins de comparaison uniquement $0.5928 estimation avant génération

Cette estimation ne constitue ni des frais supplémentaires ni un tarif fixe pour la génération terminée.

Ailoot réserve un montant estimé avant une requête. Après le résultat, le montant final est débité selon l’utilisation mesurée. Pour le streaming, le montant final à débiter est calculé à partir du relevé final d’utilisation. Fonctionnement de la réservation et du débit →

Détails du tarif de référence

Les barèmes de référence du modèle ne modifient ni la sélection de méthode, ni les devis, ni les coûts. Les frais actifs utilisent les tarifs de la méthode Ailoot sélectionnée.

Références tarifaires des configurations vidéo

Prix par configuration

Associez chaque coût aux conditions indiquées. Utilisez un seul tarif pour chaque ensemble de configurations alternatives.

ConfigurationConditions de facturationCoût
ConfigurationTarif vidéoConditions de facturationresolution: 720pCoût
Sortie · Tarif vidéo $0.1976 par seconde de vidéo

Tarif publié de référence pour la configuration affichée. Les frais définitifs correspondent à la configuration réellement facturée.

ConfigurationTarif vidéoConditions de facturationresolution: 1080pCoût
Sortie · Tarif vidéo $0.2556 par seconde de vidéo

Tarif publié de référence pour la configuration affichée. Les frais définitifs correspondent à la configuration réellement facturée.

Exemples de requêtes

Ailoot Ultra · Vidéo

curl · création conservée à l’identique
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "alibaba/happyhorse-1.1", "prompt": "A cat in a spacesuit walking on the Moon", "duration": 3, "resolution": "720p", "aspect_ratio": "16:9"}')

Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json

Recevoir et enregistrer les résultats

Ailoot Ultra · Vidéo

mp4

  • GET /v1/videos/{request_id}
  • GET /v1/videos/generations/{request_id}
  • GET /v1/videos/{request_id}/content
  • GET /v1/videos/generations/{request_id}/content
Vérifier l’état de la tâche
GET état de l’opération d’origine
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_STATUS_URL'
import json
from pathlib import Path
from urllib.parse import quote
r=json.loads(Path('result.json').read_text())
if not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')
Path('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))
PY_STATUS_URL
curl --fail-with-body --silent --show-error "$(cat status-url.txt)" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -D status-headers.txt -o status.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('status.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
Autres lectures de contenu
Enregistrer chaque sortie terminée dont vous êtes propriétaire
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_ASSETS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path('status.json').read_text())
if r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')
if not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')
urls=[]
for i,u in enumerate(r.get('data',[])):
    if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')
    urls.append((str(i),u))
for label,path in urls:
    u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)
    if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')
    target=Path('owned-'+label+'.bin')
    subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)
print('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')
PY_ASSETS
Conserver tous les résultats terminés

Enregistrez chaque vidéo terminée ou fichier renvoyé ; récupérez chaque URL de ressource effectivement renvoyée.

Une fois la tâche terminée, data[] contient toutes les URL de contenu signées dont vous êtes propriétaire. Récupérez chaque URL renvoyée, ou utilisez le point de terminaison de contenu avec index défini sur un indice réel de sortie. Une tâche d’origine en échec peut renvoyer charge_pending_check ; vérifiez cette tâche d’origine au lieu de la recréer.

Si la réponse d’origine doit être vérifiée

Consultez la tâche d’origine existante ; ne répétez jamais un envoi dont l’issue est inconnue.

Nombre maximal de sorties : 4.

Champs de la réponse
ChampTypeSignification
ChampidTypestringSignification—
ChampobjectTypestringSignification—
ChampmodelTypestringSignification—
ChampstatusTypestringSignification—
Champdata[]Typesigned content URLSignification—
Champcharge_pending_checkTypebooleanSignification—
Champerror.codeTypestringSignification—
Champerror.messageTypestringSignification—
Champoperation_idTypestringSignificationRéponse HTTP503 result_pending_check pour l’état ou le contenu d’origine : le même identifiant vidéo public d’origine est renvoyé dans id.
Champerror.typeTypestringSignificationserver_error dans une réponse HTTP503 result_pending_check.
Erreurs et étapes suivantes
RéponseConditionÉtape suivante
Réponse400 · invalid_request_errorConditionLa lecture du corps brut de la requête échoue avant l’analyse du profil vidéoÉtape suivanteConservez la réponse renvoyée et corrigez le corps illisible de la requête.
Réponse422 · price_unavailableConditionL’analyse du profil vidéo exact échoue, ou le profil complet analysé ne dispose d’aucune fiche tarifaire exacte prête à l’emploiÉtape suivanteConservez la réponse ; utilisez le profil autorisé exact et complet, ainsi que sa fiche publiée. Cette branche est exécutée avant l’envoi au fournisseur.
Réponse409 · video_not_readyConditionLe contenu du résultat d’origine n’est pas encore disponibleÉtape suivanteConsultez périodiquement l’identifiant d’origine renvoyé et respectez Retry-After.
Réponseserver_errorConditionLa réponse renvoyée indique que l’opération ou le résultat nécessite une vérificationÉtape suivanteConservez l’identifiant d’opération/de tâche initialement renvoyé, les en-têtes de la requête et la réponse ; poursuivez les lectures prises en charge de cette opération d’origine. Ne soumettez pas à nouveau la requête de création.
Réponse503 · result_pending_checkConditionGET de l’état ou du contenu d’origine : la tâche n’est pas publiée, la tâche d’origine n’est pas en échec, annulée ou expirée, et l’état local est unknown ou l’état de la tâche d’origine est completed.Étape suivanteConservez les valeurs d’origine id et operation_id, qui désignent le même identifiant vidéo public, ainsi que la réponse et les en-têtes ; consultez uniquement l’état ou le contenu d’origine. N’envoyez jamais de nouvelle demande de génération.

Alias

Alias du modèle

Ailoot Ultra alibaba/happyhorse-1.1

Alias des chemins de méthode

/v1/videos/generations, /videos, /videos/generations

ID d’appel associés

alibaba/happyhorse-1.1

FAQ · Alibaba: HappyHorse 1.1
Quelles entrées et quels résultats sont disponibles ?

POST /v1/videos · alibaba/happyhorse-1.1: text → video

Quels champs la requête utilise-t-elle ?

POST /v1/videos · alibaba/happyhorse-1.1: model, prompt, duration, resolution, aspect_ratio

Quelles limites s’appliquent ?

POST /v1/videos · alibaba/happyhorse-1.1: duration.minimum: 3; duration.maximum: 15

Plus de détails

Connectez Ailoot à Claude Code, OpenCode, Hermes ou à votre application.

L’entreprise et son portefeuille de projets

L’entreprise et son portefeuille de projets : des millions de clients ; des ventes qui se chiffrent en milliards chaque mois.

Achetez des tokens à prix réduit.

Une remise d’abonnement pour le travail régulier. Des codes promo jusqu’à 50% sur l’achat de tokens.

Abonnement
Choisissez une offre à tarif réduit pour vos requêtes régulières.
Code promo jusqu’à 50%
Saisissez le code à l’achat. Le prix est recalculé selon la promotion en cours.
Dépenses dans l’historique
Modèle, tokens et montant sont enregistrés pour chaque requête.

Choisir un abonnement · Voir les prix des modèles

Connectez l’API au produit que vous vendez.

SaaS, applications et bots selon l’offre officielle et le contrat de licence Ailoot. Pour la revente, demandez une licence revendeur.

Application commerciale
Intégrez la génération de texte, d’images, de vidéo et de son aux fonctions payantes de votre service.
Licence revendeur
Envoyez la description du projet et le mode d’accès. Demandez des conditions écrites d’utilisation et de revente.
Documents sur le site
L’offre officielle, le contrat de licence et la politique de traitement des données sont accessibles avant connexion.

Demander une licence revendeur · Offre officielle et contrat de licence