modellar

happyhorse-1.1-i2v

Markdown · JSON

happyhorse-1.1-i2v

Tasvirni jonlantirish modeli: boshlang‘ich rasm birinchi kadrni belgilaydi, tavsif esa keyingi harakatni yo‘naltiradi. Ovoz qo‘shish imkoniyati bilan qisqa videorolik yaratadi.

Model haqida

Bu tavsif model imkoniyatlarini yoritadi. Ailoot da tanlangan usul uchun mavjud kirish, chiqish va parametrlar quyida keltirilgan.

HappyHorse-1.1-I2V — Alibaba modeli bo‘lib, videosahnani tayyor tasvirdan boshlaydi. Rasm birinchi kadrga aylanadi, matn esa keyingi voqealarni: qahramon harakati, sahnadagi o‘zgarishlar va kamera yo‘nalishini belgilashi mumkin. Bu illyustratsiya, buyum fotosurati yoki oldindan tayyorlangan vizual g‘oyani jonlantirish uchun mos keladi.

Matnli tavsif majburiy emas. U berilmasa, model boshlang‘ich rasm mazmunidan kelib chiqib, mumkin bo‘lgan harakatni o‘zi tanlaydi. Topshiriq aniq berilganda, boshlang‘ich tasvir kompozitsiya va obyektlar ko‘rinishini belgilaydi, so‘zlar esa sahnaning vaqt davomida rivojlanishini yo‘naltiradi.

Birinchi kadrdan harakatga

Alibaba personaj ko‘rinishini saqlash, vizual uyg‘unlik, ravon harakat va tasvir bilan ovozning birga yaratilishini alohida ta’kidlaydi. E’lon qilingan yo‘nalishlar orasida yozuvlar va sirt fakturalarining barqarorligi ham bor. Bu xususiyatlar modelning ko‘zlangan imkoniyatlarini ifodalaydi va yaratilgan barcha kadrlarda har bir piksel aynan saqlanishini anglatmaydi.

Bu rejimda bitta boshlang‘ich tasvir ishlatiladi. U yangi kompozitsiya uchun bir nechta mustaqil namuna emas, boshlang‘ich sahnani belgilaydi. Aynan shu versiyada alohida yakuniy kadrni belgilash imkoniyati e’lon qilinmagan.

JPEG, JPG, PNG va WEBP qabul qilinadi. Kiruvchi tasvirning har bir tomoni kamida 300 piksel bo‘lishi kerak; ruxsat etilgan tomonlar nisbati — 1:2,5 dan 2,5:1 gacha, fayl hajmi — 20 MB gacha. Tayyor videoning tomonlar nisbati birinchi kadrga mos bo‘ladi.

Rolik parametrlari

Davomiylik 3 dan 15 soniyagacha bo‘lgan butun son bilan tanlanadi. 480P, 720P va 1080P aniqlik darajalari mavjud; chiqish formati — MP4, kadrlar tezligi — soniyasiga 24 kadr. Video bilan birga ovozli yo‘lak yaratish qo‘llab-quvvatlanadi.

Tavsif istalgan tilda bo‘lishi mumkin va xitoycha bo‘lmagan 5000 tagacha yoki xitoycha 2500 tagacha belgini sig‘diradi. Chegara oshirilsa, ortiqcha qism tashlab yuboriladi, shuning uchun muhim harakatlar va ularning xususiyatlarini topshiriq chegarasi ichida ifodalash kerak. Bir xil boshlang‘ich tasodifiylik urug‘i o‘xshash roliklar berishi mumkin, lekin ularning kadrma-kadr aynan mos tushishini kafolatlamaydi.

Ailoot · Video yaratish POST /v1/videos/generations happyhorse-1.1-i2v

happyhorse-1.1-i2v

Alibaba /happyhorse-1.1-i2v
Model ID
  • happyhorse-1.1-i2v
  • happyhorse-i2v
  • happyhorse-i2v-latest

Boshlash

