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

[API](https://ailoot.ai/docs/pl/) 

# Wideo i muzyka

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

Generowanie wideo i muzyki: żądanie tworzy zadanie, a wynik jest pobierany za pomocą jego identyfikatora.

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

Wideo i muzyka

```bash
# Zachowaj Request ID: pomoc techniczna używa go do odnalezienia Twojego żądania.
# Utwórz zadanie tylko raz; poniższa pętla jedynie odczytuje jego 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":"spokojne jezioro","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=""
# Ta pętla odczytuje wyłącznie pierwotne zadanie. Nigdy nie wysyła ponownie żądania utworzenia.
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 pozostaje in_progress): wynik jest sprawdzany. Zatrzymaj się; nigdy nie twórz tego zadania ponownie.
  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 lub dowolny inny status: wyświetl go i zatrzymaj się. Nigdy nie twórz tego zadania ponownie.
    *) 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
# Po przekroczeniu czasu oczekiwania na utworzenie sprawdź Request ID w historii użycia, zanim ponownie uruchomisz ten skrypt.
```

```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": "Spokojna muzyka na fortepian i wiolonczelę, bez wokalu"}' 
```

Odpowiedź · skrócona

```json
// Identyfikator zadania znajduje się w polu id lub request_id
{ "id": "…", … }

// Format zależy od modelu: użyj identyfikatora
// z odpowiedzi na utworzenie, bez żadnych zmian.
```

## Autoryzacja

| Parametr | Typ | Wymagany | Opis |
| --- | --- | --- | --- |
| `Authorization` | header | wymagany | Klucz w postaci `Bearer sk-…`. Można też użyć nagłówków `x-api-key` lub `x-goog-api-key`. |

## Wideo: treść żądania

| Parametr | Typ | Wymagany | Opis |
| --- | --- | --- | --- |
| `model` | string | wymagany | Model wideo: `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 | wymagany | Opis klipu. |
| `duration / seconds` | integer / string | opcjonalny | Zależy od rodziny: Grok 1–15 sekund, MiniMax 6/10 przy 768P lub 6 przy 1080P, HappyHorse 3–15; Google Omni 4/6/8/10. Nie przenoś pola z jednej rodziny do drugiej. |
| `resolution / size` | string | opcjonalny | Grok: 480p/720p/1080p (1080p w video-1.5), albo size 1280x720/720x1280/1920x1080/1080x1920. MiniMax: 768P/1080P. HappyHorse: 480P/720P/1080P. Google Omni: 360p/720p. |
| `image / first_frame_image / image_urls` | string / array | opcjonalny | Pola obrazów źródłowych zależą od rodziny i trybu. MiniMax Fast wymaga first\_frame\_image. HappyHorse t2v — bez images, i2v — dokładnie jeden obraz bez ratio, r2v — 1–9 obrazów. |

Odpowiedź zawiera identyfikator zadania (pole `id` lub `request_id`). Użyj go bez zmian, bez analizowania jego budowy: format zależy od modelu. Status i gotowy plik:

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

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

Te same adresy działają również z prefiksem `/v1/videos/generations/{id}`. Status gotowego zadania i zestaw pól odpowiedzi zależą od modelu — kieruj się polem statusu i pobierz plik przez `/content`.

## Utworzenie → status → pobranie

Zachowaj odpowiedź utworzenia i jej Request ID. Dla MiniMax/HappyHorse gotowość — `status: completed`, odpowiedź zawiera `content_url`, `data[]` i usage. Dla Grok — `status: done` z `video.url`. Google Omni zwraca 202 queued, potem in\_progress z Retry-After, completed albo partial/content\_revoked. Nie traktuj każdego 200 jako gotowego wideo. Jeśli odpowiedź statusu zawiera `result_pending_check: true` (`status` ma przy tym wartość `in_progress`), wynik jest weryfikowany. Nie twórz zadania ponownie — sprawdź je później przez GET /v1/videos/{id} albo skontaktuj się ze wsparciem, podając Request ID.

`/content` może zwrócić MP4 bezpośrednio lub przekierowanie do podpisanego pliku. Jeśli odpowiedź zawiera wiele wyników w `data[]`, zapisz każdy: opłata jest pobierana za wszystkie dostarczone wyniki. Nie można anulować ani usunąć zadania wideo przez API. Usunięcie gotowego pliku zamyka dostęp do niego, ale nie anuluje generowania.

Opłata — za sekundy gotowego wideo w wybranej rozdzielczości lub za klip, zgodnie z katalogiem. Pełny koszt jest rezerwowany przy tworzeniu zadania.

## Muzyka

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

| Parametr | Typ | Wymagany | Opis |
| --- | --- | --- | --- |
| `model` | string | wymagany | `google/lyria`, `google/lyria-3-clip-preview`. |
| `prompt` | string | wymagany | Opis utworu: gatunek, instrumenty, nastrój. |

W odpowiedzi `data[]` — linki do gotowych klipów. W jednym żądaniu model może zwrócić kilka klipów; opłata jest pobierana za każdy dostarczony.

Nie wysyłaj ponownie żądania wideo lub muzyki, jeśli połączenie zostało przerwane: zadanie mogło już się rozpocząć. Najpierw sprawdź status według identyfikatora albo skontaktuj się ze wsparciem, podając Request ID.

Dodatkowe pytania? Prześlij Request ID i opis — pomożemy wyjaśnić sprawę.[Napisz do wsparcia](mailto:support@ailoot.ai)

## Ailoot · Firma i jej portfel projektów





Ailoot opiera się na zgromadzonym doświadczeniu operacyjnym, szerokiej bazie klientów, stabilnej usłudze i stałej kontroli KPI.





Firma i jej portfel projektów: miliony klientów; miesięczna sprzedaż liczona w miliardach.





Ailoot wykorzystuje to doświadczenie operacyjne, zapewniając dostęp przez API do funkcji AI w produktach klientów, agentach, aplikacjach i automatyzacjach.
