hujjatlar
API

Video va musiqa

Markdown

Video va musiqa generatsiyasi: so‘rov topshiriq yaratadi, natija esa uning identifikatori orqali olinadi.

To‘liq qo‘llanma
POSThttps://api.ailoot.ai/v1/videos
Video va musiqa
# Request ID ni saqlang: yordam xizmati so‘rovingizni shu identifikator orqali topadi.
# Topshiriqni bir marta yarating; quyidagi sikl faqat uning holatini o‘qiydi.
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":"osoyishta ko‘l","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=""
# Bu sikl faqat asl topshiriqni o‘qiydi. Yaratish so‘rovini hech qachon qayta yubormaydi.
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 (holat in_progress bo‘lib qoladi): natija tekshirilmoqda. To‘xtang; topshiriqni hech qachon qayta yaratmang.
  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 yoki boshqa istalgan holat: uni ko‘rsating va to‘xtang. Topshiriqni hech qachon qayta yaratmang.
    *) 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
# Yaratish so‘rovining kutish vaqti tugasa, bu skriptni qayta ishga tushirishdan oldin foydalanish tarixidagi Request ID ni tekshiring.
Javob · qisqartirilgan
// Topshiriq identifikatori id yoki request_id maydonida
{ "id": "…", … }

// Format modelga bog‘liq: identifikatorni
// yaratish javobidan aynan berilganidek oling.

Avtorizatsiya

  • Authorizationheadermajburiy

    Kalit quyidagi ko‘rinishda: Bearer sk-…. Quyidagi sarlavhalar ham mos keladi: x-api-key yoki x-goog-api-key.

Video: so‘rov tanasi

  • modelstringmajburiy

    Video modeli: 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.

  • promptstringmajburiy

    Video tavsifi.

  • duration / secondsinteger / stringixtiyoriy

    Model oilasiga bog‘liq: Grok — 1–15 soniya, MiniMax — 768P’da 6/10 yoki 1080P’da 6, HappyHorse — 3–15; Google Omni — 4/6/8/10. Bir oilaning maydonini boshqasiga ko‘chirmang.

  • resolution / sizestringixtiyoriy

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

  • image / first_frame_image / image_urlsstring / arrayixtiyoriy

    Boshlang‘ich rasmlar maydonlari model oilasi va rejimiga bog‘liq. MiniMax Fast first_frame_image talab qiladi. HappyHorse t2v — images’siz, i2v — ratio’siz aynan bitta rasm, r2v — 1–9 ta rasm.

Javob topshiriq identifikatorini o‘z ichiga oladi (quyidagi maydon: id yoki request_id). Uni tahlil qilmasdan o‘z holicha ishlating: format modelga bog‘liq. Status va tayyor fayl:

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

Shu manzillar quyidagi prefiks bilan ham ishlaydi: /v1/videos/generations/{id}. Tayyor topshiriq statusi va javob maydonlari modelga bog‘liq — status maydoniga qarang va faylni quyidagi yo‘l orqali oling: /content.

Yaratish → status → yuklab olish

Yaratish javobini va uning Request ID’sini saqlang. MiniMax/HappyHorse uchun tayyorlik — status: completed, javob quyidagini o‘z ichiga oladi: content_url, data[] va usage. Grok uchun — status: done quyidagiga ega: video.url. Google Omni avval 202 queued, keyin Retry-After bilan in_progress, completed yoki partial/content_revoked qaytaradi. Har qanday 200 javobni tayyor video deb hisoblamang. Status javobida quyidagisi bo‘lsa: result_pending_check: true (status bunda in_progress), natija aniqlashtirilmoqda. Topshiriqni yangidan yaratmang — keyinroq GET /v1/videos/{id} orqali tekshiring yoki Request ID bilan yordam xizmatiga yozing.

/content MP4’ni bevosita yoki imzolangan faylga redirect qaytarishi mumkin. Javobda bir nechta natija quyidagi massivda bo‘lsa: data[], har birini saqlang: yetkazilgan barcha natijalar uchun to‘lov olinadi. API orqali videotopshiriqni bekor qilish yoki o‘chirish mumkin emas. Tayyor faylni o‘chirish unga kirishni yopadi, ammo generatsiyani bekor qilmaydi.

To‘lov — katalogda ko‘rsatilganidek, tanlangan aniqlikdagi tayyor video soniyalari yoki bitta video uchun. To‘liq narx topshiriq yaratilganda zaxiralanadi.

Musiqa

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

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

  • promptstringmajburiy

    Trek tavsifi: janr, cholg‘ular, kayfiyat.

Javobdagi data[] — tayyor kliplarga havolalar. Bitta so‘rovga model bir nechta klip qaytarishi mumkin; har bir yetkazilgan klip uchun to‘lov olinadi.

Savollaringiz qoldimi? Request ID va tavsifni yuboring — tushunishga yordam beramiz.Yordam xizmatiga yozish