Tasvirni jonlantirish modeli: boshlang‘ich rasm birinchi kadrni belgilaydi, tavsif esa keyingi harakatni yo‘naltiradi. Ovoz qo‘shish imkoniyati bilan qisqa videorolik yaratadi.

Qabul qilinadigan kirish ma’lumotlari
Matn · Rasmlar
Natijalar
Video

Ailoot da mavjud · kirish ma’lumotlari va usullar

Ailoot · Video yaratish POST /v1/videos/generations
Kirish
text, image
Chiqish
video
Chiqish formati
mp4
MaydonTurTalabQiymatlar va cheklovlarStandart
MaydonmodelTurstringTalabMajburiyQiymatlar va cheklovlar
happyhorse-1.1-i2v
Standart—
MaydonpromptTurstringTalabIxtiyoriyQiymatlar va cheklovlar
Eng kam uzunlik: 1
Standart—
MaydondurationTurintegerTalabIxtiyoriyQiymatlar va cheklovlar
Eng kam: 3
Eng ko‘p: 15
Birlik: soniya
Standart5
MaydonresolutionTurstringTalabIxtiyoriyQiymatlar va cheklovlar
480P, 720P, 1080P
Standart720P
MaydonratioTurstringTalabQo‘llab-quvvatlanmaydiQiymatlar va cheklovlarStandart—
Maydonimage_urlsTurhttps_url|data_image_url[]TalabMajburiyQiymatlar va cheklovlar
Elementlarning eng kam soni: 1
Elementlarning eng ko‘p soni: 1
Dekodlangan baytlarning eng ko‘p soni: 20 971 520
MIME turlari: image/jpeg, image/png, image/webp
Standart—
Kirish materiallari birikmalari

first_frame_to_video · Majburiy: image_urls

Usul parametrlari va hayot sikli
ParametrParametr talablari
Parametrcontent_typeParametr talablariapplication/json
ParametrrequiredParametr talablarimodel, image_urls
Parametrmaterial_typesParametr talablaritext, image
ParametroptionalParametr talablariduration, resolution, ratio, prompt
Parametrduration_integer_rangeParametr talablari3, 15
Parametrdefault_durationParametr talablari5
ParametrresolutionParametr talablari480P, 720P, 1080P
Parametrdefault_resolutionParametr talablari720P
ParametrratioParametr talablari
Parametrratio_must_omitParametr talablaritrue
Parametrimage_urlsParametr talablari{"min_count":1,"max_count":1,"schemes":["https","data rastri base64 ko‘rinishida"],"max_data_image_bytes":20971520}

Hayot sikli: submit_once_poll_original

GET /v1/videos/{request_id}

GET /v1/videos/generations/{request_id}

GET /v1/videos/{request_id}/content

GET /v1/videos/generations/{request_id}/content

Metod tuzilishlari va IDlari aniq; yetkazib beruvchining imkoniyati so‘rovni qabul qilishga ruxsatdan alohida.

Tariflar

Ailoot usullari tariflari

Ailoot Video yaratishPOST /v1/videos/generations
Chiqish
0,18 US$ 1080p aniqlikdagi soniya uchun
Chiqish
0,07 US$ 480p aniqlikdagi soniya uchun
Chiqish
0,14 US$ 720p aniqlikdagi soniya uchun

Ailoot so‘rovdan oldin taxminiy summani band qiladi. Natijadan keyin o‘lchangan sarf asosidagi yakuniy to‘lovni yechadi. Oqimli javob bo‘yicha yakuniy hisob-kitob yakuniy sarf yozuviga asoslanadi. Summani band qilish va to‘lovni hisoblash tartibi →

So‘rov namunalari

Ailoot · Video yaratish

Namuna rasm
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_IMAGE_URL:?Set the HTTPS URL of your actual first-frame image}"
export AILOOT_IMAGE_URL
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "happyhorse-1.1-i2v", "prompt": "The subject walks slowly toward the camera.", "duration": 5, "resolution": "720P"}')
from urllib.parse import urlsplit
u=os.environ["AILOOT_IMAGE_URL"]
z=urlsplit(u)
if z.scheme!="https" or not z.netloc or z.username or z.password:raise SystemExit("Set the actual HTTPS image URL")
p["image_urls"]=[u]
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos/generations \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
print(json.dumps(r))
PY_RESULT

