happyhorse-1.1-t2v
Matnli tavsif asosida ovozli qisqa video yaratish modeli. Harakat, kompozitsiya va vizual uslub so‘zlar bilan belgilanadigan sahnalar uchun mos keladi.
- Ailoot · Video yaratish
POST /v1/videos/generationshappyhorse-1.1-t2v - Ailoot · Video yaratish
POST /v1/videos/generationshappyhorse-t2v - Ailoot · Video yaratish
POST /v1/videos/generationshappyhorse-t2v-latest
Model haqida
Bu tavsif model imkoniyatlarini yoritadi. Ailoot da tanlangan usul uchun mavjud kirish, chiqish va parametrlar quyida keltirilgan.
HappyHorse-1.1-T2V — Alibaba’ning matn asosida qisqa videosahnalar yaratish modeli. Tavsifda personajlar, harakatlar, muhit va vizual ifoda belgilanadi; bu rejim uchun boshlang‘ich tasvir talab qilinmaydi. Model videotasvirni shakllantiradi va unga hamroh ovozni yaratishi mumkin.
Ishlab chiqaruvchi sahna mazmunini tushunish, kinematografik sahnalashtirish va harakat ifodaliligini ta’kidlaydi. Matn muhit kayfiyati, qahramon harakatlari, obyektlar xatti-harakati va jismoniy dinamikani belgilashi mumkin. Shu yo‘l bilan sahnani sodir bo‘lishi kerak bo‘lgan voqea atrofida qurib, keyin yorug‘lik, rakurs va kamera harakati bilan yo‘naltirish mumkin.
So‘zlar bilan sahnalashtirish
Topshiriq majburiy va istalgan tilda bo‘lishi mumkin. U xitoycha bo‘lmagan 5000 tagacha yoki xitoycha 2500 tagacha belgidan iborat bo‘lishi mumkin; ortiqcha qism tashlab yuboriladi. Harakat, muhit va muhim vizual tafsilotlar shu hajm doirasida tavsiflanishi kerak. Bunday sahnalashtirish modelga tayyor birinchi kadrni berish o‘rniga yangi sahna yaratish uchun imkon qoldiradi.
Bu rejimda matn asosiy boshqaruvchi material hisoblanadi. Qahramon yoki buyumning aniq qiyofasini so‘z bilan tavsiflash mumkin; uning ko‘rinishini alohida tasvirlar orqali berish imkoniyati oilaning boshqa rejimiga tegishli. Natija butun topshiriqqa bog‘liq, shuning uchun bir xil boshlang‘ich tasodifiylik urug‘i o‘xshash variantlar olishga yordam beradi, ammo aynan takrorlanishni kafolatlamaydi.
Video va ovozli yo‘lak
HappyHorse-1.1 uchun rolik davomiyligi 3 dan 15 soniyagacha bo‘lgan butun son bilan tanlanadi. 480P, 720P va 1080P aniqlik darajalari qo‘llab-quvvatlanadi. Tayyor fayl MP4 formatida va soniyasiga 24 kadr tezlikda bo‘ladi. Model tasvir bilan birga ovoz yaratib, ovozli yo‘lakni sahnada sodir bo‘layotgan voqealarga bog‘lashi mumkin.
Kadr shaklini oldindan belgilash mumkin. 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21 va 21:9 mavjud — keng kinematografik kadrdan cho‘zinchoq vertikal rolikkacha. Aniqlik, format va davomiylik natija o‘lchamlarini belgilaydi; mazmun va harakat esa matn bilan beriladi.
Bu variant so‘z bilan ifodalangan g‘oyadan yangi sahna yaratish uchun mo‘ljallangan. U sahnalashtirishni matnda ifodalash kerak bo‘lgan qisqa epizod, vizual g‘oya yoki o‘ziga xos kayfiyatdagi rolik uchun mos keladi.
Ailoot · Video yaratish POST /v1/videos/generations happyhorse-1.1-t2v
happyhorse-1.1-t2vhappyhorse-1.1-t2vhappyhorse-t2vhappyhorse-t2v-latest
Boshlash
Matnli tavsif asosida ovozli qisqa video yaratish modeli. Harakat, kompozitsiya va vizual uslub so‘zlar bilan belgilanadigan sahnalar uchun mos keladi.
- Qabul qilinadigan kirish ma’lumotlari
- Matn
- Natijalar
- Video
Ailoot da mavjud · kirish ma’lumotlari va usullar
Ailoot · Video yaratish POST /v1/videos/generations
- Kirish
text- Chiqish
video- Chiqish formati
- mp4
| Maydon | Tur | Talab | Qiymatlar va cheklovlar | Standart |
|---|---|---|---|---|
Maydonmodel | Turstring | TalabMajburiy | Qiymatlar va cheklovlar happyhorse-1.1-t2v | Standart— |
Maydonprompt | Turstring | TalabMajburiy | Qiymatlar va cheklovlar Eng kam uzunlik: 1 | Standart— |
Maydonduration | Turinteger | TalabIxtiyoriy | Qiymatlar va cheklovlar Eng kam: 3 Eng ko‘p: 15 Birlik: soniya | Standart5 |
Maydonresolution | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar 480P, 720P, 1080P | Standart720P |
Maydonratio | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9 | Standart16:9 |
Maydonimage_urls | Turhttps_url|data_image_url[] | TalabIxtiyoriy | Qiymatlar va cheklovlar Elementlarning eng kam soni: 0 Elementlarning eng ko‘p soni: 0 Dekodlangan baytlarning eng ko‘p soni: 20 971 520 MIME turlari: image/jpeg, image/png, image/webp | Standart— |
Kirish materiallari birikmalari
Matndan video · Majburiy: prompt
Usul parametrlari va hayot sikli
| Parametr | Parametr talablari |
|---|---|
Parametrcontent_type | Parametr talablariapplication/json |
Parametrrequired | Parametr talablarimodel, prompt |
Parametrmaterial_types | Parametr talablaritext |
Parametroptional | Parametr talablariduration, resolution, ratio |
Parametrduration_integer_range | Parametr talablari3, 15 |
Parametrdefault_duration | Parametr talablari5 |
Parametrresolution | Parametr talablari480P, 720P, 1080P |
Parametrdefault_resolution | Parametr talablari720P |
Parametrratio | Parametr talablari16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9 |
Parametrratio_must_omit | Parametr talablarifalse |
Parametrimage_urls | Parametr talablari{"max_count":0} |
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
POST /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
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_PROMPT_FILE:?Set your actual UTF-8 scene brief}"
export AILOOT_PROMPT_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "happyhorse-1.1-t2v", "prompt": "", "duration": 5, "resolution": "720P", "ratio": "16:9"}')
f=Path(os.environ["AILOOT_PROMPT_FILE"])
if not f.is_file():raise SystemExit("Choose your actual UTF-8 brief")
p['prompt']=f.read_text(encoding="utf-8")
if not p['prompt'].strip():raise SystemExit("Brief must contain text")
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
print(json.dumps(json.loads(Path("result.json").read_text()),ensure_ascii=False,indent=2))
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}/contentGET /v1/videos/generations/{request_id}/content
Vazifa holatini tekshirish
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
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
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
| Maydon | Tur |
|---|---|
Maydonid | Turstring |
Maydonobject | Turstring |
Maydonmodel | Turstring |
Maydonstatus | Turstring |
Maydoncontent_url | Tursigned URL |
Maydondata[] | Tursigned URL |
Maydonusage | Turobject |
Maydonresult_pending_check | Turboolean |
Xatolar va keyingi qadamlar
| Javob | Shart | Keyingi qadam |
|---|---|---|
Javob400 · invalid_request_error | ShartMajburiy maydonlar, material ifodasi yoki parametr qiymati noto‘g‘ri | Keyingi qadamYangi yaratish so‘rovidan oldin ko‘rsatilgan maydonlarni tuzating. |
Javob409 · video_not_ready | ShartDastlabki natija mazmuni hali mavjud emas | Keyingi qadamDastlab qaytarilgan ID holatini so‘rab tekshiring va Retry-After ga rioya qiling. |
Javobserver_error | ShartQaytarilgan javob operatsiya yoki natijani tekshirish kerakligini bildiradi | Keyingi 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-t2v, happyhorse-t2v, happyhorse-t2v-latest
Usul yo‘llari taxalluslari
Yuqorida ko‘rsatilgan usul yo‘llaridan foydalaning.
Chaqirish uchun tegishli ID lar
Ailoot · Video yaratish POST /v1/videos/generations happyhorse-t2v
happyhorse-t2vhappyhorse-1.1-t2vhappyhorse-t2vhappyhorse-t2v-latest
Boshlash
Matnli tavsif asosida ovozli qisqa video yaratish modeli. Harakat, kompozitsiya va vizual uslub so‘zlar bilan belgilanadigan sahnalar uchun mos keladi.
- Qabul qilinadigan kirish ma’lumotlari
- Matn
- Natijalar
- Video
Ailoot da mavjud · kirish ma’lumotlari va usullar
Ailoot · Video yaratish POST /v1/videos/generations
- Kirish
text- Chiqish
video- Chiqish formati
- mp4
| Maydon | Tur | Talab | Qiymatlar va cheklovlar | Standart |
|---|---|---|---|---|
Maydonmodel | Turstring | TalabMajburiy | Qiymatlar va cheklovlar happyhorse-t2v | Standart— |
Maydonprompt | Turstring | TalabMajburiy | Qiymatlar va cheklovlar Eng kam uzunlik: 1 | Standart— |
Maydonduration | Turinteger | TalabIxtiyoriy | Qiymatlar va cheklovlar Eng kam: 3 Eng ko‘p: 15 Birlik: soniya | Standart5 |
Maydonresolution | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar 480P, 720P, 1080P | Standart720P |
Maydonratio | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9 | Standart16:9 |
Maydonimage_urls | Turhttps_url|data_image_url[] | TalabIxtiyoriy | Qiymatlar va cheklovlar Elementlarning eng kam soni: 0 Elementlarning eng ko‘p soni: 0 Dekodlangan baytlarning eng ko‘p soni: 20 971 520 MIME turlari: image/jpeg, image/png, image/webp | Standart— |
Kirish materiallari birikmalari
Matndan video · Majburiy: prompt
Usul parametrlari va hayot sikli
| Parametr | Parametr talablari |
|---|---|
Parametrmaterial_types | Parametr talablaritext |
Parametrrequired | Parametr talablarinull |
Parametroptional_controls | Parametr 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
POST /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
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_PROMPT_FILE:?Set your actual UTF-8 scene brief}"
export AILOOT_PROMPT_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "happyhorse-t2v", "prompt": "", "duration": 5, "resolution": "720P", "ratio": "16:9"}')
f=Path(os.environ["AILOOT_PROMPT_FILE"])
if not f.is_file():raise SystemExit("Choose your actual UTF-8 brief")
p['prompt']=f.read_text(encoding="utf-8")
if not p['prompt'].strip():raise SystemExit("Brief must contain text")
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
print(json.dumps(json.loads(Path("result.json").read_text()),ensure_ascii=False,indent=2))
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}/contentGET /v1/videos/generations/{request_id}/content
Vazifa holatini tekshirish
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
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
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
| Maydon | Tur |
|---|---|
Maydonid | Turstring |
Maydonobject | Turstring |
Maydonmodel | Turstring |
Maydonstatus | Turstring |
Maydoncontent_url | Tursigned URL |
Maydondata[] | Tursigned URL |
Maydonusage | Turobject |
Maydonresult_pending_check | Turboolean |
Xatolar va keyingi qadamlar
| Javob | Shart | Keyingi qadam |
|---|---|---|
Javob400 · invalid_request_error | ShartMajburiy maydonlar, material ifodasi yoki parametr qiymati noto‘g‘ri | Keyingi qadamYangi yaratish so‘rovidan oldin ko‘rsatilgan maydonlarni tuzating. |
Javob409 · video_not_ready | ShartDastlabki natija mazmuni hali mavjud emas | Keyingi qadamDastlab qaytarilgan ID holatini so‘rab tekshiring va Retry-After ga rioya qiling. |
Javobserver_error | ShartQaytarilgan javob operatsiya yoki natijani tekshirish kerakligini bildiradi | Keyingi 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-t2v, happyhorse-t2v, happyhorse-t2v-latest
Usul yo‘llari taxalluslari
Yuqorida ko‘rsatilgan usul yo‘llaridan foydalaning.
Chaqirish uchun tegishli ID lar
Ailoot · Video yaratish POST /v1/videos/generations happyhorse-t2v-latest
happyhorse-t2v-latesthappyhorse-1.1-t2vhappyhorse-t2vhappyhorse-t2v-latest
Boshlash
Matnli tavsif asosida ovozli qisqa video yaratish modeli. Harakat, kompozitsiya va vizual uslub so‘zlar bilan belgilanadigan sahnalar uchun mos keladi.
- Qabul qilinadigan kirish ma’lumotlari
- Matn
- Natijalar
- Video
Ailoot da mavjud · kirish ma’lumotlari va usullar
Ailoot · Video yaratish POST /v1/videos/generations
- Kirish
text- Chiqish
video- Chiqish formati
- mp4
| Maydon | Tur | Talab | Qiymatlar va cheklovlar | Standart |
|---|---|---|---|---|
Maydonmodel | Turstring | TalabMajburiy | Qiymatlar va cheklovlar happyhorse-t2v-latest | Standart— |
Maydonprompt | Turstring | TalabMajburiy | Qiymatlar va cheklovlar Eng kam uzunlik: 1 | Standart— |
Maydonduration | Turinteger | TalabIxtiyoriy | Qiymatlar va cheklovlar Eng kam: 3 Eng ko‘p: 15 Birlik: soniya | Standart5 |
Maydonresolution | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar 480P, 720P, 1080P | Standart720P |
Maydonratio | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9 | Standart16:9 |
Maydonimage_urls | Turhttps_url|data_image_url[] | TalabIxtiyoriy | Qiymatlar va cheklovlar Elementlarning eng kam soni: 0 Elementlarning eng ko‘p soni: 0 Dekodlangan baytlarning eng ko‘p soni: 20 971 520 MIME turlari: image/jpeg, image/png, image/webp | Standart— |
Kirish materiallari birikmalari
Matndan video · Majburiy: prompt
Usul parametrlari va hayot sikli
| Parametr | Parametr talablari |
|---|---|
Parametrmaterial_types | Parametr talablaritext |
Parametrrequired | Parametr talablarinull |
Parametroptional_controls | Parametr 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
POST /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
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_PROMPT_FILE:?Set your actual UTF-8 scene brief}"
export AILOOT_PROMPT_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "happyhorse-t2v-latest", "prompt": "", "duration": 5, "resolution": "720P", "ratio": "16:9"}')
f=Path(os.environ["AILOOT_PROMPT_FILE"])
if not f.is_file():raise SystemExit("Choose your actual UTF-8 brief")
p['prompt']=f.read_text(encoding="utf-8")
if not p['prompt'].strip():raise SystemExit("Brief must contain text")
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
print(json.dumps(json.loads(Path("result.json").read_text()),ensure_ascii=False,indent=2))
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}/contentGET /v1/videos/generations/{request_id}/content
Vazifa holatini tekshirish
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
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
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
| Maydon | Tur |
|---|---|
Maydonid | Turstring |
Maydonobject | Turstring |
Maydonmodel | Turstring |
Maydonstatus | Turstring |
Maydoncontent_url | Tursigned URL |
Maydondata[] | Tursigned URL |
Maydonusage | Turobject |
Maydonresult_pending_check | Turboolean |
Xatolar va keyingi qadamlar
| Javob | Shart | Keyingi qadam |
|---|---|---|
Javob400 · invalid_request_error | ShartMajburiy maydonlar, material ifodasi yoki parametr qiymati noto‘g‘ri | Keyingi qadamYangi yaratish so‘rovidan oldin ko‘rsatilgan maydonlarni tuzating. |
Javob409 · video_not_ready | ShartDastlabki natija mazmuni hali mavjud emas | Keyingi qadamDastlab qaytarilgan ID holatini so‘rab tekshiring va Retry-After ga rioya qiling. |
Javobserver_error | ShartQaytarilgan javob operatsiya yoki natijani tekshirish kerakligini bildiradi | Keyingi 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-t2v, happyhorse-t2v, happyhorse-t2v-latest
Usul yo‘llari taxalluslari
Yuqorida ko‘rsatilgan usul yo‘llaridan foydalaning.
Chaqirish uchun tegishli ID lar
FAQ · happyhorse-1.1-t2v
- Qanday kirish ma’lumotlari va natijalar mavjud?
POST /v1/videos/generations·happyhorse-1.1-t2v:text→videoPOST /v1/videos/generations·happyhorse-t2v:text→videoPOST /v1/videos/generations·happyhorse-t2v-latest:text→video- So‘rov qaysi maydonlardan foydalanadi?
POST /v1/videos/generations·happyhorse-1.1-t2v:model,prompt,duration,resolution,ratio,image_urlsPOST /v1/videos/generations·happyhorse-t2v:model,prompt,duration,resolution,ratio,image_urlsPOST /v1/videos/generations·happyhorse-t2v-latest:model,prompt,duration,resolution,ratio,image_urls- Qanday cheklovlar amal qiladi?
POST /v1/videos/generations·happyhorse-1.1-t2v:duration.minimum:3;duration.maximum:15POST /v1/videos/generations·happyhorse-t2v:duration.minimum:3;duration.maximum:15POST /v1/videos/generations·happyhorse-t2v-latest:duration.minimum:3;duration.maximum:15