Aller au contenu principal

HappyHorse 1.1 : choisir entre texte, image de départ ou images de référence

Quelle tâche HappyHorse 1.1 choisir : une scène écrite, une image de départ validée ou jusqu'à neuf images de référence ? Même prix, contrôle différent.

Auteur
Lydia
Publié
Lecture
8 min de lecture
Mis à jour
Une artiste céramiste adulte fictive, en chemise indigo et tablier crème, à côté d'une sculpture d'oiseau bleu posée sur un piédestal en pierre

Utilisez image-to-video quand vous avez une image de départ validée, reference-to-video quand des images distinctes fournissent le personnage, la tenue, l'objet ou le lieu, et text-to-video quand vous n'avez que des mots. Les trois coûtent 0,14 $ par seconde en 720p ou 0,18 $ en 1080p : un clip de cinq secondes revient donc à 0,70 $ ou 0,90 $, et le choix porte sur le contrôle, pas sur le prix. Image-to-video et reference-to-video sont des endpoints uncensored ; text-to-video est filtré.

Quelle tâche envoyer

Ce que vous avezID du modèle et entrées obligatoiresÀ choisir quandLimite à prévoir
Une scène écritealibaba/happyhorse-1.1/text-to-video ; promptVous cherchez encore le cadrage, la lumière et le rythme, ou il vous faut vite un format précisVisage, tenue et cadrage sont laissés au modèle, donc les relances dérivent
Une image validéealibaba/happyhorse-1.1/image-to-video ; prompt, image_urlLe clip doit correspondre à une image qui existe déjàPas de champ de format (l'image fixe la forme) et pas d'image de fin : l'action doit se conclure d'elle-même
De une à neuf images aux rôles différentsalibaba/happyhorse-1.1/reference-to-video ; prompt, reference_image_urlsVous combinez personnage, tenue, accessoire et lieu, ou réutilisez une même distribution d'un plan à l'autreUn rôle par image ; des images uniquement, pas de référence vidéo ni audio

Les trois acceptent un prompt de 1 à 2 500 caractères, duration_seconds de 3 à 15 (5 par défaut) et resolution à 720p (par défaut) ou 1080p. Sur cette plage, un clip coûte de 0,42 $ à 2,10 $ en 720p et de 0,54 $ à 2,70 $ en 1080p : faites vos brouillons en 720p, puis relancez en 1080p la prise qui vous plaît ; la nouvelle exécution produit une nouvelle prise, même avec les mêmes mots.

  • Format d'image : les tâches texte et référence acceptent un ratio ; image-to-video suit votre image, recadrez-la donc d'abord.
  • Seed : tâches image et référence uniquement. Gardez-le fixe et ne changez qu'un élément à la fois.
  • Son : toujours généré, sans champ pour le couper ; coupez-le ou remplacez-le dans votre logiciel de montage.
  • Non acceptés : last_image_url et negative_prompt.

La taille des images, celle des références et les limites d'upload figurent sur chaque page de modèle.

Le contenu pour adultes dépend de la tâche

D'après nos tests de septembre 2026, image-to-video a livré toutes les catégories adultes essayées, des scènes suggestives aux plus intenses : une image de personnage adulte est donc le point de départ le plus sûr. Reference-to-video est lui aussi uncensored. Text-to-video a accepté les prompts légers mais refusé net les plus intenses au lieu de les atténuer. Si une scène doit arriver au modèle sans altération, construisez-la à partir d'une image. Les résultats par catégorie figurent dans les tests NSFW de HappyHorse 1.1 (cet article n'existe pour l'instant qu'en anglais) ; la page du modèle HappyHorse 1.1 montre les tâches actuelles.

Essayer d'abord dans le Playground

Exemple : animer le portrait d'une céramiste fictive de 35 ans, en chemise indigo et tablier crème, qui tient un oiseau en céramique bleue juste au-dessus d'un piédestal, les deux mains et le piédestal dans le cadre.

  1. Ouvrez la page image-to-video, restez sur l'onglet Playground en vue Form et connectez-vous pour lancer.
  2. Sous Input image, déposez votre propre portrait autorisé (JPG, PNG, WEBP ou GIF, jusqu'à 10 Mo) ou collez son Asset URL.
  3. Collez le prompt ci-dessous, ou ouvrez-le déjà rempli :

Lancer ce prompt avec HappyHorse 1.1 →. Il décrit seulement ce qui change après l'image ; l'image fixe déjà l'artiste, l'oiseau et la pièce. Le prompt reste en anglais, tel qu'il est envoyé au modèle.

  1. Réglez Resolution sur 720p et Duration sur 5, puis lancez. En 720p, cela coûte 0,70 $, et trois essais 2,10 $ ; pour dix secondes en 1080p, chaque essai coûte 1,80 $.
  2. Gardez la prise qui vous plaît et relancez-la en 1080p.

Pour des références, ouvrez la page reference-to-video, ajoutez les images sous Reference images dans un ordre fixe et numérotez-les dans le prompt [Image 1], [Image 2] et [Image 3], en nommant ce que chacune apporte. Donnez un seul rôle à chaque image : plusieurs photos d'un même sujet sont moyennées au lieu d'être réconciliées, et neuf emplacements sont un plafond, pas un objectif. Pour les mots seuls, utilisez la page text-to-video, où Aspect ratio est disponible, et décrivez l'artiste, l'oiseau et la galerie dans le prompt.

Puis l'exécuter depuis le code

Installez le SDK Python (pip install spicyapi), définissez SPICY_API_KEY dans l'environnement de votre serveur, puis lancez :

python
import uuid

from spicyapi import SpicyClient, output_assets

client = SpicyClient()  # reads SPICY_API_KEY from the environment

frame = client.upload_file("./opening-frame.png")  # becomes a spicy:// URI

task = client.create_task(
    model="alibaba/happyhorse-1.1/image-to-video",
    input_data={
        "image_url": frame["uri"],
        "prompt": "One continuous medium shot. The adult artist gently lowers the blue ceramic bird "
                  "onto the pedestal, releases it, draws both hands back and pauses. "
                  "Keep the camera still. Quiet gallery ambience and one soft ceramic contact sound. "
                  "No cuts or added people.",
        "duration_seconds": 5,
        "resolution": "720p",
        "seed": 240103,
    },
    idempotency_key=str(uuid.uuid4()),  # new key per new request; reuse only to retry the same one
)

print("Resume task:", task["taskId"], flush=True)
final = client.wait_for_terminal(task["taskId"])
if final["state"] != "succeeded":
    raise RuntimeError(f"Task {task['taskId']} ended as {final['state']}")
assets = output_assets(final)
if not assets or any(a.get("pending") or a.get("unavailable") or not a.get("url") for a in assets):
    raise RuntimeError(f"Task {task['taskId']} has no ready output; check this task before a new run")
print(assets[0]["url"])

Pour reference-to-video, changez de modèle et utilisez reference_image_urls ; text-to-video n'accepte que le prompt, aspect_ratio, duration_seconds et resolution. L'attente, les erreurs et les relances sont décrites dans le guide des tâches et la référence du SDK Python.

Ou laisser un agent l'exécuter

Quand un assistant doit lancer les clips, la CLI, le serveur MCP et l'Agent Skill lisent tous le schéma en vigueur ; la CLI et le MCP affichent le prix et demandent confirmation avant un appel payant. Avec le même objet input dans input.json :

bash
npx @spicyapi/cli tasks create --model alibaba/happyhorse-1.1/image-to-video --input-file input.json --wait

Avec MCP, demandez : « Anime ./opening-frame.png avec HappyHorse 1.1 image-to-video » ; l'assistant appelle spicyapi_upload_file puis spicyapi_task_create. npx skills add spicyapi-ai/spicy-skill installe le Skill.

Corriger l'échec précis

SymptômeAction suivante
aspect_ratio inconnu sur image-to-videoRetirer le champ et recadrer l'image de départ au format voulu avant l'upload
seed inconnu sur text-to-videoRetirer seed ; cette tâche ne l'expose pas
invalid_asset sur une imageL'URL a renvoyé une page web ; téléverser le fichier et utiliser son URI spicy://
Mauvaise pose finale malgré une bonne première imageSimplifier l'action ; aucune entrée d'image de fin ne fixe la conclusion
L'objet fusionne avec une mainRaccourcir le mouvement et garder la caméra fixe
Une scène de nuit devient du plein jourGarder un seul moment de la journée, nommer la lampe ou la lune visible, retirer lever de soleil et passage du temps ; examiner le clip entier
La pose de l'objet se termine après la fin du clipRetirer l'entrée en marche du prompt, ou passer la durée de 5 à 7 secondes (0,98 $ en 720p)
Les visages ou objets de référence se mélangentDonner un seul sujet à chaque image et nommer ce sujet à côté de sa balise [Image N]
Bonne image, bande-son indésirableCouper ou remplacer la piste dans votre logiciel de montage ; il n'existe aucun paramètre pour couper le son
content_rejectedLe filtre de la tâche a refusé la requête ; changer durée ou résolution n'y fait rien. Text-to-video est la tâche filtrée : une image de départ en image-to-video est l'alternative

Réglez le cadrage avec des brouillons 720p peu coûteux, puis verrouillez l'image validée ou le jeu de références et relancez pour la livraison. Prévoyez un événement lisible par clip de 5 secondes : une résolution plus haute agrandit une interaction ratée, elle ne la répare pas.

Aussi en English · 日本語 · 한국어 · Deutsch · Español · Português (Brasil) · Русский · Italiano · Polski