Natijalarni olish va saqlash

Ailoot · Video yaratish

mp4

  • GET /v1/videos/{request_id}
  • GET /v1/videos/generations/{request_id}
  • GET /v1/videos/{request_id}/content
  • GET /v1/videos/generations/{request_id}/content
Vazifa holatini tekshirish
GET holat
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/generations/$operation_id" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o status.json
python3 - <<'PY_STATUS'
import json
from pathlib import Path
r=json.loads(Path("status.json").read_text())
print(json.dumps(r))
if r.get("status")=="completed":
    for x in r.get("data",[]):print(x)
PY_STATUS
Barcha tayyor materiallarni saqlash
GET barcha tayyor materiallar
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}"
export AILOOT_STATUS_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
from urllib.parse import urlsplit,urljoin
f=Path(os.environ["AILOOT_STATUS_FILE"])
if not f.is_file():raise SystemExit("Choose the actual completed status file")
r=json.loads(f.read_text())
if r.get("status")!="completed" or not isinstance(r.get("data"),list) or not r["data"]:raise SystemExit("Wait for a completed status with asset paths")
urls=[]
for x in r["data"]:
    if not isinstance(x,str) or "\n" in x or "\r" in x:raise SystemExit("Invalid asset path")
    u=urljoin("https://api.ailoot.ai",x)
    z=urlsplit(u)
    if z.scheme!="https" or z.netloc!="api.ailoot.ai" or z.username or z.password:raise SystemExit("Use the actual Ailoot asset paths from status")
    urls.append(u)
Path("asset-urls.txt").write_text("\n".join(urls)+"\n")
PY_REQUEST
index=0
while IFS= read -r asset_url; do
  curl --fail-with-body --silent --show-error "$asset_url" \
    -H "Authorization: Bearer $AILOOT_API_KEY" -o "video-${index}.mp4"
  index=$((index + 1))
done < asset-urls.txt
Boshqa kontentni o‘qish
GET kontent
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/generations/$operation_id/content" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o video.mp4
Barcha tayyor natijalarni saqlash

Har bir tayyor video yoki qaytarilgan faylni saqlang; har bir haqiqatan qaytarilgan material URL dan kontentni oling.

Qaytarilgan har bir data elementi/chiqish indeksini saqlang. content_url faqat birinchisiga tegishli; har bir haqiqiy mazmun yo‘lini/aktivni oling. index siz GET content barcha chiqishlarni bermaydi.

Asl javobni tekshirish kerak bo‘lsa

Mavjud dastlabki vazifani o‘qing; natijasi noma’lum yuborishni hech qachon takrorlamang.

Javob maydonlari
MaydonTur
MaydonidTurstring
MaydonobjectTurstring
MaydonmodelTurstring
MaydonstatusTurstring
Maydoncontent_urlTursigned URL
Maydondata[]Tursigned URL
MaydonusageTurobject
Maydonresult_pending_checkTurboolean
Xatolar va keyingi qadamlar
JavobShartKeyingi qadam
Javob400 · invalid_request_errorShartMajburiy maydonlar, material ifodasi yoki parametr qiymati noto‘g‘riKeyingi qadamYangi yaratish so‘rovidan oldin ko‘rsatilgan maydonlarni tuzating.
Javob409 · video_not_readyShartDastlabki natija mazmuni hali mavjud emasKeyingi qadamDastlab qaytarilgan ID holatini so‘rab tekshiring va Retry-After ga rioya qiling.
Javobserver_errorShartQaytarilgan javob operatsiya yoki natijani tekshirish kerakligini bildiradiKeyingi qadamDastlab qaytarilgan operatsiya/vazifa ID sini, so‘rov sarlavhalarini va javobni saqlang; aynan shu operatsiya uchun qo‘llab-quvvatlanadigan o‘qish so‘rovlarini davom ettiring. Yaratish so‘rovini qayta yubormang.

