Videó és zene
MarkdownVideók és zene generálása: a kérés feladatot hoz létre, az eredmény az azonosítójával kérhető le.
Teljes útmutató
https://api.ailoot.ai/v1/videos# Őrizze meg a Request ID értékét: a támogatás ez alapján találja meg a kérését.
# A feladatot egyszer hozza létre; az alábbi ciklus csak az állapotát olvassa.
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":"egy csendes tó","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=""
# Ez a ciklus csak az eredeti feladatot olvassa. Soha nem küldi újra a létrehozási kérést.
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 (az állapot in_progress marad): az eredmény ellenőrzés alatt áll. Álljon meg; ne hozza létre újra a feladatot.
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 vagy bármely más állapot: jelenítse meg, majd álljon meg. Ne hozza létre újra a feladatot.
*) 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
# A létrehozási kérés időtúllépése után ellenőrizze a Request ID értékét a használati előzményekben, mielőtt újra futtatja ezt a szkriptet.curl https://api.ailoot.ai/v1/music/generations \
-H "Authorization: Bearer $AILOOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "google/lyria", "prompt": "Nyugodt zongora- és csellózene, ének nélkül"}' // A feladat azonosítója az id vagy request_id mezőben található
{ "id": "…", … }
// A formátum a modelltől függ: az azonosítót
// a létrehozás válaszából változtatás nélkül vegye át.Hitelesítés
- Authorizationheaderkötelező
A kulcs formátuma
Bearer sk-…. A következő fejlécek is használhatók:x-api-keyvagyx-goog-api-key.
Videó: a kérés törzse
- modelstringkötelező
Videómodell:
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. - promptstringkötelező
A videó leírása.
- duration / secondsinteger / stringnem kötelező
A modellcsaládtól függ: Grok 1–15 másodperc, MiniMax 6/10 768P-nél vagy 6 1080P-nél, HappyHorse 3–15; Google Omni 4/6/8/10. Egy modellcsalád mezőjét ne használja egy másiknál.
- resolution / sizestringnem kötelező
Grok: 480p/720p/1080p (1080p a video-1.5 esetén), vagy size 1280x720/720x1280/1920x1080/1080x1920. MiniMax: 768P/1080P. HappyHorse: 480P/720P/1080P. Google Omni: 360p/720p.
- image / first_frame_image / image_urlsstring / arraynem kötelező
A forrásképek mezői a modellcsaládtól és a módtól függenek. A MiniMax Fast megköveteli a first_frame_image mezőt. HappyHorse t2v — images nélkül, i2v — pontosan egy kép ratio nélkül, r2v — 1–9 kép.
A válasz tartalmazza a feladat azonosítóját (a id vagy request_idmezőben). Használja változatlanul, feldolgozás nélkül: a formátum modellenként eltér. Állapot és elkészült fájl:
https://api.ailoot.ai/v1/videos/{id}https://api.ailoot.ai/v1/videos/{id}/contentUgyanezek a címek ezzel az előtaggal is működnek: /v1/videos/generations/{id}. Az elkészült feladat állapota és a válaszmezők köre modellenként eltér — figyelje az állapotmezőt, és a fájlt ezen keresztül kérje le: /content.
Létrehozás → állapot → letöltés
Mentse a létrehozási választ és annak Request ID-jét. MiniMax/HappyHorse esetén az elkészült állapot: status: completed, a válasz tartalmazza a következőket: content_url, data[] és usage. Grok esetén: status: done a következővel: video.url. A Google Omni 202 queued választ ad, majd in_progress állapotot Retry-After fejléccel, végül completed vagy partial/content_revoked állapotot. Ne tekintsen minden 200-as választ kész videónak. Ha az állapotválaszban szerepel a result_pending_check: true (status ekkor in_progress), az eredmény tisztázása folyamatban van. Ne hozza létre újra a feladatot — később ellenőrizze a GET /v1/videos/{id} útvonalon, vagy írjon a támogatásnak a Request ID megadásával.
/content közvetlenül MP4-et vagy egy aláírt fájlra irányító átirányítást adhat vissza. Ha a válasz több eredményt tartalmaz a data[]tömbben, mindegyiket mentse el: minden átadott eredmény díjköteles. Videófeladatot az API-n keresztül nem lehet megszakítani vagy törölni. Az elkészült fájl törlése megszünteti a hozzáférést, de a generálást nem vonja vissza.
A díjat az elkészült videó másodpercei alapján, a kiválasztott felbontás szerint, vagy videónként számítjuk fel, a katalógusban megadottak szerint. A teljes költséget a feladat létrehozásakor zároljuk.
Zene
https://api.ailoot.ai/v1/music/generations- modelstringkötelező
google/lyria,google/lyria-3-clip-preview. - promptstringkötelező
A zeneszám leírása: műfaj, hangszerek, hangulat.
A válaszban a data[] az elkészült klipekre mutató hivatkozásokat tartalmazza. Egy kérésre a modell több klipet is visszaadhat; minden átadott klip díjköteles.