dokumentation
API

Video og musik

Markdown

Generering af videoer og musik: anmodningen opretter en opgave, og resultatet hentes via dens identifikator.

Komplet guide
POSThttps://api.ailoot.ai/v1/videos
Video og musik
# 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.
Svar · forkortet
// 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-key eller x-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:

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

De 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

POSThttps://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.

Har du stadig spørgsmål? Send Request ID og en beskrivelse — så hjælper vi med at finde ud af det.Kontakt support