Alibaba: HappyHorse 1.1
Alibaba HappyHorse 1.1 generiert kurze Videos mit Ton aus einem Textbriefing, einem Anfangsbild oder bis zu neun Referenzbildern. Seine Herstellerprofile betonen verbesserte Bewegung, Hautdetails und Figurenkonsistenz über Clips hinweg. Die Ausgabe ist MP4 von 3–15 Sekunden mit 24 fps und Optionen für 480p, 720p oder 1080p.
Über das Modell
Diese Beschreibung erläutert die Fähigkeiten des Modells. Die über Ailoot verfügbaren Eingaben, Ausgaben und Optionen sind unten für die ausgewählte Methode aufgeführt.
Alibaba HappyHorse 1.1 ist eine Videogenerierungsvariante mit separat benannten Profilen für Text-zu-Video, Bild-zu-Video mit Anfangsbild und Referenz-zu-Video. Der Hersteller betont verbesserte Bilddetails, Bewegung, clipübergreifende Figurenidentität, Textstabilität und audiovisuelle Synchronisierung. Das Ergebnis ist ein kurzes Video mit Ton für eine Produkteinstellung, Porträtanimation oder kleine Figurenszene. Wählen Sie den Eingabemodus danach, was die Szene bestimmen soll: ein schriftliches Konzept, ein genaues Anfangsbild oder mehrere visuelle Referenzen.
Beschreiben Sie für Text-zu-Video Motiv, Ort, Handlung, Bildausschnitt, Kamerabewegung und gewünschten Ton. Zeigen Sie für eine kurze Handlungsszene einen Radfahrer, der neben einem Café am Fluss anhält, während die Kamera sanft auf das abgestellte Fahrrad zufährt. Passen Sie die Handlung an einen kurzen Clip an und beschreiben Sie den Schlussmoment. Der aktuelle Textleitfaden des Herstellers erlaubt bis zu 5.000 nicht chinesische oder 2.500 chinesische Zeichen und schneidet überschüssigen Text ab. Ordnen Sie das Briefing so, dass wesentliches Motiv und Handlung ausdrücklich benannt und nicht zwischen wiederholten Adjektiven verborgen sind.
Bild-zu-Video mit Anfangsbild verwendet genau ein Bild als Eröffnung. Bereiten Sie Motiv, Komposition und gewünschten Zuschnitt in diesem Standbild vor und beschreiben Sie danach Bewegungen oder Kameraänderungen. Dokumentierte Bildformate sind JPEG/JPG, PNG und WEBP bis 20 MB, mit beiden Abmessungen von mindestens 300 Pixeln und einem Seitenverhältnis zwischen 1:2,5 und 2,5:1. Die Ausgabe nähert sich der gewählten Auflösungsstufe und behält die Proportionen des Ausgangsbildes. Ein Hochformatergebnis beginnt daher mit einer passenden Hochformatkomposition statt einer unabhängigen Seitenverhältnisanweisung.
Referenz-zu-Video akzeptiert ein bis neun Bilder. Der Prompt benennt sie mit [Image 1], [Image 2] und den folgenden Positionen in Eingabereihenfolge. Nennen Sie die Rolle jeder Referenz und den relevanten Gegenstand oder die Person, damit ein Szenenbild nicht mit einer Figurenquelle verwechselt wird. Der Referenzleitfaden akzeptiert JPEG/JPG, PNG oder WEBP bis 20 MB, verlangt eine kürzeste Seite von mindestens 400 Pixeln und empfiehlt klare Referenzen in 720p oder höher. Vermeiden Sie stark komprimierte Referenzen, deren identifizierende Details bereits fehlen.
Platzieren Sie bei mehreren Referenzen die Person aus einem Bild im Raum aus einem anderen und behalten Sie einen Mantel oder ein Produkt aus einem dritten bei. Beschreiben Sie Interaktion und Kamera im selben Briefing. Das 1.1-Referenzprofil betont Stabilität von Motiven, Szenenstil und filmischer Bewegung; prüfen Sie im tatsächlichen Ergebnis Identität, Produktkennzeichnungen und räumliche Platzierung. Mehrere Bilder liefern dem Briefing mehr Informationen; dennoch muss geprüft werden, welche Merkmale in das Video übernommen wurden.
Der Hersteller nennt 480p, 720p und 1080p für die 1.1-Generierungsmodi, ganzzahlige Dauern von drei bis fünfzehn Sekunden und MP4 mit 24 fps. Die API-Antwort beschreibt H.264-Kodierung. Text- und Referenzgenerierung bieten unter anderem 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21 und 21:9; Anfangsbildgenerierung folgt dem Eingabebild. Wählen Sie das Format für den Zielort und lassen Sie Platz für spätere Untertitel oder Gestaltungselemente. Prüfen Sie den tatsächlichen Bildausschnitt in der vorgesehenen Anzeigegröße.
Die Ausgabe dieser Modellfamilie enthält Ton. Geben Sie Vortrag oder Atmosphäre eine klare Rolle im Briefing und prüfen Sie Dialog, Effekte oder Hintergrundspur zusammen mit dem Bild. Halten Sie gesprochenes Material kurz genug für Handlung und Pausen, statt ein langes Skript in eine kurze Einstellung zu pressen. Prüfen Sie bei Sprache Lippenbewegung, Sprecherzuordnung und tatsächlichen Wortlaut. Die Annahme einer Prompt-Sprache definiert für sich weder garantierte Aussprache noch eine separate Stimmreferenzeingabe.
Der dokumentierte Herstellerablauf ist asynchron: Eine Auftragskennung verfolgt die Verarbeitung, und ein erfolgreiches Ergebnis liefert die Videoadresse. Für Ergebnislink und Auftragsabfragen ist eine Gültigkeit von vierundzwanzig Stunden dokumentiert. Bewahren Sie fertigen Clip, Referenzen und Prompt als Überarbeitungsnachweis auf. Die Leitfäden dokumentieren außerdem Seed- und Wasserzeichensteuerungen. Ein fester Seed kann Vergleiche erleichtern, garantiert laut Hersteller aber ausdrücklich keine identischen Ergebnisse. Beurteilen Sie daher das zurückgegebene Ergebnis, statt anzunehmen, eine Einstellung fixiere jeden Frame.
HappyHorse 1.0 und 1.1 sind getrennte Ausgaben. Die 1.1-Ausgabetabelle ergänzt 480p zu den 720p- und 1080p-Optionen von 1.0; die 1.1-Modellseiten beschreiben Verbesserungen bei Details, Bewegung und Konsistenz. Das separat benannte Videobearbeitungsprofil HappyHorse 1.0 hat eigene Eingaben und Grenzen und darf 1.1 nicht stillschweigend als Bearbeitungsmodus zugeordnet werden. Prüfen Sie den gesamten 1.1-Clip auf Identität, Bewegung, Bildausschnitt, Text und Ton und nehmen Sie anschließend eine konkrete Korrektur unter Beibehaltung gelungener Briefingteile vor.
Ailoot Ultra · Video POST /v1/videos alibaba/happyhorse-1.1
alibaba/happyhorse-1.1Einstieg
Alibaba HappyHorse 1.1 generiert kurze Videos mit Ton aus einem Textbriefing, einem Anfangsbild oder bis zu neun Referenzbildern. Seine Herstellerprofile betonen verbesserte Bewegung, Hautdetails und Figurenkonsistenz über Clips hinweg. Die Ausgabe ist MP4 von 3–15 Sekunden mit 24 fps und Optionen für 480p, 720p oder 1080p.
- Zulässige Eingaben
- Text
- Ergebnisse
- Video
In Ailoot verfügbar · Eingaben und Methoden
Ailoot Ultra · Video POST /v1/videos
- Eingabe
text- Ausgabe
video- Ausgabeformat
- mp4
- Ausgabeanzahl
- Bis zu 4 Ausgabes
| Feld | Typ | Anforderung | Werte und Limits | Standard |
|---|---|---|---|---|
Feldmodel | Typstring | AnforderungErforderlich | Werte und Limits alibaba/happyhorse-1.1 | Standard— |
Feldprompt | Typstring | AnforderungErforderlich | Werte und Limits Mindestlänge: 1 Maximale Anzahl Bytes: 10 000 Einheit: UTF8-Bytes | Standard— |
Feldduration | Typinteger | AnforderungErforderlich | Werte und Limits Minimum: 3 Maximum: 15 Einheit: Sekunden | Standard— |
Feldresolution | Typstring | AnforderungErforderlich | Werte und Limits 720p | Standard— |
Feldaspect_ratio | Typstring | AnforderungErforderlich | Werte und Limits 16:9 | Standard— |
Kombinationen von Eingabematerialien
Text zu Video · Erforderlich: prompt
Methodenparameter und Lebenszyklus
| Parameter | Vertrag |
|---|---|
Parametercontent_type | Vertragapplication/json |
Parameterrequired | Vertragmodel, prompt, duration, resolution, aspect_ratio |
Parameterother_options | Vertragfalse |
Parameterresolution | Vertrag720p |
Parameterprompt_max_bytes | Vertrag10000 |
Parameterduration_integer_range | Vertrag3, 15 |
Parameteraspect_ratio | Vertrag16:9 |
Parametergenerate_audio | Vertragmuss weggelassen werden (nicht false); AAC enthalten |
Parametermaterial_types | Vertragtext |
Parameteradditional_properties | Vertragfalse |
Methodenaliasnamen: /v1/videos/generations, /videos, /videos/generations
Lebenszyklus: 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
Erstellen Sie den Vorgang einmal und speichern Sie die zurückgegebene ID.
Fragen Sie den ursprünglichen Status regelmäßig ab; bewahren Sie jedes fertiggestellte Asset samt Dauer auf.
Tarife
So wird die endgültige Gebühr berechnet
Die angezeigten Tarife dienen zur Kostenschätzung vor der Generierung. Der endgültige Betrag wird aus den für die ursprüngliche Generierung erfassten Kosten berechnet. Die gemessene Ausgabedauer und prognostizierte Mengen sind nicht die endgültige abrechenbare Menge.
Tarifangaben erweitern die Anfrageoptionen nicht. Unterstützte Parameter stehen bei der ausgewählten Methode.
- Schnellmodus
- Nicht angegeben Wenn der Schnellmodus ausgewählt ist
- Flex-Modus
- Nicht angegeben Wenn der Modus flex ausgewählt ist
- Maximaler Denkaufwand
- Nicht angegeben Wenn beim maximalen Denkaufwand die Standardanpassung (default) verwendet wird
Geschätzte Tarife zum Vergleich
Preise nach Konfiguration
Ordnen Sie jede Gebühr den angezeigten Bedingungen zu. Verwenden Sie für jede Gruppe alternativer Konfigurationen einen Tarif.
| Konfiguration | Tarifstaffel | Prognostizierte Menge | Abrechnungseinheit | Abrechnungsbedingungen | Gebühr |
|---|---|---|---|---|---|
| KonfigurationBasistarife für Tokens | TarifstaffelGrundtarif | Prognostizierte Menge— | Abrechnungseinheit— | Abrechnungsbedingungen— | Gebühr Eingabe · Eingabetoken · Schätzung nur zum Vergleich — / 1K Tokens Ausgabe · Ausgabetoken · Schätzung nur zum Vergleich — / 1K Tokens Eingabe · Cache lesen · Schätzung nur zum Vergleich — / 1K Tokens Eingabe · In Cache schreiben · Schätzung nur zum Vergleich — / 1K Tokens Eingabe · In Cache schreiben, 1 Stunde · Schätzung nur zum Vergleich — / 1K Tokens |
| KonfigurationVideopreis | Tarifstaffel— | Prognostizierte Menge— | Abrechnungseinheitpro Videosekunde | Abrechnungsbedingungenresolution: 1080p | Gebühr Ausgabe · Videopreis · Schätzung nur zum Vergleich $0.2556 pro Videosekunde |
| KonfigurationVideopreis | Tarifstaffel— | Prognostizierte Menge— | Abrechnungseinheitpro Videosekunde | Abrechnungsbedingungenresolution: 720p | Gebühr Ausgabe · Videopreis · Schätzung nur zum Vergleich $0.1976 pro Videosekunde |
| KonfigurationGeschätzte Generierungskosten | Tarifstaffel— | Prognostizierte MengeSchätzung für eine Generierung | Abrechnungseinheit— | Abrechnungsbedingungen— | Gebühr Ausgabe · Geschätzte Generierungskosten · Schätzung nur zum Vergleich $0.5928 Schätzung vor der Generierung Diese Schätzung ist weder eine zusätzliche Gebühr noch ein fester Tarif für die abgeschlossene Generierung. |
Ailoot reserviert vor einer Anfrage einen geschätzten Betrag. Nach dem Ergebnis rechnet Ailoot die endgültige Gebühr anhand des gemessenen Verbrauchs ab. Bei Streaming erfolgt die Abrechnung anhand des abschließenden Verbrauchsdatensatzes. So funktionieren Reservierung und Abrechnung →
Details zum Referenztarif
Referenztarifstaffeln auf Modellebene ändern weder Methodenauswahl noch Kostenvoranschläge oder Gebühren. Für die aktive Abrechnung gelten die Tarife der ausgewählten Ailoot-Methode.
Preisreferenzen für Videokonfigurationen
Preise nach Konfiguration
Ordnen Sie jede Gebühr den angezeigten Bedingungen zu. Verwenden Sie für jede Gruppe alternativer Konfigurationen einen Tarif.
| Konfiguration | Abrechnungsbedingungen | Gebühr |
|---|---|---|
| KonfigurationVideopreis | Abrechnungsbedingungenresolution: 720p | Gebühr Ausgabe · Videopreis $0.1976 pro Videosekunde Veröffentlichte Preisreferenz für die angezeigte Konfiguration. Die endgültige Abrechnung folgt der tatsächlich abgerechneten Konfiguration. |
| KonfigurationVideopreis | Abrechnungsbedingungenresolution: 1080p | Gebühr Ausgabe · Videopreis $0.2556 pro Videosekunde Veröffentlichte Preisreferenz für die angezeigte Konfiguration. Die endgültige Abrechnung folgt der tatsächlich abgerechneten Konfiguration. |
Beispielanfragen
Ailoot Ultra · Video
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
Ergebnisse abrufen und speichern
Ailoot Ultra · Video
mp4
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/videos/generations/{request_id}/content
Auftragsstatus prüfen
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
Abrufe anderer Inhalte
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
Alle fertiggestellten Ergebnisse aufbewahren
Speichern Sie jedes fertiggestellte Video oder jede zurückgegebene Datei; rufen Sie jede tatsächlich zurückgegebene Datei-URL ab.
Das fertiggestellte data[] enthält alle signierten Inhalts-URLs der Ihnen zugeordneten Ausgaben. Rufen Sie jede zurückgegebene URL ab oder verwenden Sie den Inhaltsendpunkt mit index auf einem tatsächlichen Ausgabeindex. Ein fehlgeschlagener ursprünglicher Auftrag kann charge_pending_check zurückgeben; prüfen Sie diesen ursprünglichen Auftrag, statt ihn erneut anzulegen.
Wenn die ursprüngliche Antwort geprüft werden muss
Lesen Sie den vorhandenen ursprünglichen Auftrag; übermitteln Sie eine Anfrage mit unbekanntem Übermittlungsergebnis niemals erneut.
Maximale Anzahl der Ausgaben: 4.
Antwortfelder
| Feld | Typ | Bedeutung |
|---|---|---|
Feldid | Typstring | Bedeutung— |
Feldobject | Typstring | Bedeutung— |
Feldmodel | Typstring | Bedeutung— |
Feldstatus | Typstring | Bedeutung— |
Felddata[] | Typsigned content URL | Bedeutung— |
Feldcharge_pending_check | Typboolean | Bedeutung— |
Felderror.code | Typstring | Bedeutung— |
Felderror.message | Typstring | Bedeutung— |
Feldoperation_id | Typstring | BedeutungUrsprüngliche Status-/Inhaltsantwort HTTP503 result_pending_check: dieselbe ursprüngliche öffentliche Video-ID als id. |
Felderror.type | Typstring | Bedeutungserver_error bei HTTP503 result_pending_check. |
Fehler und nächste Schritte
| Antwort | Bedingung | Nächster Schritt |
|---|---|---|
Antwort400 · invalid_request_error | BedingungDas Lesen des rohen Anfrageinhalts schlägt vor dem Parsen des Videoprofils fehl | Nächster SchrittBewahren Sie die zurückgegebene Antwort auf und korrigieren Sie den unlesbaren Anfrageinhalt. |
Antwort422 · price_unavailable | BedingungDas exakte Videoprofil lässt sich nicht parsen, oder für das vollständig geparste Profil liegt keine einsatzbereite exakte Preiskarte vor | Nächster SchrittBewahren Sie die Antwort auf; verwenden Sie das vollständige, exakt zugelassene Profil und dessen veröffentlichte Preiskarte. Dieser Zweig wird vor der Übermittlung an einen Anbieter ausgeführt. |
Antwort409 · video_not_ready | BedingungDer ursprüngliche Ergebnisinhalt ist noch nicht verfügbar | Nächster SchrittFragen Sie die ursprünglich zurückgegebene ID regelmäßig ab und beachten Sie Retry-After. |
Antwortserver_error | BedingungDie zurückgegebene Antwort gibt an, dass der Vorgang oder das Ergebnis eine Prüfung erfordert | Nächster SchrittDie ursprünglich zurückgegebene Vorgangs-/Aufgaben-ID, die Anfrageheader und die Antwort aufbewahren; mit unterstützten Leseaufrufen für diesen ursprünglichen Vorgang fortfahren. Die Erstellungsanfrage nicht erneut senden. |
Antwort503 · result_pending_check | BedingungGET des ursprünglichen Status/Inhalts: Die Aufgabe ist nicht veröffentlicht, der ursprüngliche Auftrag ist nicht failed/cancelled/expired, und der lokale Zustand ist unknown oder der Status des ursprünglichen Auftrags ist completed. | Nächster SchrittBewahren Sie die ursprüngliche id und operation_id (dieselbe öffentliche Video-ID), die Antwort und die Header auf; lesen Sie ausschließlich den ursprünglichen Status/Inhalt. Übermitteln Sie niemals eine neue Generierungsanfrage. |
Aliasnamen
Modellaliasnamen
Ailoot Ultra alibaba/happyhorse-1.1
Aliasnamen für Methodenpfade
/v1/videos/generations, /videos, /videos/generations
Zugehörige Aufrufer-IDs
FAQ · Alibaba: HappyHorse 1.1
- Welche Eingaben und Ergebnisse sind verfügbar?
POST /v1/videos·alibaba/happyhorse-1.1:text→video- Welche Felder verwendet die Anfrage?
POST /v1/videos·alibaba/happyhorse-1.1:model,prompt,duration,resolution,aspect_ratio- Welche Grenzen gelten?
POST /v1/videos·alibaba/happyhorse-1.1:duration.minimum:3;duration.maximum:15