Source: https://ailoot.ai/docs/de-ch/api/video-music/
Canonical: https://ailoot.ai/docs/de-ch/api/video-music/
Language: de-ch

[API](https://ailoot.ai/docs/de-ch/) 

# Video und Musik

[Markdown](https://ailoot.ai/docs/de-ch/api/video-music/index.md)

Videos und Musik generieren: Die Anfrage erstellt einen Auftrag; das Ergebnis wird anhand seiner ID abgerufen.

POST`https://api.ailoot.ai/v1/videos`

Video und Musik

```bash
# Request ID aufbewahren: Damit findet der Support Ihre Anfrage.
# Die Aufgabe einmal erstellen; die folgende Schleife liest nur ihren Status.
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 liest ausschliesslich die ursprüngliche Aufgabe. Die Anfrage zur Erstellung wird niemals erneut gesendet.
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. Anhalten; die Aufgabe niemals erneut erstellen.
  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 ein anderer Status: anzeigen und anhalten. Die Aufgabe niemals 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
# Nach einem Timeout beim Erstellen zuerst die Request ID im Nutzungsverlauf prüfen, bevor dieses Skript erneut ausgeführt wird.
```

```bash
curl https://api.ailoot.ai/v1/music/generations \
  -H "Authorization: Bearer $AILOOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "google/lyria", "prompt": "Ruhige Klavier- und Cellomusik, ohne Gesang"}' 
```

Antwort · gekürzt

```json
// Die Aufgabenkennung steht im Feld id oder request_id
{ "id": "…", … }

// Das Format hängt vom Modell ab: Die Kennung
// aus der Antwort auf die Erstellung unverändert übernehmen.
```

## Authentifizierung

| Parameter | Typ | Erforderlich | Beschreibung |
| --- | --- | --- | --- |
| `Authorization` | header | erforderlich | Schlüssel im Format `Bearer sk-…`. Alternativ funktionieren die Header `x-api-key` oder `x-goog-api-key`. |

## Video: Anfragekörper

| Parameter | Typ | Erforderlich | Beschreibung |
| --- | --- | --- | --- |
| `model` | string | erforderlich | 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`. |
| `prompt` | string | erforderlich | Beschreibung des Videos. |
| `duration / seconds` | integer / string | optional | Je nach 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 ein Feld einer Familie nicht auf eine andere. |
| `resolution / size` | string | optional | 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_urls` | string / array | optional | 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:

GET`https://api.ailoot.ai/v1/videos/{id}`

GET`https://api.ailoot.ai/v1/videos/{id}/content`

Dieselben Adressen funktionieren auch mit dem Präfix `/v1/videos/generations/{id}`. Der Status eines abgeschlossenen Auftrags und die Antwortfelder hängen vom Modell ab — orientieren Sie sich am Statusfeld und rufen Sie die Datei über folgenden Pfad ab: `/content`.

## Erstellen → Status → Herunterladen

Speichern Sie die Antwort auf die Erstellung und ihre Request ID. Bei MiniMax/HappyHorse bedeutet `status: completed` die Fertigstellung; die Antwort enthält `content_url`, `data[]` und usage. Bei Grok lautet der Status `status: done` mit `video.url`. Google Omni gibt zunächst 202 queued zurück, danach in\_progress mit Retry-After, completed oder partial/content\_revoked. Nicht jede 200-Antwort bedeutet, dass das Video fertig ist. 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 zur signierten Datei zurückgeben. Enthält die Antwort mehrere Ergebnisse in `data[]`, speichern Sie jedes davon: Alle bereitgestellten Ergebnisse werden abgerechnet. Videoaufträge können über die API weder abgebrochen noch gelöscht werden. Das Löschen einer fertigen Datei sperrt den Zugriff, bricht aber die Generierung nicht ab.

Abgerechnet wird pro Sekunde des fertigen Videos in der gewählten Auflösung oder pro Video, wie im Katalog angegeben. Die gesamten Kosten werden beim Erstellen des Auftrags reserviert.

## Musik

POST`https://api.ailoot.ai/v1/music/generations`

| Parameter | Typ | Erforderlich | Beschreibung |
| --- | --- | --- | --- |
| `model` | string | erforderlich | `google/lyria`, `google/lyria-3-clip-preview`. |
| `prompt` | string | erforderlich | Beschreibung des Musikstücks: Genre, Instrumente, Stimmung. |

In der Antwort enthält `data[]` Links zu fertigen Clips. Ein Modell kann pro Anfrage mehrere Clips zurückgeben; jeder bereitgestellte Clip wird abgerechnet.

Senden Sie Video- oder Musikanfragen bei einem Verbindungsabbruch nicht erneut: Der Auftrag könnte bereits gestartet sein. Prüfen Sie zuerst den Status anhand der ID oder kontaktieren Sie den Support mit der Request ID.

Noch Fragen? Schicken Sie uns die Request ID und eine Beschreibung — wir helfen Ihnen weiter.[Support kontaktieren](mailto:support@ailoot.ai)

## Ailoot · Das Unternehmen und sein Projektportfolio





Ailoot baut auf bewährte Betriebserfahrung, einen großen Kundenstamm, stabilen Service und kontinuierliche KPI-Kontrolle.





Das Unternehmen und sein Projektportfolio: Millionen von Kunden; monatliche Umsätze in Milliardenhöhe.





Ailoot nutzt diese Betriebserfahrung für den API-Zugang zu KI-Funktionen in Kundenprodukten, Agenten, Anwendungen und Automatisierungen.
