
HappyHorse 1.1 API Anleitung: AI-Videos mit EvoLink generieren

HappyHorse 1.1 API auf EvoLink verwenden
Wenn du HappyHorse 1.1 über EvoLink nutzen willst, ist der praktische Ablauf:
- Wähle die HappyHorse 1.1 Model ID passend zu deinem Eingabetyp.
- Erstelle einen Video-Task über
POST /v1/videos/generations. - Speichere die zurückgegebene Task ID.
- Frage
GET /v1/tasks/{task_id}ab oder nutzecallback_url. - Sichere das fertige Video, bevor deine Anwendung dauerhaft davon abhängt.
Schnelle Antwort
HappyHorse 1.1 hat auf EvoLink drei Routen:
| Anwendungsfall | Model ID | Am besten geeignet für |
|---|---|---|
| Text-to-video | happyhorse-1.1-text-to-video | Apps, die nur mit einem Prompt starten |
| Image-to-video | happyhorse-1.1-image-to-video | Apps mit einem ersten Frame als Bild |
| Reference-to-video | happyhorse-1.1-reference-to-video | Workflows mit 1-9 geordneten Referenzbildern |
callback_url und Abrechnung pro generierter Videosekunde.Mische HappyHorse 1.1 nicht mit älteren HappyHorse 1.0 Routen. Die aktuelle EvoLink-Oberfläche für HappyHorse 1.1 besteht aus den drei Routen oben.
Bestätigte Fakten
| Punkt | HappyHorse 1.1 auf EvoLink |
|---|---|
| API-Verfügbarkeit | Auf EvoLink live |
| Task erstellen | POST /v1/videos/generations |
| Task-Status | GET /v1/tasks/{task_id} |
| Delivery-Modell | Async Task-Erstellung und Statusabfrage |
| Callback | callback_url ist im Create Request verfügbar |
| Auflösungen | 720p und 1080p |
| Dauer | Ganze Sekunden von 3 bis 15 |
| Ergebnislinks | 24 Stunden gültig; fertige Assets zeitnah speichern oder verschieben |
| Abrechnung | Pro generierter Sekunde, beeinflusst durch Auflösung und Dauer |
| Preisquelle | HappyHorse 1.1 Preistabelle |
Das bedeutet: Videogenerierung sollte als asynchroner Produktionsjob behandelt werden, nicht als synchroner API-Call, der einen Webrequest blockiert.
Die richtige Route wählen
Der häufigste Integrationsfehler ist, die Route nach Namen statt nach Eingabe-Assets zu wählen. Starte mit dem, was dein Workflow bereits besitzt.
| Eingabe | Empfohlene Route | Warum |
|---|---|---|
| Prompt ohne Bilder | happyhorse-1.1-text-to-video | Prompt-first Generierung mit expliziter Aspect-Ratio-Planung |
| Ein Produkt-, Charakter- oder Szenenbild | happyhorse-1.1-image-to-video | Nutzt das Bild als ersten Frame; das Seitenverhältnis kommt aus dem Quellbild |
| Mehrere Charaktere, Objekte oder Stilreferenzen | happyhorse-1.1-reference-to-video | Der Prompt kann geordnete Bilder mit character1, character2 usw. referenzieren |
Nutze text-to-video für Ideenfindung, image-to-video für Asset-Animation und reference-to-video, wenn Konsistenz über mehrere Referenzbilder wichtig ist.
Voraussetzungen
| Voraussetzung | Vorbereitung |
|---|---|
| EvoLink API Key | API Key im EvoLink Account erstellen |
| Öffentliche Bild-URLs | Erforderlich für image-to-video und reference-to-video |
| Model ID | Eine der drei HappyHorse 1.1 Routen auswählen |
| Storage-Plan | Festlegen, wo fertige Videos gespeichert werden |
| Callback-Endpunkt | Optional, aber für Produktionsqueues empfohlen |
| Kostenlimits | Default-Dauer, Auflösung und Retry-Regeln vor Batch-Jobs definieren |
Für Bildeingaben müssen HTTP- oder HTTPS-URLs öffentlich erreichbar sein. Private Objekt-Storage-URLs, Intranet-Links und lokale Dateien sind keine geeigneten Produktionseingaben.
Grundlegender Request-Ablauf
| Schritt | API-Aktion | Was deine App speichern sollte |
|---|---|---|
| Task erstellen | POST /v1/videos/generations | Task ID, Model ID, User ID, angefragte Dauer, angefragte Qualität |
| Task verfolgen | GET /v1/tasks/{task_id} | Status, Fortschritt, Ergebnislink, Usage-Daten |
| Task abschließen | Polling oder callback_url | Finales Video-Asset, finaler Status, Billing-Metadaten |
| Ergebnis speichern | Eigene Storage-Schicht | Stabile URL, Job-Historie, Audit Trail |
model-Wert und die passenden Eingabefelder zu setzen.Text-to-video Beispiel
model und prompt.curl --request POST \
--url https://api.evolink.ai/v1/videos/generations \
--header 'Authorization: Bearer <EVOLINK_API_KEY>' \
--header 'Content-Type: application/json' \
--data '{
"model": "happyhorse-1.1-text-to-video",
"prompt": "A cinematic product shot of a transparent electric scooter moving through a clean studio space, slow dolly camera, soft reflections",
"quality": "720p",
"aspect_ratio": "16:9",
"duration": 5,
"callback_url": "https://your-domain.com/webhooks/video-task-completed"
}'| Parameter | Planungshinweis |
|---|---|
prompt | Motiv, Szene, Kamerabewegung, Bewegung, Licht und Stil beschreiben |
quality | Mit 720p starten; erst nach stabilem Prompt auf 1080p wechseln |
aspect_ratio | Zielkanal früh festlegen, z. B. 16:9, 9:16 oder 1:1 |
duration | Für Tests mit 3-5 Sekunden starten |
seed | Nur für reproduzierbare Iterationen fixieren |
Image-to-video Beispiel
model und image_urls.curl --request POST \
--url https://api.evolink.ai/v1/videos/generations \
--header 'Authorization: Bearer <EVOLINK_API_KEY>' \
--header 'Content-Type: application/json' \
--data '{
"model": "happyhorse-1.1-image-to-video",
"image_urls": ["https://cdn.example.com/product-hero.png"],
"prompt": "Animate the product with a smooth camera orbit and subtle studio lighting movement",
"quality": "720p",
"duration": 5,
"callback_url": "https://your-domain.com/webhooks/video-task-completed"
}'| Regel | Anforderung |
|---|---|
| Anzahl Bilder | Genau ein First-Frame-Bild |
| Formate | JPEG, JPG, PNG, WEBP |
| Mindestgröße | Breite und Höhe mindestens 300 px |
| Seitenverhältnis | Quellbild muss im unterstützten Bereich liegen |
| Dateigröße | Maximal 10MB pro Bild |
| URL-Zugriff | Öffentlich erreichbar per HTTP oder HTTPS |
aspect_ratio Feld herum.Reference-to-video Beispiel
model, prompt und image_urls.curl --request POST \
--url https://api.evolink.ai/v1/videos/generations \
--header 'Authorization: Bearer <EVOLINK_API_KEY>' \
--header 'Content-Type: application/json' \
--data '{
"model": "happyhorse-1.1-reference-to-video",
"prompt": "character1 walks into the scene, picks up the object shown as character2, and places it on the table beside character3",
"image_urls": [
"https://cdn.example.com/person.png",
"https://cdn.example.com/object.png",
"https://cdn.example.com/scene.png"
],
"quality": "720p",
"aspect_ratio": "16:9",
"duration": 5,
"callback_url": "https://your-domain.com/webhooks/video-task-completed"
}'| Regel | Anforderung |
|---|---|
| Anzahl Bilder | 1-9 Referenzbilder |
| Prompt-Konvention | character1, character2, character3 usw. verwenden |
| Reihenfolge | Erste URL entspricht character1, zweite URL character2 |
| Formate | JPEG, JPG, PNG, WEBP |
| Empfohlene Qualität | Klare Bilder, kurze Kante mindestens 400 px, kurze/lange Kante mindestens 0.4 |
| Dateigröße | Maximal 10MB pro Bild |
| URL-Zugriff | Öffentliche HTTP- oder HTTPS-URLs |
character1 / character2 Referenzen können Mehrdeutigkeit erzeugen. Speichere bei User-Uploads die sichtbare Reihenfolge und das finale image_urls Array zusammen.Async Status und callback_url
Nach dem Create Request erhält deine Anwendung eine Task ID. Speichere sie sofort und frage den Status ab:
curl --request GET \
--url https://api.evolink.ai/v1/tasks/<TASK_ID> \
--header 'Authorization: Bearer <EVOLINK_API_KEY>'Task-Antworten können Status, Fortschritt, Model, Task-Informationen, Ergebnisdetails und Usage-Informationen enthalten.