Taxalluslar

Model taxalluslari

Ailoot happyhorse-1.1-i2v, happyhorse-i2v, happyhorse-i2v-latest

Usul yo‘llari taxalluslari

Yuqorida ko‘rsatilgan usul yo‘llaridan foydalaning.

Chaqirish uchun tegishli ID lar

happyhorse-1.1-i2v, happyhorse-i2v, happyhorse-i2v-latest

Ailoot · Video yaratish POST /v1/videos/generations happyhorse-i2v

happyhorse-i2v

Alibaba /happyhorse-i2v
Model ID
  • happyhorse-1.1-i2v
  • happyhorse-i2v
  • happyhorse-i2v-latest

Boshlash

Tasvirni jonlantirish modeli: boshlang‘ich rasm birinchi kadrni belgilaydi, tavsif esa keyingi harakatni yo‘naltiradi. Ovoz qo‘shish imkoniyati bilan qisqa videorolik yaratadi.

Qabul qilinadigan kirish ma’lumotlari
Matn · Rasmlar
Natijalar
Video

Ailoot da mavjud · kirish ma’lumotlari va usullar

Ailoot · Video yaratish POST /v1/videos/generations
Kirish
text, image
Chiqish
video
Chiqish formati
mp4
MaydonTurTalabQiymatlar va cheklovlarStandart
MaydonmodelTurstringTalabMajburiyQiymatlar va cheklovlar
happyhorse-i2v
Standart—
MaydonpromptTurstringTalabIxtiyoriyQiymatlar va cheklovlar
Eng kam uzunlik: 1
Standart—
MaydondurationTurintegerTalabIxtiyoriyQiymatlar va cheklovlar
Eng kam: 3
Eng ko‘p: 15
Birlik: soniya
Standart5
MaydonresolutionTurstringTalabIxtiyoriyQiymatlar va cheklovlar
480P, 720P, 1080P
Standart720P
MaydonratioTurstringTalabQo‘llab-quvvatlanmaydiQiymatlar va cheklovlarStandart—
Maydonimage_urlsTurhttps_url|data_image_url[]TalabMajburiyQiymatlar va cheklovlar
Elementlarning eng kam soni: 1
Elementlarning eng ko‘p soni: 1
Dekodlangan baytlarning eng ko‘p soni: 20 971 520
MIME turlari: image/jpeg, image/png, image/webp
Standart—
Kirish materiallari birikmalari

first_frame_to_video · Majburiy: image_urls

Usul parametrlari va hayot sikli
ParametrParametr talablari
Parametrmaterial_typesParametr talablaritext, image
ParametrrequiredParametr talablarinull
Parametroptional_controlsParametr talablarinull

Hayot sikli: submit_once_poll_original

GET /v1/videos/{request_id}

GET /v1/videos/generations/{request_id}

GET /v1/videos/{request_id}/content

GET /v1/videos/generations/{request_id}/content

Metod tuzilishlari va IDlari aniq; yetkazib beruvchining imkoniyati so‘rovni qabul qilishga ruxsatdan alohida.

Tariflar

Ailoot usullari tariflari

Ailoot Video yaratishPOST /v1/videos/generations
Chiqish
0,18 US$ 1080p aniqlikdagi soniya uchun
Chiqish
0,07 US$ 480p aniqlikdagi soniya uchun
Chiqish
0,14 US$ 720p aniqlikdagi soniya uchun

Ailoot so‘rovdan oldin taxminiy summani band qiladi. Natijadan keyin o‘lchangan sarf asosidagi yakuniy to‘lovni yechadi. Oqimli javob bo‘yicha yakuniy hisob-kitob yakuniy sarf yozuviga asoslanadi. Summani band qilish va to‘lovni hisoblash tartibi →

So‘rov namunalari

Ailoot · Video yaratish

