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

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

# Video ja musiikki

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

Videoiden ja musiikin generointi: pyyntö luo tehtävän, ja tulos haetaan sen tunnisteella.

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

Video ja musiikki

```bash
# Säilytä Request ID: tuki käyttää sitä pyyntösi löytämiseen.
# Luo tehtävä vain kerran; alla oleva silmukka lukee vain sen tilan.
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":"tyyni järvi","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=""
# Tämä silmukka lukee vain alkuperäisen tehtävän tilan. Se ei koskaan lähetä luontipyyntöä uudelleen.
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 (tila pysyy arvossa in_progress): tulosta tarkistetaan. Pysähdy; älä koskaan luo tehtävää uudelleen.
  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 tai mikä tahansa muu tila: näytä se ja pysähdy. Älä koskaan luo tehtävää uudelleen.
    *) 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
# Tarkista luontipyynnön aikakatkaisun jälkeen Request ID käyttöhistoriastasi ennen tämän skriptin suorittamista uudelleen.
```

```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": "Rauhallista pianoa ja selloa, ei laulua"}' 
```

Vastaus · lyhennetty

```json
// Tehtävän tunniste on kentässä id tai request_id
{ "id": "…", … }

// Muoto riippuu mallista: käytä tunnistetta
// luontipyynnön vastauksesta sellaisenaan.
```

## Todennus

| Parametri | Tyyppi | Pakollinen | Kuvaus |
| --- | --- | --- | --- |
| `Authorization` | header | pakollinen | Avain muodossa `Bearer sk-…`. Myös seuraavat otsakkeet käyvät: `x-api-key` tai `x-goog-api-key`. |

## Video: pyynnön runko

| Parametri | Tyyppi | Pakollinen | Kuvaus |
| --- | --- | --- | --- |
| `model` | string | pakollinen | Videomalli: `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 | pakollinen | Videon kuvaus. |
| `duration / seconds` | integer / string | valinnainen | Riippuu malliperheestä: Grok 1–15 sekuntia, MiniMax 6/10 resoluutiolla 768P tai 6 resoluutiolla 1080P, HappyHorse 3–15; Google Omni 4/6/8/10. Älä siirrä yhden perheen kenttää toiseen. |
| `resolution / size` | string | valinnainen | Grok: 480p/720p/1080p (1080p mallilla video-1.5), tai size 1280x720/720x1280/1920x1080/1080x1920. MiniMax: 768P/1080P. HappyHorse: 480P/720P/1080P. Google Omni: 360p/720p. |
| `image / first_frame_image / image_urls` | string / array | valinnainen | Lähdekuvien kentät riippuvat malliperheestä ja tilasta. MiniMax Fast vaatii first\_frame\_image-kentän. HappyHorse t2v — ilman images-kenttää, i2v — täsmälleen yksi kuva ilman ratio-kenttää, r2v — 1–9 kuvaa. |

Vastaus sisältää tehtävän tunnisteen (kenttä `id` tai `request_id`). Käytä sitä sellaisenaan tulkitsematta: muoto riippuu mallista. Tila ja valmis tiedosto:

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

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

Samat osoitteet toimivat myös etuliitteellä `/v1/videos/generations/{id}`. Valmiin tehtävän tila ja vastauskentät riippuvat mallista — seuraa tilakenttää ja hae tiedosto metodilla `/content`.

## Luonti → tila → lataus

Tallenna luontivastaus ja sen Request ID. MiniMax/HappyHorse on valmis tilassa `status: completed`, vastaus sisältää `content_url`, `data[]` ja usage-tiedot. Grokilla — `status: done` kentällä `video.url`. Google Omni palauttaa 202 queued, sitten in\_progress ja Retry-After, completed tai partial/content\_revoked. Älä pidä mitä tahansa 200-vastausta valmiina videona. Jos tilavastauksessa on `result_pending_check: true` (`status` on samalla `in_progress`), tulosta selvitetään. Älä luo tehtävää uudelleen — tarkista se myöhemmin metodilla GET /v1/videos/{id} tai ota yhteyttä tukeen Request ID:n kanssa.

`/content` voi palauttaa MP4:n suoraan tai redirect-vastauksen allekirjoitettuun tiedostoon. Jos vastauksessa on useita tuloksia kentässä `data[]`, tallenna jokainen: kaikista toimitetuista tuloksista veloitetaan. Videotehtävää ei voi peruuttaa tai poistaa APIn kautta. Valmiin tiedoston poistaminen sulkee pääsyn siihen, mutta ei peruuta generointia.

Maksu määräytyy valmiin videon sekuntien mukaan valitussa resoluutiossa tai videokohtaisesti, kuten luettelossa ilmoitetaan. Koko hinta varataan tehtävää luotaessa.

## Musiikki

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

| Parametri | Tyyppi | Pakollinen | Kuvaus |
| --- | --- | --- | --- |
| `model` | string | pakollinen | `google/lyria`, `google/lyria-3-clip-preview`. |
| `prompt` | string | pakollinen | Kappaleen kuvaus: genre, soittimet ja tunnelma. |

Vastauksessa `data[]` — linkit valmiisiin klippeihin. Malli voi palauttaa yhdestä pyynnöstä useita klippejä; jokaisesta toimitetusta veloitetaan.

Älä lähetä video- tai musiikkipyyntöä uudelleen, jos yhteys katkesi: tehtävä on voinut jo käynnistyä. Tarkista ensin tila tunnisteella tai ota yhteyttä tukeen Request ID:n kanssa.

Onko vielä kysyttävää? Lähetä Request ID ja kuvaus — autamme selvittämään asian.[Ota yhteyttä tukeen](mailto:support@ailoot.ai)

## Ailoot · Yritys ja sen projektisalkku





Ailoot perustuu kertyneeseen toimintakokemukseen, laajaan asiakaskuntaan, vakaaseen palveluun ja jatkuvaan KPI-seurantaan.





Yritys ja sen projektisalkku: miljoonia asiakkaita; kuukausittainen myynti miljardiluokassa.





Ailoot hyödyntää tätä toimintakokemusta tarjotessaan API-yhteyden tekoälytoimintoihin asiakkaiden tuotteissa, agenteissa, sovelluksissa ja automaatioissa.