| Ansatz | Geeignet für | Abwägung |
|---|---|---|
| Polling | Lokale Tests oder kleine Admin-Workflows | Einfach, kann aber unnötige Queue-Last erzeugen |
callback_url | User-facing Generierung in Produktion | Sauberer Ablauf, benötigt aber einen sicheren HTTPS Endpoint |
callback_url muss HTTPS verwenden und sollte nicht auf private IP-Bereiche zeigen. Der Handler sollte idempotent sein.Kostenplanung
| Kostentreiber | Warum wichtig | Praktisches Limit |
|---|---|---|
| Dauer | Mehr Sekunden erhöhen die Kosten | Standardmäßig 3-5 Sekunden testen |
| Auflösung | Höhere Auflösung beeinflusst die Abrechnung | Prompt-Qualität zuerst mit 720p freigeben |
| Retry-Verhalten | Blinde Retries multiplizieren Ausgaben | Nur klar temporäre Fehler retryen |
| Routenauswahl | Reference-Workflows sind operativ komplexer | Image-to-video nutzen, wenn ein First Frame reicht |
| Batch-Größe | Batch-Jobs können Kostenpeaks verstecken | Limits pro User und Job setzen |
Produktions-Checkliste
| Bereich | Checkliste |
|---|---|
| Modellrouting | Produktaktionen auf korrekte HappyHorse 1.1 Model IDs abbilden |
| Input Validation | Prompt-Länge, Bildanzahl, öffentliche URLs, Format und Größe validieren |
| Queue Design | Jeden Videojob als async Job behandeln und Task IDs speichern |
| Callback-Sicherheit | HTTPS nutzen, Payload validieren, Handler idempotent machen |
| Kostenkontrolle | Defaults für Dauer, Qualität und Account-Limits setzen |
| Asset-Speicherung | Fertige Videos innerhalb des 24-Stunden-Ergebnisfensters in eigenes Storage verschieben |
| Fallback Model | Eine weitere EvoLink Video-Route als Fallback bereithalten |
| Monitoring | Fehlerrate, durchschnittliche Laufzeit, Retry-Rate und Spend tracken |
Hier ist der Wert des EvoLink Gateways sichtbar: Wenn deine App eine saubere Routing-Schicht nutzt, wird der Wechsel zwischen HappyHorse, Seedance, Kling, Sora oder anderen Videomodellen zu einer Model-Selection-Entscheidung statt zu einer neuen Vendor-Integration.
Troubleshooting
| Symptom | Wahrscheinliche Ursache | Lösung |
|---|---|---|
model_access_denied | API Key hat keinen Zugriff auf das Model | Account-Zugriff prüfen und Model ID von der HappyHorse 1.1 Seite verwenden |
| Image-to-video Request schlägt fehl | image_urls fehlt oder URL ist nicht öffentlich | Eine öffentliche Bild-URL übergeben |
| Reference Output verwechselt Charaktere | Prompt nutzt character1, character2 usw. nicht | Prompt-Referenzen an die Reihenfolge im Array koppeln |
| Aspect Ratio verhält sich unerwartet | Image-to-video wird mit expliziter Aspect Ratio geplant | Quellbild-Verhältnis anpassen |
| Kosten sind höher als erwartet | Dauer, Auflösung, Retries oder Batch-Größe gestiegen | Mit kurzen 720p Tests starten und Spend-Limits setzen |
| User Request läuft in Timeout | App behandelt Videogenerierung synchron | Task ID speichern und Polling oder Callback nutzen |
Implementierungsmuster
type HappyHorseRoute =
| 'text-to-video'
| 'image-to-video'
| 'reference-to-video'
const happyHorseModelIdByRoute: Record<HappyHorseRoute, string> = {
'text-to-video': 'happyhorse-1.1-text-to-video',
'image-to-video': 'happyhorse-1.1-image-to-video',
'reference-to-video': 'happyhorse-1.1-reference-to-video',
}Die Routing-Schicht sollte hinter der Produktlogik sitzen. Die UI kann nach Prompt, First Frame oder mehreren Referenzen fragen; das Backend übersetzt die Antwort in eine Model ID und einen validierten Request Body.
Wann ein anderes EvoLink Videomodell sinnvoll ist
| Bedarf | Alternative |
|---|---|
| Mehr Referenztypen wie Video oder Audio | Seedance 2.0 |
| Wiederholbare Short-Form-Produktion | Kling 3.0 |
| Anderer kreativer Stil oder anderes Model-Verhalten | Weitere Routen im EvoLink Model Catalog vergleichen |
FAQ
Welchen Endpoint nutze ich für HappyHorse 1.1?
POST /v1/videos/generations mit der HappyHorse 1.1 Model ID, die zu deinem Eingabetyp passt.Welche HappyHorse 1.1 Model IDs gibt es?
happyhorse-1.1-text-to-video, happyhorse-1.1-image-to-video und happyhorse-1.1-reference-to-video.Welche Model ID ist für reine Prompts richtig?
happyhorse-1.1-text-to-video.Welche Model ID ist für First-Frame-Animation richtig?
happyhorse-1.1-image-to-video, wenn ein Quellbild zum ersten Frame werden soll.Welche Model ID ist für mehrere Referenzbilder richtig?
happyhorse-1.1-reference-to-video für 1-9 geordnete Referenzbilder und referenziere sie im Prompt als character1, character2 usw.Unterstützt image-to-video aspect_ratio?
Nein. Image-to-video leitet das Output-Seitenverhältnis aus dem Quellbild ab. Für explizite Aspect-Ratio-Planung nutze text-to-video oder reference-to-video.
Kann ich callback_url verwenden?
callback_url für Task-Callbacks. Nutze HTTPS und baue den Handler idempotent.Wo finde ich aktuelle Preise?
Kann ich denselben EvoLink API Key verwenden?
Ja. HappyHorse 1.1 nutzt denselben EvoLink API Key und dasselbe Billing-System wie andere Routen in deinem Account.
Unterstützt HappyHorse 1.1 video-edit?
Die aktuelle HappyHorse 1.1 Seite und API-Referenz zeigen text-to-video, image-to-video und reference-to-video. Verwende keine HappyHorse 1.0 video-edit Route als HappyHorse 1.1 Route.