Namuna rasm
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_IMAGE_URL:?Set the HTTPS URL of your actual first-frame image}"
export AILOOT_IMAGE_URL
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "happyhorse-i2v", "prompt": "The subject walks slowly toward the camera.", "duration": 5, "resolution": "720P"}')
from urllib.parse import urlsplit
u=os.environ["AILOOT_IMAGE_URL"]
z=urlsplit(u)
if z.scheme!="https" or not z.netloc or z.username or z.password:raise SystemExit("Set the actual HTTPS image URL")
p["image_urls"]=[u]
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos/generations \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
print(json.dumps(r))
PY_RESULT

Natijalarni olish va saqlash

Ailoot · Video yaratish

mp4

  • GET /v1/videos/{request_id}
  • GET /v1/videos/generations/{request_id}
  • GET /v1/videos/{request_id}/content
  • GET /v1/videos/generations/{request_id}/content
Vazifa holatini tekshirish
GET holat
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/generations/$operation_id" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o status.json
python3 - <<'PY_STATUS'
import json
from pathlib import Path
r=json.loads(Path("status.json").read_text())
print(json.dumps(r))
if r.get("status")=="completed":
    for x in r.get("data",[]):print(x)
PY_STATUS
Barcha tayyor materiallarni saqlash
GET barcha tayyor materiallar
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}"
export AILOOT_STATUS_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
from urllib.parse import urlsplit,urljoin
f=Path(os.environ["AILOOT_STATUS_FILE"])
if not f.is_file():raise SystemExit("Choose the actual completed status file")
r=json.loads(f.read_text())
if r.get("status")!="completed" or not isinstance(r.get("data"),list) or not r["data"]:raise SystemExit("Wait for a completed status with asset paths")
urls=[]
for x in r["data"]:
    if not isinstance(x,str) or "\n" in x or "\r" in x:raise SystemExit("Invalid asset path")
    u=urljoin("https://api.ailoot.ai",x)
    z=urlsplit(u)
    if z.scheme!="https" or z.netloc!="api.ailoot.ai" or z.username or z.password:raise SystemExit("Use the actual Ailoot asset paths from status")
    urls.append(u)
Path("asset-urls.txt").write_text("\n".join(urls)+"\n")
PY_REQUEST
index=0
while IFS= read -r asset_url; do
  curl --fail-with-body --silent --show-error "$asset_url" \
    -H "Authorization: Bearer $AILOOT_API_KEY" -o "video-${index}.mp4"
  index=$((index + 1))
done < asset-urls.txt
Boshqa kontentni o‘qish
GET kontent
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/generations/$operation_id/content" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o video.mp4
Barcha tayyor natijalarni saqlash

Har bir tayyor video yoki qaytarilgan faylni saqlang; har bir haqiqatan qaytarilgan material URL dan kontentni oling.

Qaytarilgan har bir data elementi/chiqish indeksini saqlang. content_url faqat birinchisiga tegishli; har bir haqiqiy mazmun yo‘lini/aktivni oling. index siz GET content barcha chiqishlarni bermaydi.

Asl javobni tekshirish kerak bo‘lsa

Mavjud dastlabki vazifani o‘qing; natijasi noma’lum yuborishni hech qachon takrorlamang.

Javob maydonlari
MaydonTur
MaydonidTurstring
MaydonobjectTurstring
MaydonmodelTurstring
MaydonstatusTurstring
Maydoncontent_urlTursigned URL
Maydondata[]Tursigned URL
MaydonusageTurobject
Maydonresult_pending_checkTurboolean
Xatolar va keyingi qadamlar
JavobShartKeyingi qadam
Javob400 · invalid_request_errorShartMajburiy maydonlar, material ifodasi yoki parametr qiymati noto‘g‘riKeyingi qadamYangi yaratish so‘rovidan oldin ko‘rsatilgan maydonlarni tuzating.
Javob409 · video_not_readyShartDastlabki natija mazmuni hali mavjud emasKeyingi qadamDastlab qaytarilgan ID holatini so‘rab tekshiring va Retry-After ga rioya qiling.
Javobserver_errorShartQaytarilgan javob operatsiya yoki natijani tekshirish kerakligini bildiradiKeyingi qadamDastlab qaytarilgan operatsiya/vazifa ID sini, so‘rov sarlavhalarini va javobni saqlang; aynan shu operatsiya uchun qo‘llab-quvvatlanadigan o‘qish so‘rovlarini davom ettiring. Yaratish so‘rovini qayta yubormang.

