Doku
API

Video und Musik

Markdown

Videos und Musik generieren: Der Request erstellt einen Auftrag, dessen Ergebnis über die zugehörige ID abgerufen wird.

Vollständiger Leitfaden
POSThttps://api.ailoot.ai/v1/videos
Video und Musik
# 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.
Antwort · gekürzt
// 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 Header x-api-key oder x-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:

GEThttps://api.ailoot.ai/v1/videos/{id}
GEThttps://api.ailoot.ai/v1/videos/{id}/content

Dieselben 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

POSThttps://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.

Noch Fragen? Senden Sie uns die Request ID und eine Beschreibung — wir helfen Ihnen weiter.Support kontaktieren