dokumentaatio
API

Video ja musiikki

Markdown

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

Koko opas
POSThttps://api.ailoot.ai/v1/videos
Video ja musiikki
# 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.
Vastaus · lyhennetty
// Tehtävän tunniste on kentässä id tai request_id
{ "id": "…", … }

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

Todennus

  • Authorizationheaderpakollinen

    Avain muodossa Bearer sk-…. Myös seuraavat otsakkeet käyvät: x-api-key tai x-goog-api-key.

Video: pyynnön runko

  • modelstringpakollinen

    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.

  • promptstringpakollinen

    Videon kuvaus.

  • duration / secondsinteger / stringvalinnainen

    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 / sizestringvalinnainen

    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_urlsstring / arrayvalinnainen

    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:

GEThttps://api.ailoot.ai/v1/videos/{id}
GEThttps://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

POSThttps://api.ailoot.ai/v1/music/generations
  • modelstringpakollinen

    google/lyria, google/lyria-3-clip-preview.

  • promptstringpakollinen

    Kappaleen kuvaus: genre, soittimet ja tunnelma.

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

Onko vielä kysyttävää? Lähetä Request ID ja kuvaus — autamme selvittämään asian.Ota yhteyttä tukeen