Taxalluslar

Model taxalluslari

Ailoot happyhorse-1.1-i2v, happyhorse-i2v, happyhorse-i2v-latest

Usul yo‘llari taxalluslari

Yuqorida ko‘rsatilgan usul yo‘llaridan foydalaning.

Chaqirish uchun tegishli ID lar

happyhorse-1.1-i2v, happyhorse-i2v, happyhorse-i2v-latest

Ailoot · Video yaratish POST /v1/videos/generations happyhorse-i2v-latest

happyhorse-i2v-latest

Alibaba /happyhorse-i2v-latest
Model ID
  • happyhorse-1.1-i2v
  • happyhorse-i2v
  • happyhorse-i2v-latest

Boshlash

Tasvirni jonlantirish modeli: boshlang‘ich rasm birinchi kadrni belgilaydi, tavsif esa keyingi harakatni yo‘naltiradi. Ovoz qo‘shish imkoniyati bilan qisqa videorolik yaratadi.

Qabul qilinadigan kirish ma’lumotlari
Matn · Rasmlar
Natijalar
Video

Ailoot da mavjud · kirish ma’lumotlari va usullar

Ailoot · Video yaratish POST /v1/videos/generations
Kirish
text, image
Chiqish
video
Chiqish formati
mp4
MaydonTurTalabQiymatlar va cheklovlarStandart
MaydonmodelTurstringTalabMajburiyQiymatlar va cheklovlar
happyhorse-i2v-latest
Standart—
MaydonpromptTurstringTalabIxtiyoriyQiymatlar va cheklovlar
Eng kam uzunlik: 1
Standart—
MaydondurationTurintegerTalabIxtiyoriyQiymatlar va cheklovlar
Eng kam: 3
Eng ko‘p: 15
Birlik: soniya
Standart5
MaydonresolutionTurstringTalabIxtiyoriyQiymatlar va cheklovlar
480P, 720P, 1080P
Standart720P
MaydonratioTurstringTalabQo‘llab-quvvatlanmaydiQiymatlar va cheklovlarStandart—
Maydonimage_urlsTurhttps_url|data_image_url[]TalabMajburiyQiymatlar va cheklovlar
Elementlarning eng kam soni: 1
Elementlarning eng ko‘p soni: 1
Dekodlangan baytlarning eng ko‘p soni: 20 971 520
MIME turlari: image/jpeg, image/png, image/webp
Standart—
Kirish materiallari birikmalari

first_frame_to_video · Majburiy: image_urls

Usul parametrlari va hayot sikli
ParametrParametr talablari
Parametrmaterial_typesParametr talablaritext, image
ParametrrequiredParametr talablarinull
Parametroptional_controlsParametr talablarinull

Hayot sikli: submit_once_poll_original

GET /v1/videos/{request_id}

GET /v1/videos/generations/{request_id}

GET /v1/videos/{request_id}/content

GET /v1/videos/generations/{request_id}/content

Metod tuzilishlari va IDlari aniq; yetkazib beruvchining imkoniyati so‘rovni qabul qilishga ruxsatdan alohida.

Tariflar

Ailoot usullari tariflari

Ailoot Video yaratishPOST /v1/videos/generations
Chiqish
0,18 US$ 1080p aniqlikdagi soniya uchun
Chiqish
0,07 US$ 480p aniqlikdagi soniya uchun
Chiqish
0,14 US$ 720p aniqlikdagi soniya uchun

