Video und Musik
MarkdownVideos und Musik generieren: Der Request erstellt einen Auftrag, dessen Ergebnis über die zugehörige ID abgerufen wird.
Vollständiger Leitfaden
https://api.ailoot.ai/v1/videos# Bewahren Sie die Request ID auf: Der Support findet damit Ihre Anfrage.
# Erstellen Sie den Auftrag einmal; die folgende Schleife fragt nur seinen Status ab.
curl --fail-with-body --max-time 120 -D video-create-headers-v1.txt \
https://api.ailoot.ai/v1/videos \
-H "Authorization: Bearer $AILOOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"grok-imagine-video-1.5","prompt":"ein ruhiger See","seconds":"8","size":"1280x720"}' \
-o video-create-v1.json || exit 1
VIDEO_ID=$(jq -er '.id // .request_id' video-create-v1.json) || exit 1
VIDEO_STATUS=""
# Diese Schleife fragt nur den ursprünglichen Auftrag ab. Sie sendet die Anfrage zur Erstellung nie erneut.
for ATTEMPT in $(seq 1 60); do
curl --fail-with-body --max-time 30 \
"https://api.ailoot.ai/v1/videos/$VIDEO_ID" \
-H "Authorization: Bearer $AILOOT_API_KEY" \
-o video-status-v1.json || exit 1
VIDEO_STATUS=$(jq -r '.status // empty' video-status-v1.json)
# result_pending_check: true (Status bleibt in_progress): Das Ergebnis wird geprüft. Stoppen Sie; erstellen Sie den Auftrag keinesfalls erneut.
if jq -e '.result_pending_check == true' video-status-v1.json >/dev/null; then
cat video-status-v1.json
echo "The result is being checked. Do not create the job again: check GET /v1/videos/$VIDEO_ID later or contact support with the Request ID." >&2
exit 1
fi
case "$VIDEO_STATUS" in
done|completed) break ;;
queued|in_progress|pending|processing) sleep 5 ;;
# failed oder jeder andere Status: anzeigen und stoppen. Den Auftrag keinesfalls erneut erstellen.
*) cat video-status-v1.json; exit 1 ;;
esac
done
case "$VIDEO_STATUS" in
done|completed) ;;
*) echo "The job is not finished yet (status: ${VIDEO_STATUS:-none}). Check it later: GET /v1/videos/$VIDEO_ID" >&2; exit 1 ;;
esac
curl --fail-with-body --max-time 120 -L --max-redirs 3 \
"https://api.ailoot.ai/v1/videos/$VIDEO_ID/content" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o video-v1.mp4
# Prüfen Sie nach einer Zeitüberschreitung beim Erstellen zuerst die Request ID in Ihrem Nutzungsverlauf, bevor Sie dieses Skript erneut ausführen.curl https://api.ailoot.ai/v1/music/generations \
-H "Authorization: Bearer $AILOOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "google/lyria", "prompt": "Ruhiges Klavier und Violoncello, ohne Gesang"}' // Die Auftrags-ID steht im Feld id oder request_id
{ "id": "…", … }
// Das Format hängt vom Modell ab: Übernehmen Sie die ID
// unverändert aus der Antwort auf die Erstellung.Authentifizierung
- Authorizationheadererforderlich
Schlüssel in der Form
Bearer sk-…. Alternativ akzeptiert Ailoot die Headerx-api-keyoderx-goog-api-key.
Video: Request-Body
- modelstringerforderlich
Videomodell:
google/omni-1.1-flash,grok-imagine-video,happyhorse-1.1-t2v,MiniMax-Hailuo-2.3,grok-imagine-video-1.5,happyhorse-1.1-r2v,grok-imagine-video-1.5-preview,happyhorse-1.1-i2v. - promptstringerforderlich
Beschreibung des Videos.
- duration / secondsinteger / stringoptional
Abhängig von der Modellfamilie: Grok 1–15 Sekunden, MiniMax 6/10 bei 768P oder 6 bei 1080P, HappyHorse 3–15; Google Omni 4/6/8/10. Übertragen Sie Felder einer Modellfamilie nicht auf eine andere.
- resolution / sizestringoptional
Grok: 480p/720p/1080p (1080p bei video-1.5), alternativ size 1280x720/720x1280/1920x1080/1080x1920. MiniMax: 768P/1080P. HappyHorse: 480P/720P/1080P. Google Omni: 360p/720p.
- image / first_frame_image / image_urlsstring / arrayoptional
Die Felder für Ausgangsbilder hängen von Modellfamilie und Modus ab. MiniMax Fast erfordert first_frame_image. HappyHorse t2v — ohne images, i2v — genau ein Bild ohne ratio, r2v — 1–9 Bilder.
Die Antwort enthält die Auftrags-ID (Feld id oder request_id). Verwenden Sie sie unverändert, ohne sie zu zerlegen: Das Format hängt vom Modell ab. Status und fertige Datei:
https://api.ailoot.ai/v1/videos/{id}https://api.ailoot.ai/v1/videos/{id}/contentDieselben Adressen funktionieren auch mit dem Präfix /v1/videos/generations/{id}. Der Status eines fertigen Auftrags und die Antwortfelder hängen vom Modell ab — orientieren Sie sich am Statusfeld und verwenden Sie für den Dateidownload /content.
Erstellen → Status → Herunterladen
Speichern Sie die Antwort auf die Erstellung samt Request ID. Bei MiniMax/HappyHorse ist der Fertigstatus status: completed, die Antwort enthält content_url, data[] und usage. Bei Grok — status: done mit video.url. Google Omni liefert 202 queued, danach in_progress mit Retry-After, completed oder partial/content_revoked. Nicht jede 200-Antwort bedeutet ein fertiges Video. Enthält die Statusantwort result_pending_check: true (status bleibt in_progress), wird das Ergebnis noch geprüft. Erstellen Sie den Auftrag nicht erneut — prüfen Sie ihn später über GET /v1/videos/{id} oder kontaktieren Sie den Support mit der Request ID.
/content kann MP4 direkt oder eine Weiterleitung zu einer signierten Datei liefern. Enthält die Antwort mehrere Ergebnisse in data[], speichern Sie jedes davon: Alle ausgelieferten Ergebnisse werden verrechnet. Ein Videoauftrag lässt sich über die API weder stornieren noch löschen. Das Löschen der fertigen Datei sperrt den Zugriff darauf, storniert aber nicht die Generierung.
Abgerechnet werden die Sekunden des fertigen Videos in der gewählten Auflösung oder das Video als Ganzes, wie im Katalog angegeben. Die vollen Kosten werden beim Erstellen des Auftrags reserviert.
Musik
https://api.ailoot.ai/v1/music/generations- modelstringerforderlich
google/lyria,google/lyria-3-clip-preview. - promptstringerforderlich
Beschreibung des Musikstücks: Genre, Instrumente, Stimmung.
In der Antwort enthält das Feld data[] die Links zu den fertigen Clips. Ein Request kann mehrere Clips liefern; jeder ausgelieferte Clip wird verrechnet.