Happy Horse 1.1 API
Vollständige API-Referenz für die Happy Horse 1.1 Videogenerierungsmodelle von Alibaba.
Modellvarianten
Diese API unterstützt drei Modellvarianten:
Schnellvergleich
Unterstützte Seitenverhältnisse (Text zu Video & Referenz zu Video)
Happy Horse 1.1 Text to Video
Endpunkt
POST /api/v1/video/task
Anfrageparameter
Erforderlich
Fakultativ
Beispielanfrage
const response = await fetch('https://api.flaq.ai/api/v1/video/task', {
method: 'POST',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
model_name: 'happyhorse-1.1-text-to-video',
prompt: 'A cat playing with a ball of yarn on a sunny windowsill',
duration: 5,
resolution: '1080p',
aspect_ratio: '16:9',
seed: 42,
}),
});
const { data } = await response.json();
const taskId = data.task_id;
Happy Horse 1.1 Image to Video
Anfrageparameter
Erforderlich
Fakultativ
Hinweis: aspect_ratio wird für Image-to-Video nicht unterstützt. Der Ausgaberahmen folgt dem hochgeladenen Erstbild.
Beispielanfrage
const response = await fetch('https://api.flaq.ai/api/v1/video/task', {
method: 'POST',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
model_name: 'happyhorse-1.1-image-to-video',
image_url: 'https://example.com/first-frame.jpg',
prompt: 'Gentle motion; cinematic lighting',
duration: 5,
resolution: '1080p',
seed: 42,
}),
});
const { data } = await response.json();
const taskId = data.task_id;
Happy Horse 1.1 Reference to Video
Anfrageparameter
Erforderlich
@ (AT)-Referenzplatzhalter
Die @ (AT)-Referenzfunktion verknüpft Referenzbilder über nummerierte <<<image_N>>>-Platzhalter mit dem Prompt. Die Nummerierung beginnt bei 1 und folgt der Reihenfolge des images-Arrays.
Fakultativ
Anforderungen an Referenzbilder
- Unterstützte Formate:
JPEG, JPG, PNG, WEBP
- Maximale Dateigröße: 20 MB pro Bild
- Minimale kurze Seite: 400 px
- Anzahl: mindestens 1, bis zu 9 Bilder
Beispielanfrage
const response = await fetch('https://api.flaq.ai/api/v1/video/task', {
method: 'POST',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
model_name: 'happyhorse-1.1-reference-to-video',
prompt: 'Subject moves naturally while preserving reference style and appearance',
duration: 5,
resolution: '1080p',
aspect_ratio: '16:9',
images: [
'https://example.com/ref-1.jpg',
'https://example.com/ref-2.jpg',
],
seed: 42,
}),
});
const { data } = await response.json();
const taskId = data.task_id;
Beispielanfrage für @ (AT) Reference-to-Video
const response = await fetch('https://api.flaq.ai/api/v1/video/task', {
method: 'POST',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
model_name: 'happyhorse-1.1-reference-to-video',
prompt: 'Show the person from <<<image_1>>> walking beside the bicycle from <<<image_2>>> through the street in <<<image_3>>>, preserving all reference details',
duration: 5,
resolution: '1080p',
aspect_ratio: '16:9',
images: [
'https://example.com/person-reference.jpg',
'https://example.com/bicycle-reference.jpg',
'https://example.com/street-reference.jpg',
],
seed: 42,
}),
});
const { data } = await response.json();
const taskId = data.task_id;
Erste Antwort
{
"code": 0,
"message": "success",
"data": {
"task_id": "{task_id}",
"response_url": "https://api.flaq.ai/api/v1/video/{task_id}",
"task_status": "submitted"
}
}
Polling-Antwort
Rufe GET /api/v1/video/{taskId} ab, um den Status zu prüfen:
{
"code": 0,
"message": "success",
"data": {
"task_id": "{task_id}",
"response_url": "https://api.flaq.ai/api/v1/video/{task_id}",
"task_status": "succeed",
"task_status_msg": null,
"task_result": {
"videos": [
{
"url": "https://example.com/generated-video.mp4"
}
]
}
}
}
Statuswerte
submitted: Aufgabe akzeptiert und wartet auf Verarbeitung
processing: Videogenerierung läuft
succeed: Videogenerierung abgeschlossen
failed: Videogenerierung fehlgeschlagen
Verarbeitungszeit
Typische Verarbeitungszeit: 2-5 Minuten, abhängig von Dauer und Warteschlangenlast.
Bewährte Vorgehensweisen
- Bewegung klar beschreiben: Ergänze Motivbewegung, Kamerabewegung und Szenenverlauf, um die Videodynamik zu verbessern.
- Zuerst kurze Iterationen verwenden: Beginne mit Generierungen von 3-5 Sekunden, um die Prompt-Richtung zu validieren, bevor längere Clips ausgeführt werden.
- Das richtige Eingabebild wählen: Verwende für Image-to-Video ein klares, gut beleuchtetes Erstbild mit starkem Fokus auf das Motiv.
- Referenzbilder kuratieren: Stelle für Reference-to-Video konsistente, hochwertige Referenzbilder bereit, die das Motiv oder den Stil, den du bewahren möchtest, klar darstellen.
- Seeds für Varianten wiederverwenden: Behalte denselben
seed bei, wenn du Prompt-Verfeinerungen testest, um Ausgaben konsistenter zu vergleichen.
- Verhältnis an den Ausgabekanal anpassen: Verwende
16:9 für Querformatvideos, 9:16 für Shorts und Reels und 1:1 für quadratische Platzierungen.