Ailoot so‘rovdan oldin taxminiy summani band qiladi. Natijadan keyin o‘lchangan sarf asosidagi yakuniy to‘lovni yechadi. Oqimli javob bo‘yicha yakuniy hisob-kitob yakuniy sarf yozuviga asoslanadi. Summani band qilish va to‘lovni hisoblash tartibi →

So‘rov namunalari

Ailoot · Video yaratish

Namuna rasm
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_IMAGE_URL:?Set the HTTPS URL of your actual first-frame image}"
export AILOOT_IMAGE_URL
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "happyhorse-i2v-latest", "prompt": "The subject walks slowly toward the camera.", "duration": 5, "resolution": "720P"}')
from urllib.parse import urlsplit
u=os.environ["AILOOT_IMAGE_URL"]
z=urlsplit(u)
if z.scheme!="https" or not z.netloc or z.username or z.password:raise SystemExit("Set the actual HTTPS image URL")
p["image_urls"]=[u]
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos/generations \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
print(json.dumps(r))
PY_RESULT

Natijalarni olish va saqlash

Ailoot · Video yaratish

mp4

  • GET /v1/videos/{request_id}
  • GET /v1/videos/generations/{request_id}
  • GET /v1/videos/{request_id}/content
  • GET /v1/videos/generations/{request_id}/content
Vazifa holatini tekshirish
GET holat
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/generations/$operation_id" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o status.json
python3 - <<'PY_STATUS'
import json
from pathlib import Path
r=json.loads(Path("status.json").read_text())
print(json.dumps(r))
if r.get("status")=="completed":
    for x in r.get("data",[]):print(x)
PY_STATUS
Barcha tayyor materiallarni saqlash
GET barcha tayyor materiallar
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}"
export AILOOT_STATUS_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
from urllib.parse import urlsplit,urljoin
f=Path(os.environ["AILOOT_STATUS_FILE"])
if not f.is_file():raise SystemExit("Choose the actual completed status file")
r=json.loads(f.read_text())
if r.get("status")!="completed" or not isinstance(r.get("data"),list) or not r["data"]:raise SystemExit("Wait for a completed status with asset paths")
urls=[]
for x in r["data"]:
    if not isinstance(x,str) or "\n" in x or "\r" in x:raise SystemExit("Invalid asset path")
    u=urljoin("https://api.ailoot.ai",x)
    z=urlsplit(u)
    if z.scheme!="https" or z.netloc!="api.ailoot.ai" or z.username or z.password:raise SystemExit("Use the actual Ailoot asset paths from status")
    urls.append(u)
Path("asset-urls.txt").write_text("\n".join(urls)+"\n")
PY_REQUEST
index=0
while IFS= read -r asset_url; do
  curl --fail-with-body --silent --show-error "$asset_url" \
    -H "Authorization: Bearer $AILOOT_API_KEY" -o "video-${index}.mp4"
  index=$((index + 1))
done < asset-urls.txt
Boshqa kontentni o‘qish
GET kontent
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/generations/$operation_id/content" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o video.mp4
Barcha tayyor natijalarni saqlash

Har bir tayyor video yoki qaytarilgan faylni saqlang; har bir haqiqatan qaytarilgan material URL dan kontentni oling.

Qaytarilgan har bir data elementi/chiqish indeksini saqlang. content_url faqat birinchisiga tegishli; har bir haqiqiy mazmun yo‘lini/aktivni oling. index siz GET content barcha chiqishlarni bermaydi.

Asl javobni tekshirish kerak bo‘lsa

Mavjud dastlabki vazifani o‘qing; natijasi noma’lum yuborishni hech qachon takrorlamang.

