Vaizdo įrašai ir muzika
MarkdownVaizdo įrašų ir muzikos generavimas: užklausa sukuria užduotį, o rezultatas gaunamas pagal jos identifikatorių.
Visas vadovas
https://api.ailoot.ai/v1/videos# 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.curl https://api.ailoot.ai/v1/music/generations \
-H "Authorization: Bearer $AILOOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "google/lyria", "prompt": "Rami fortepijono ir violončelės muzika, be vokalo"}' // 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ėsx-api-keyarbax-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:
https://api.ailoot.ai/v1/videos/{id}https://api.ailoot.ai/v1/videos/{id}/contentTie 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
https://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.