dokumentasi
API

Video dan muzik

Markdown

Penjanaan video dan muzik: permintaan mencipta tugasan, dan hasil diambil menggunakan pengecamnya.

Panduan lengkap
POSThttps://api.ailoot.ai/v1/videos
Video dan muzik
# Simpan Request ID: pasukan sokongan menggunakannya untuk mencari permintaan anda.
# Cipta tugas sekali sahaja; gelung di bawah hanya membaca statusnya.
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":"tasik yang tenang","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=""
# Gelung ini hanya membaca tugas asal. Ia tidak pernah menghantar semula permintaan penciptaan.
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 kekal in_progress): hasil sedang disemak. Berhenti; jangan cipta tugas itu lagi.
  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 atau sebarang status lain: paparkan status itu dan berhenti. Jangan cipta tugas itu lagi.
    *) 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
# Selepas penciptaan tamat masa, semak Request ID dalam sejarah penggunaan anda sebelum menjalankan skrip ini semula.
Respons · dipendekkan
// Pengecam tugas terdapat dalam medan id atau request_id
{ "id": "…", … }

// Format bergantung pada model: ambil pengecam
// daripada respons penciptaan tanpa perubahan.

Pengesahan

  • Authorizationheaderwajib

    Kunci dalam bentuk Bearer sk-…. Pengepala berikut juga boleh digunakan x-api-key atau x-goog-api-key.

Video: badan permintaan

  • modelstringwajib

    Model video: 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.

  • promptstringwajib

    Penerangan video.

  • duration / secondsinteger / stringpilihan

    Bergantung pada keluarga model: Grok 1–15 saat, MiniMax 6/10 pada 768P atau 6 pada 1080P, HappyHorse 3–15; Google Omni 4/6/8/10. Jangan gunakan medan satu keluarga model untuk keluarga yang lain.

  • resolution / sizestringpilihan

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

  • image / first_frame_image / image_urlsstring / arraypilihan

    Medan imej sumber bergantung pada keluarga model dan mod. MiniMax Fast memerlukan first_frame_image. HappyHorse t2v — tanpa images, i2v — tepat satu imej tanpa ratio, r2v — 1–9 imej.

Respons mengandungi pengecam tugasan (medan id atau request_id). Gunakannya tanpa perubahan dan tanpa menghuraikannya: format bergantung pada model. Status dan fail yang siap:

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

Alamat yang sama juga berfungsi dengan awalan /v1/videos/generations/{id}. Status tugasan yang siap dan set medan respons bergantung pada model — rujuk medan status dan ambil fail melalui /content.

Cipta → status → muat turun

Simpan respons penciptaan dan Request ID-nya. Untuk MiniMax/HappyHorse, status siap ialah status: completed, respons mengandungi content_url, data[] dan usage. Untuk Grok — status: done dengan video.url. Google Omni mengembalikan 202 queued, kemudian in_progress dengan Retry-After, completed atau partial/content_revoked. Jangan anggap setiap 200 sebagai video yang siap. Jika respons status mengandungi result_pending_check: true (status dengan status in_progress), hasil sedang diperiksa. Jangan cipta tugasan itu semula — semak kemudian melalui GET /v1/videos/{id} atau hubungi sokongan dengan Request ID.

/content boleh mengembalikan MP4 secara langsung atau mengubah hala ke fail dengan pautan bertandatangan. Jika respons mengandungi beberapa hasil dalam data[], simpan semuanya: semua hasil yang dihantar dicaj. Tugasan video tidak boleh dibatalkan atau dipadam melalui API. Memadam fail yang siap menutup akses kepadanya, tetapi tidak membatalkan penjanaan.

Bayaran dikira bagi setiap saat video yang siap pada resolusi yang dipilih atau bagi setiap video, seperti yang dinyatakan dalam katalog. Kos penuh dirizabkan semasa tugasan dicipta.

Muzik

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

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

  • promptstringwajib

    Penerangan trek: genre, alat muzik, suasana.

Dalam respons data[] — pautan ke klip yang siap. Model boleh mengembalikan beberapa klip bagi satu permintaan; setiap klip yang dihantar dicaj.

Masih ada soalan? Hantar Request ID dan penerangannya — kami akan membantu menyiasatnya.Hubungi sokongan