Javob maydonlari
MaydonTur
MaydonidTurstring
MaydonobjectTurstring
MaydonmodelTurstring
MaydonstatusTurstring
Maydoncontent_urlTursigned URL
Maydondata[]Tursigned URL
MaydonusageTurobject
Maydonresult_pending_checkTurboolean
Xatolar va keyingi qadamlar
JavobShartKeyingi qadam
Javob400 · invalid_request_errorShartMajburiy maydonlar, material ifodasi yoki parametr qiymati noto‘g‘riKeyingi qadamYangi yaratish so‘rovidan oldin ko‘rsatilgan maydonlarni tuzating.
Javob409 · video_not_readyShartDastlabki natija mazmuni hali mavjud emasKeyingi qadamDastlab qaytarilgan ID holatini so‘rab tekshiring va Retry-After ga rioya qiling.
Javobserver_errorShartQaytarilgan javob operatsiya yoki natijani tekshirish kerakligini bildiradiKeyingi qadamDastlab qaytarilgan operatsiya/vazifa ID sini, so‘rov sarlavhalarini va javobni saqlang; aynan shu operatsiya uchun qo‘llab-quvvatlanadigan o‘qish so‘rovlarini davom ettiring. Yaratish so‘rovini qayta yubormang.

Taxalluslar

Model taxalluslari

Ailoot happyhorse-1.1-i2v, happyhorse-i2v, happyhorse-i2v-latest

Usul yo‘llari taxalluslari

Yuqorida ko‘rsatilgan usul yo‘llaridan foydalaning.

Chaqirish uchun tegishli ID lar

happyhorse-1.1-i2v, happyhorse-i2v, happyhorse-i2v-latest

FAQ · happyhorse-1.1-i2v
Qanday kirish ma’lumotlari va natijalar mavjud?

POST /v1/videos/generations · happyhorse-1.1-i2v: text, image → video

POST /v1/videos/generations · happyhorse-i2v: text, image → video

POST /v1/videos/generations · happyhorse-i2v-latest: text, image → video

So‘rov qaysi maydonlardan foydalanadi?

POST /v1/videos/generations · happyhorse-1.1-i2v: model, prompt, duration, resolution, image_urls

POST /v1/videos/generations · happyhorse-i2v: model, prompt, duration, resolution, image_urls

POST /v1/videos/generations · happyhorse-i2v-latest: model, prompt, duration, resolution, image_urls

Qanday cheklovlar amal qiladi?

POST /v1/videos/generations · happyhorse-1.1-i2v: duration.minimum: 3; duration.maximum: 15

POST /v1/videos/generations · happyhorse-i2v: duration.minimum: 3; duration.maximum: 15

POST /v1/videos/generations · happyhorse-i2v-latest: duration.minimum: 3; duration.maximum: 15

Batafsil

Ailoot’ni Claude Code, OpenCode, Hermes yoki ilovangizga ulang.

Kompaniya va uning loyihalar portfeli

Kompaniya va uning loyihalar portfeli: millionlab mijozlar; oylik sotuvlar hajmi milliardlarda.

Tokenlarni chegirma bilan xarid qiling.

Muntazam ish uchun obuna chegirmasi. Token xaridiga promokodlar — 50% gacha.

Obuna
Muntazam so‘rovlaringiz uchun chegirmali tarif tanlang.
50% gacha promokod
Xaridda kod kiriting. Narx amaldagi aksiya bilan qayta hisoblanadi.
Tarixdagi xarajatlar
Har so‘rov uchun model, token va summa saqlanadi.

Obuna tanlash · Model narxlarini ko‘rish

API’ni sotadigan mahsulotingizga ulang.

SaaS, ilova va botlar Ailoot ofertasi hamda litsenziya shartnomasiga muvofiq. Qayta sotishga reseller litsenziyasi so‘rang.

Tijorat ilovasi
Xizmatingizning pullik funksiyalariga matn, rasm, video va ovoz yaratishni qo‘shing.
Reseller litsenziyasi
Loyiha tavsifi va kirish sxemasini yuboring. Foydalanish va qayta sotishga yozma shartlarni so‘rang.
Saytdagi hujjatlar
Oferta, litsenziya shartnomasi va ma’lumotlar siyosati ulashdan oldin ochiq.

Reseller litsenziyasini so‘rash · Oferta va litsenziya shartnomasi