docs
API

Vaizdo įrašai ir muzika

Markdown

Vaizdo įrašų ir muzikos generavimas: užklausa sukuria užduotį, o rezultatas gaunamas pagal jos identifikatorių.

Visas vadovas
POSThttps://api.ailoot.ai/v1/videos
Vaizdo įrašai ir muzika
# Išsaugokite Request ID: pagal jį pagalbos komanda suras jūsų užklausą.
# Užduotį sukurkite vieną kartą; toliau pateiktas ciklas tik tikrina jos būseną.
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":"ramus ežeras","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=""
# Šis ciklas tik tikrina pradinę užduotį. Jis niekada pakartotinai nesiunčia užklausos jai sukurti.
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 lieka in_progress): rezultatas tikrinamas. Sustokite; niekada nekurkite užduoties iš naujo.
  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 arba bet kuri kita būsena: parodykite ją ir sustokite. Niekada nekurkite užduoties iš naujo.
    *) 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
# Jei kuriant užduotį baigėsi laukimo laikas, prieš dar kartą paleisdami šį scenarijų naudojimo istorijoje patikrinkite Request ID.
Atsakymas · sutrumpinta
// Užduoties identifikatorius yra lauke id arba request_id
{ "id": "…", … }

// Formatas priklauso nuo modelio: identifikatorių paimkite
// iš atsakymo į sukūrimo užklausą jo nekeisdami.

Autorizacija

  • Authorizationheaderprivalomas

    Raktas formatu Bearer sk-…. Taip pat tinka antraštės x-api-key arba x-goog-api-key.

Vaizdo įrašai: užklausos turinys

  • modelstringprivalomas

    Vaizdo įrašų modelis: 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.

  • promptstringprivalomas

    Vaizdo įrašo aprašymas.

  • duration / secondsinteger / stringneprivalomas

    Priklauso nuo šeimos: Grok — 1–15 sekundžių, MiniMax — 6/10 su 768P arba 6 su 1080P, HappyHorse — 3–15; Google Omni — 4/6/8/10. Neperkelkite vienos šeimos lauko į kitą.

  • resolution / sizestringneprivalomas

    Grok: 480p/720p/1080p (1080p — video-1.5), arba size 1280x720/720x1280/1920x1080/1080x1920. MiniMax: 768P/1080P. HappyHorse: 480P/720P/1080P. Google Omni: 360p/720p.

  • image / first_frame_image / image_urlsstring / arrayneprivalomas

    Pradinių vaizdų laukai priklauso nuo šeimos ir režimo. MiniMax Fast reikalauja first_frame_image. HappyHorse t2v — be images, i2v — tiksliai vienas vaizdas be ratio, r2v — 1–9 vaizdai.

Atsakyme pateikiamas užduoties identifikatorius (laukas id arba request_id). Naudokite jį nepakeistą, neanalizuodami: formatas priklauso nuo modelio. Būsena ir paruoštas failas:

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

Tie patys adresai veikia ir su prefiksu /v1/videos/generations/{id}. Baigtos užduoties būsena ir atsakymo laukų rinkinys priklauso nuo modelio — remkitės būsenos lauku ir gaukite failą per /content.

Sukūrimas → būsena → atsisiuntimas

Išsaugokite sukūrimo atsakymą ir jo Request ID. MiniMax/HappyHorse atveju parengtį reiškia status: completed, atsakyme yra content_url, data[] ir usage. Grok atveju — status: done su video.url. Google Omni grąžina 202 queued, tada in_progress su Retry-After, completed arba partial/content_revoked. Nelaikykite kiekvieno 200 paruoštu vaizdo įrašu. Jei būsenos atsakyme yra result_pending_check: true (status tuo metu yra in_progress), rezultatas tikslinamas. Nekurkite užduoties iš naujo — patikrinkite ją vėliau per GET /v1/videos/{id} arba parašykite pagalbos tarnybai, nurodydami Request ID.

/content gali grąžinti MP4 tiesiogiai arba peradresuoti į pasirašytą failą. Jei atsakyme yra keli rezultatai lauke data[], išsaugokite kiekvieną: apmokestinami visi pristatyti rezultatai. Atšaukti ar ištrinti vaizdo užduoties per API negalima. Ištrynus paruoštą failą nebegalima jo pasiekti, tačiau generavimas neatšaukiamas.

Mokama už paruošto vaizdo įrašo sekundes pasirinkta raiška arba už įrašą, kaip nurodyta kataloge. Visa kaina rezervuojama kuriant užduotį.

Muzika

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

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

  • promptstringprivalomas

    Kūrinio aprašymas: žanras, instrumentai, nuotaika.

Atsakyme data[] — nuorodos į paruoštus klipus. Viena užklausa modelis gali grąžinti kelis klipus; apmokestinamas kiekvienas pristatytas klipas.

Liko klausimų? Atsiųskite Request ID ir aprašymą — padėsime išsiaiškinti.Rašyti pagalbos tarnybai