Source: https://ailoot.ai/models/uz/happyhorse-1-1-t2v/
Canonical: https://ailoot.ai/models/uz/happyhorse-1-1-t2v/
Language: uz

# happyhorse-1.1-t2v

[Markdown](https://ailoot.ai/models/uz/happyhorse-1-1-t2v/index.md) · [JSON](https://ailoot.ai/models/uz/happyhorse-1-1-t2v/facts.json)

## [happyhorse-1.1-t2v](https://ailoot.ai/models/uz/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/generations` `happyhorse-1.1-t2v`](https://ailoot.ai/models/uz/happyhorse-1-1-t2v/#method-0)
- [**Ailoot · Video yaratish** `POST /v1/videos/generations` `happyhorse-t2v`](https://ailoot.ai/models/uz/happyhorse-1-1-t2v/#method-1)
- [**Ailoot · Video yaratish** `POST /v1/videos/generations` `happyhorse-t2v-latest`](https://ailoot.ai/models/uz/happyhorse-1-1-t2v/#method-2)

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-t2v`](https://ailoot.ai/models/uz/#m=happyhorse-1.1-t2v&route=Core&caller=happyhorse-1.1-t2v&fmt=videos)

Alibaba /`happyhorse-1.1-t2v`

Model ID

- `happyhorse-1.1-t2v`
- `happyhorse-t2v`
- `happyhorse-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 |
| --- | --- | --- | --- | --- |
| Maydon`model` | Tur`string` | TalabMajburiy | Qiymatlar va cheklovlar happyhorse-1.1-t2v | Standart— |
| Maydon`prompt` | Tur`string` | TalabMajburiy | Qiymatlar va cheklovlar Eng kam uzunlik: 1 | Standart— |
| Maydon`duration` | Tur`integer` | TalabIxtiyoriy | Qiymatlar va cheklovlar Eng kam: 3 Eng ko‘p: 15 Birlik: soniya | Standart5 |
| Maydon`resolution` | Tur`string` | TalabIxtiyoriy | Qiymatlar va cheklovlar 480P, 720P, 1080P | Standart720P |
| Maydon`ratio` | Tur`string` | TalabIxtiyoriy | Qiymatlar va cheklovlar 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9 | Standart16:9 |
| Maydon`image_urls` | Tur`https_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 |
| --- | --- |
| Parametr`content_type` | Parametr talablariapplication/json |
| Parametr`required` | Parametr talablarimodel, prompt |
| Parametr`material_types` | Parametr talablaritext |
| Parametr`optional` | Parametr talablariduration, resolution, ratio |
| Parametr`duration_integer_range` | Parametr talablari3, 15 |
| Parametr`default_duration` | Parametr talablari5 |
| Parametr`resolution` | Parametr talablari480P, 720P, 1080P |
| Parametr`default_resolution` | Parametr talablari720P |
| Parametr`ratio` | Parametr talablari16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9 |
| Parametr`ratio_must_omit` | Parametr talablarifalse |
| Parametr`image_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

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 →](https://ailoot.ai/docs/uz/billing/reserve/)

### So‘rov namunalari

#### Ailoot · Video yaratish

Sahna namunasi

```bash
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}/content`
- `GET /v1/videos/generations/{request_id}/content`

##### Vazifa holatini tekshirish

GET holat

```bash
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

```bash
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

```bash
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 |
| --- | --- |
| Maydon`id` | Turstring |
| Maydon`object` | Turstring |
| Maydon`model` | Turstring |
| Maydon`status` | Turstring |
| Maydon`content_url` | Tursigned URL |
| Maydon`data[]` | Tursigned URL |
| Maydon`usage` | Turobject |
| Maydon`result_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. |
| Javob`server_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`](https://ailoot.ai/models/uz/#m=happyhorse-1.1-t2v&route=Core&caller=happyhorse-1.1-t2v&fmt=videos), [`happyhorse-t2v`](https://ailoot.ai/models/uz/#m=happyhorse-1.1-t2v&route=Core&caller=happyhorse-t2v&fmt=videos), [`happyhorse-t2v-latest`](https://ailoot.ai/models/uz/#m=happyhorse-1.1-t2v&route=Core&caller=happyhorse-t2v-latest&fmt=videos)

#### Usul yo‘llari taxalluslari

Yuqorida ko‘rsatilgan usul yo‘llaridan foydalaning.

#### Chaqirish uchun tegishli ID lar

[`happyhorse-1.1-t2v`](https://ailoot.ai/models/uz/#m=happyhorse-1.1-t2v&route=Core&caller=happyhorse-1.1-t2v&fmt=videos), [`happyhorse-t2v`](https://ailoot.ai/models/uz/#m=happyhorse-1.1-t2v&route=Core&caller=happyhorse-t2v&fmt=videos), [`happyhorse-t2v-latest`](https://ailoot.ai/models/uz/#m=happyhorse-1.1-t2v&route=Core&caller=happyhorse-t2v-latest&fmt=videos)

**Ailoot · Video yaratish** `POST /v1/videos/generations` `happyhorse-t2v`

[`happyhorse-t2v`](https://ailoot.ai/models/uz/#m=happyhorse-1.1-t2v&route=Core&caller=happyhorse-t2v&fmt=videos)

Alibaba /`happyhorse-t2v`

Model ID

- `happyhorse-1.1-t2v`
- `happyhorse-t2v`
- `happyhorse-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 |
| --- | --- | --- | --- | --- |
| Maydon`model` | Tur`string` | TalabMajburiy | Qiymatlar va cheklovlar happyhorse-t2v | Standart— |
| Maydon`prompt` | Tur`string` | TalabMajburiy | Qiymatlar va cheklovlar Eng kam uzunlik: 1 | Standart— |
| Maydon`duration` | Tur`integer` | TalabIxtiyoriy | Qiymatlar va cheklovlar Eng kam: 3 Eng ko‘p: 15 Birlik: soniya | Standart5 |
| Maydon`resolution` | Tur`string` | TalabIxtiyoriy | Qiymatlar va cheklovlar 480P, 720P, 1080P | Standart720P |
| Maydon`ratio` | Tur`string` | TalabIxtiyoriy | Qiymatlar va cheklovlar 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9 | Standart16:9 |
| Maydon`image_urls` | Tur`https_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 |
| --- | --- |
| Parametr`material_types` | Parametr talablaritext |
| Parametr`required` | Parametr talablarinull |
| Parametr`optional_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

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 →](https://ailoot.ai/docs/uz/billing/reserve/)

### So‘rov namunalari

#### Ailoot · Video yaratish

Sahna namunasi

```bash
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}/content`
- `GET /v1/videos/generations/{request_id}/content`

##### Vazifa holatini tekshirish

GET holat

```bash
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

```bash
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

```bash
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 |
| --- | --- |
| Maydon`id` | Turstring |
| Maydon`object` | Turstring |
| Maydon`model` | Turstring |
| Maydon`status` | Turstring |
| Maydon`content_url` | Tursigned URL |
| Maydon`data[]` | Tursigned URL |
| Maydon`usage` | Turobject |
| Maydon`result_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. |
| Javob`server_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`](https://ailoot.ai/models/uz/#m=happyhorse-1.1-t2v&route=Core&caller=happyhorse-1.1-t2v&fmt=videos), [`happyhorse-t2v`](https://ailoot.ai/models/uz/#m=happyhorse-1.1-t2v&route=Core&caller=happyhorse-t2v&fmt=videos), [`happyhorse-t2v-latest`](https://ailoot.ai/models/uz/#m=happyhorse-1.1-t2v&route=Core&caller=happyhorse-t2v-latest&fmt=videos)

#### Usul yo‘llari taxalluslari

Yuqorida ko‘rsatilgan usul yo‘llaridan foydalaning.

#### Chaqirish uchun tegishli ID lar

[`happyhorse-1.1-t2v`](https://ailoot.ai/models/uz/#m=happyhorse-1.1-t2v&route=Core&caller=happyhorse-1.1-t2v&fmt=videos), [`happyhorse-t2v`](https://ailoot.ai/models/uz/#m=happyhorse-1.1-t2v&route=Core&caller=happyhorse-t2v&fmt=videos), [`happyhorse-t2v-latest`](https://ailoot.ai/models/uz/#m=happyhorse-1.1-t2v&route=Core&caller=happyhorse-t2v-latest&fmt=videos)

**Ailoot · Video yaratish** `POST /v1/videos/generations` `happyhorse-t2v-latest`

[`happyhorse-t2v-latest`](https://ailoot.ai/models/uz/#m=happyhorse-1.1-t2v&route=Core&caller=happyhorse-t2v-latest&fmt=videos)

Alibaba /`happyhorse-t2v-latest`

Model ID

- `happyhorse-1.1-t2v`
- `happyhorse-t2v`
- `happyhorse-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 |
| --- | --- | --- | --- | --- |
| Maydon`model` | Tur`string` | TalabMajburiy | Qiymatlar va cheklovlar happyhorse-t2v-latest | Standart— |
| Maydon`prompt` | Tur`string` | TalabMajburiy | Qiymatlar va cheklovlar Eng kam uzunlik: 1 | Standart— |
| Maydon`duration` | Tur`integer` | TalabIxtiyoriy | Qiymatlar va cheklovlar Eng kam: 3 Eng ko‘p: 15 Birlik: soniya | Standart5 |
| Maydon`resolution` | Tur`string` | TalabIxtiyoriy | Qiymatlar va cheklovlar 480P, 720P, 1080P | Standart720P |
| Maydon`ratio` | Tur`string` | TalabIxtiyoriy | Qiymatlar va cheklovlar 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9 | Standart16:9 |
| Maydon`image_urls` | Tur`https_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 |
| --- | --- |
| Parametr`material_types` | Parametr talablaritext |
| Parametr`required` | Parametr talablarinull |
| Parametr`optional_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

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 →](https://ailoot.ai/docs/uz/billing/reserve/)

### So‘rov namunalari

#### Ailoot · Video yaratish

Sahna namunasi

```bash
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}/content`
- `GET /v1/videos/generations/{request_id}/content`

##### Vazifa holatini tekshirish

GET holat

```bash
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

```bash
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

```bash
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 |
| --- | --- |
| Maydon`id` | Turstring |
| Maydon`object` | Turstring |
| Maydon`model` | Turstring |
| Maydon`status` | Turstring |
| Maydon`content_url` | Tursigned URL |
| Maydon`data[]` | Tursigned URL |
| Maydon`usage` | Turobject |
| Maydon`result_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. |
| Javob`server_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`](https://ailoot.ai/models/uz/#m=happyhorse-1.1-t2v&route=Core&caller=happyhorse-1.1-t2v&fmt=videos), [`happyhorse-t2v`](https://ailoot.ai/models/uz/#m=happyhorse-1.1-t2v&route=Core&caller=happyhorse-t2v&fmt=videos), [`happyhorse-t2v-latest`](https://ailoot.ai/models/uz/#m=happyhorse-1.1-t2v&route=Core&caller=happyhorse-t2v-latest&fmt=videos)

#### Usul yo‘llari taxalluslari

Yuqorida ko‘rsatilgan usul yo‘llaridan foydalaning.

#### Chaqirish uchun tegishli ID lar

[`happyhorse-1.1-t2v`](https://ailoot.ai/models/uz/#m=happyhorse-1.1-t2v&route=Core&caller=happyhorse-1.1-t2v&fmt=videos), [`happyhorse-t2v`](https://ailoot.ai/models/uz/#m=happyhorse-1.1-t2v&route=Core&caller=happyhorse-t2v&fmt=videos), [`happyhorse-t2v-latest`](https://ailoot.ai/models/uz/#m=happyhorse-1.1-t2v&route=Core&caller=happyhorse-t2v-latest&fmt=videos)

FAQ · happyhorse-1.1-t2v

Qanday kirish ma’lumotlari va natijalar mavjud?

`POST /v1/videos/generations` · `happyhorse-1.1-t2v`: `text` → `video` `POST /v1/videos/generations` · `happyhorse-t2v`: `text` → `video` `POST /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_urls` `POST /v1/videos/generations` · `happyhorse-t2v`: `model`, `prompt`, `duration`, `resolution`, `ratio`, `image_urls` `POST /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`: `15` `POST /v1/videos/generations` · `happyhorse-t2v`: `duration.minimum`: `3`; `duration.maximum`: `15` `POST /v1/videos/generations` · `happyhorse-t2v-latest`: `duration.minimum`: `3`; `duration.maximum`: `15`

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](https://ailoot.ai/docs/uz/billing/subscriptions/) · [Model narxlarini ko‘rish](https://ailoot.ai/models/uz/)

## 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](mailto:support@ailoot.ai) · [Oferta va litsenziya shartnomasi](https://ailoot.ai/legal/offer?lang=uz)

## Ailoot · Kompaniya va uning loyihalar portfeli





Ailoot to‘plangan faoliyat tajribasi, keng mijozlar bazasi, barqaror xizmat va doimiy KPI nazoratiga tayanadi.





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





Ailoot bu faoliyat tajribasini mijozlar mahsulotlari, agentlar, ilovalar va avtomatlashtirishlarda AI imkoniyatlariga API orqali kirishni ta’minlashda qo‘llaydi.
