Video og musik
MarkdownGenerering af videoer og musik: anmodningen opretter en opgave, og resultatet hentes via dens identifikator.
Komplet guide
https://api.ailoot.ai/v1/videos# Gem Request ID: support bruger det til at finde din anmodning.
# Opret jobbet én gang; løkken nedenfor læser kun dets status.
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":"en rolig sø","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=""
# Denne løkke læser kun det oprindelige job. Den sender aldrig oprettelsesanmodningen igen.
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 forbliver in_progress): resultatet kontrolleres. Stop; opret aldrig jobbet igen.
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 eller enhver anden status: vis den og stop. Opret aldrig jobbet igen.
*) 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
# Efter en timeout ved oprettelse skal du kontrollere Request ID i din forbrugshistorik, før du kører dette script igen.curl https://api.ailoot.ai/v1/music/generations \
-H "Authorization: Bearer $AILOOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "google/lyria", "prompt": "Roligt klaver og cello, uden vokal"}' // Opgavens identifikator findes i feltet id eller request_id
{ "id": "…", … }
// Formatet afhænger af modellen: brug identifikatoren
// fra svaret på oprettelsen uændret.Godkendelse
- Authorizationheaderpåkrævet
Nøgle i formatet
Bearer sk-…. Følgende headers kan også bruges:x-api-keyellerx-goog-api-key.
Video: anmodningens indhold
- modelstringpåkrævet
Videomodel:
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. - promptstringpåkrævet
Beskrivelse af videoen.
- duration / secondsinteger / stringvalgfrit
Afhænger af familien: Grok 1–15 sekunder, MiniMax 6/10 ved 768P eller 6 ved 1080P, HappyHorse 3–15; Google Omni 4/6/8/10. Brug ikke et felt fra én familie i en anden.
- resolution / sizestringvalgfrit
Grok: 480p/720p/1080p (1080p for video-1.5), eller size 1280x720/720x1280/1920x1080/1080x1920. MiniMax: 768P/1080P. HappyHorse: 480P/720P/1080P. Google Omni: 360p/720p.
- image / first_frame_image / image_urlsstring / arrayvalgfrit
Felterne til kildebilleder afhænger af familien og tilstanden. MiniMax Fast kræver first_frame_image. HappyHorse t2v — uden images, i2v — præcis ét billede uden ratio, r2v — 1–9 billeder.
Svaret indeholder opgavens identifikator (feltet id eller request_id). Brug den uændret uden at fortolke den: formatet afhænger af modellen. Status og færdig fil:
https://api.ailoot.ai/v1/videos/{id}https://api.ailoot.ai/v1/videos/{id}/contentDe samme adresser virker også med præfikset /v1/videos/generations/{id}. Status for en færdig opgave og svarfelterne afhænger af modellen — brug statusfeltet som vejledning, og hent filen via /content.
Oprettelse → status → download
Gem svaret fra oprettelsen og dets Request ID. For MiniMax/HappyHorse er opgaven færdig ved status: completed, svaret indeholder content_url, data[] og usage. For Grok — status: done med video.url. Google Omni returnerer 202 queued, derefter in_progress med Retry-After, completed eller partial/content_revoked. Betragt ikke ethvert 200-svar som en færdig video. Hvis statussvaret indeholder result_pending_check: true (status er samtidig in_progress), er resultatet ved at blive afklaret. Opret ikke opgaven igen — kontrollér den senere via GET /v1/videos/{id}, eller kontakt support med Request ID.
/content kan returnere MP4 direkte eller redirect til en signeret fil. Hvis svaret indeholder flere resultater i data[], skal du gemme dem alle: alle leverede resultater betales. En videoopgave kan ikke annulleres eller slettes via API'et. Sletning af den færdige fil fjerner adgangen til den, men annullerer ikke genereringen.
Betalingen beregnes pr. sekund færdig video i den valgte opløsning eller pr. video, som angivet i kataloget. Hele prisen reserveres, når opgaven oprettes.
Musik
https://api.ailoot.ai/v1/music/generations- modelstringpåkrævet
google/lyria,google/lyria-3-clip-preview. - promptstringpåkrævet
Beskrivelse af nummeret: genre, instrumenter og stemning.
I svaret er data[] — links til færdige klip. Modellen kan returnere flere klip i én anmodning; hvert leveret klip betales.