Source: https://ailoot.ai/models/kk/happyhorse-1-1-i2v/
Canonical: https://ailoot.ai/models/kk/happyhorse-1-1-i2v/
Language: kk

# happyhorse-1.1-i2v

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

## [happyhorse-1.1-i2v](https://ailoot.ai/models/kk/happyhorse-1-1-i2v/)

Суретті қозғалысқа келтіретін модель: бастапқы сурет бірінші кадрды белгілейді, ал сипаттама кейінгі қозғалысты бағыттайды. Дыбыстық сүйемелдеуі болуы мүмкін қысқа бейнеролик жасайды.

- [**Ailoot · Бейне** `POST /v1/videos/generations` `happyhorse-1.1-i2v`](https://ailoot.ai/models/kk/happyhorse-1-1-i2v/#method-0)
- [**Ailoot · Бейне** `POST /v1/videos/generations` `happyhorse-i2v`](https://ailoot.ai/models/kk/happyhorse-1-1-i2v/#method-1)
- [**Ailoot · Бейне** `POST /v1/videos/generations` `happyhorse-i2v-latest`](https://ailoot.ai/models/kk/happyhorse-1-1-i2v/#method-2)

Модель туралы

Бұл сипаттама модель мүмкіндіктерін қамтиды. Ailoot жүйесінде таңдалған әдіс үшін қолжетімді кіріс, шығыс және параметрлер төменде берілген.

HappyHorse-1.1-I2V — бейнесахнаны дайын суреттен бастайтын Alibaba моделі. Сурет бірінші кадрға айналады, ал мәтін кейінгі әрекетті: кейіпкер қозғалысын, сахнадағы өзгерістерді және камера бағытын анықтай алады. Бұл иллюстрацияны, заттың фотосуретін немесе алдын ала дайындалған визуалды тұжырымдаманы жандандыруға жарайды.

Мәтіндік сипаттама міндетті емес. Ол болмаса, модель бастапқы суреттің мазмұнына қарап ықтимал қозғалысты өзі анықтайды. Тапсырма нақты берілгенде бастапқы сурет композиция мен нысандардың сыртқы көрінісін белгілейді, ал сөздер сахнаның уақыт бойынша дамуын бағыттайды.

#### Бірінші кадрдан қозғалысқа

Alibaba кейіпкердің сыртқы көрінісін сақтауды, визуалды үйлесімділікті, қозғалыстың бірқалыптылығын және сурет пен дыбыстың үйлесуін атап көрсетеді. Мәлімделген бағыттардың қатарында жазулар мен текстуралардың тұрақтылығы да бар. Бұл қасиеттер модельдің көзделген мүмкіндіктеріне қатысты және барлық жасалған кадрда әрбір пиксельдің дәл сақталатынын білдірмейді.

Бұл режимде бір бастапқы сурет қолданылады. Ол жаңа композицияға арналған тәуелсіз үлгілер жиынын емес, бастапқы сахнаны белгілейді. Осы нақты нұсқа үшін жеке аяқтау кадрын тағайындау мүмкіндігі мәлімделмеген.

JPEG, JPG, PNG және WEBP қабылданады. Кіріс суреттің әр қабырғасы кемінде 300 пиксель болуы керек; рұқсат етілген арақатынас — 1:2,5-тен 2,5:1-ге дейін, файл өлшемі — 20 МБ-қа дейін. Дайын бейненің арақатынасы бірінші кадрға сәйкес келеді.

#### Ролик параметрлері

Ұзақтығы 3-тен 15 секундқа дейінгі бүтін санмен таңдалады. 480P, 720P және 1080P ажыратымдылық деңгейлері қолжетімді; шығыс форматы — MP4, жиілігі — секундына 24 кадр. Бейнеқатармен бірге дыбыстық сүйемелдеу жасау қолдау табады.

Сипаттама кез келген тілде беріле алады және қытайша емес 5000 немесе қытайша 2500 таңбаға дейін қамтиды. Шектен асса, артық бөлігі алынып тасталады, сондықтан маңызды әрекеттер мен қозғалыс ерекшеліктерін тапсырма көлеміне сыйғызу керек. Кездейсоқтықтың бірдей бастапқы мәні ұқсас роликтер беруі мүмкін, бірақ олардың кадр бойынша дәл сәйкес келуіне кепілдік бермейді.

**Ailoot · Бейне** `POST /v1/videos/generations` `happyhorse-1.1-i2v`

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

Alibaba /`happyhorse-1.1-i2v`

Модель ID

- `happyhorse-1.1-i2v`
- `happyhorse-i2v`
- `happyhorse-i2v-latest`

### Бастау

Суретті қозғалысқа келтіретін модель: бастапқы сурет бірінші кадрды белгілейді, ал сипаттама кейінгі қозғалысты бағыттайды. Дыбыстық сүйемелдеуі болуы мүмкін қысқа бейнеролик жасайды.

Қабылданатын кіріс деректері

Мәтін · Суреттер

Нәтижелер

Бейне

### Ailoot жүйесінде қолжетімді · кіріс деректері мен әдістер

**Ailoot · Бейне** `POST /v1/videos/generations`

Кіріс

`text`, `image`

Шығыс

`video`

Шығыс пішімі

mp4

| Өріс | Түрі | Талап | Мәндер мен шектеулер | Әдепкі |
| --- | --- | --- | --- | --- |
| Өріс`model` | Түрі`string` | ТалапМіндетті | Мәндер мен шектеулер happyhorse-1.1-i2v | Әдепкі— |
| Өріс`prompt` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер Ең аз ұзындық: 1 | Әдепкі— |
| Өріс`duration` | Түрі`integer` | ТалапМіндетті емес | Мәндер мен шектеулер Ең азы: 3 Ең көбі: 15 Бірлік: секунд | Әдепкі5 |
| Өріс`resolution` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер 480P, 720P, 1080P | Әдепкі720P |
| Өріс`ratio` | Түрі`string` | ТалапҚолдау көрсетілмейді | Мәндер мен шектеулер | Әдепкі— |
| Өріс`image_urls` | Түрі`https_url\|data_image_url[]` | ТалапМіндетті | Мәндер мен шектеулер Элементтердің ең аз саны: 1 Элементтердің ең көп саны: 1 Декодталған байттардың ең көп саны: 20 971 520 MIME түрлері: image/jpeg, image/png, image/webp | Әдепкі— |

Кіріс материалдарының үйлесімдері

**first\_frame\_to\_video** · Міндетті: image\_urls

Әдіс параметрлері мен өмірлік циклі

| Параметр | Параметр талаптары |
| --- | --- |
| Параметр`content_type` | Параметр талаптарыapplication/json |
| Параметр`required` | Параметр талаптарыmodel, image\_urls |
| Параметр`material_types` | Параметр талаптарыtext, image |
| Параметр`optional` | Параметр талаптарыduration, resolution, ratio, prompt |
| Параметр`duration_integer_range` | Параметр талаптары3, 15 |
| Параметр`default_duration` | Параметр талаптары5 |
| Параметр`resolution` | Параметр талаптары480P, 720P, 1080P |
| Параметр`default_resolution` | Параметр талаптары720P |
| Параметр`ratio` | Параметр талаптары |
| Параметр`ratio_must_omit` | Параметр талаптарыtrue |
| Параметр`image_urls` | Параметр талаптары{"min\_count":1,"max\_count":1,"schemes":\["https","data схемасындағы base64 растрлық деректері"\],"max\_data\_image\_bytes":20971520} |

Өмірлік цикл: `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`

Әдіс құрылымдары мен ID мәндері дәл берілген; жеткізушінің мүмкіндігі сұрауды қабылдаудан бөлек қаралады.

### Тарифтер

#### Ailoot әдістерінің мөлшерлемелері

Шығыс

0,18 $ *1080p ажыратымдылықта секундына*

Шығыс

0,07 $ *480p ажыратымдылықта секундына*

Шығыс

0,14 $ *720p ажыратымдылықта секундына*

Ailoot сұрау алдында болжамды соманы резервтейді. Нәтижеден кейін өлшенген пайдалану көлемі бойынша қорытынды төлемді шегереді. Ағындық жауап үшін төлем соңғы пайдалану жазбасы негізінде шегеріледі. [Резервтеу мен төлемді есептеу тәртібі →](https://ailoot.ai/docs/kk/billing/reserve/)

### Сұрау мысалдары

#### Ailoot · Бейне

Үлгі сурет

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

### Нәтижелерді алу және сақтау

#### Ailoot · Бейне

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`

##### Тапсырма күйін тексеру

GET күйі

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

##### Барлық дайын материалды сақтау

GET барлық дайын материалдар

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

Басқа мазмұнды оқу

GET мазмұн

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

##### Барлық дайын нәтижені сақтау

Әр дайын бейнені немесе қайтарылған файлды сақтаңыз; нақты қайтарылған әр материал URL арқылы мазмұнды алыңыз.

Қайтарылған әрбір дерек элементін және шығыс индексін сақтаңыз. content\_url тек бірінші нәтижеге арналған; әрбір нақты мазмұн жолы немесе ресурс бойынша файлды алыңыз. Индекссіз мазмұн GET сұрауы барлық шығыс нәтижесін бермейді.

##### Бастапқы жауапты тексеру қажет болса

Бар бастапқы тапсырманы оқыңыз; жіберу нәтижесі белгісіз сұрауды ешқашан қайталап жібермеңіз.

Жауап өрістері

| Өріс | Түрі |
| --- | --- |
| Өріс`id` | Түріstring |
| Өріс`object` | Түріstring |
| Өріс`model` | Түріstring |
| Өріс`status` | Түріstring |
| Өріс`content_url` | Түріsigned URL |
| Өріс`data[]` | Түріsigned URL |
| Өріс`usage` | Түріobject |
| Өріс`result_pending_check` | Түріboolean |

Қателер және келесі қадамдар

| Жауап | Шарт | Келесі қадам |
| --- | --- | --- |
| Жауап400 · `invalid_request_error` | ШартМіндетті өрістер, материалды ұсыну тәсілі немесе параметр мәні қате | Келесі қадамЖаңадан жасау сұрауын жібермес бұрын көрсетілген өрістерді түзетіңіз. |
| Жауап409 · `video_not_ready` | ШартБастапқы нәтиженің мазмұны әзірге қолжетімді емес | Келесі қадамБастапқы қайтарылған ID бойынша күйді мезгіл-мезгіл сұрап, Retry-After талабын сақтаңыз. |
| Жауап`server_error` | ШартҚайтарылған жауапта операцияны немесе нәтижені тексеру қажет екені көрсетілген | Келесі қадамБастапқыда қайтарылған операцияның/тапсырманың ID мәнін, сұрау тақырыптарын және жауабын сақтаңыз; сол бастапқы операцияны қолдау көрсетілетін тәсілдермен оқуды жалғастырыңыз. Жасау сұрауын қайта жібермеңіз. |

### Балама атаулар

#### Модельдердің балама атаулары

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

#### Әдіс жолдарының балама атаулары

Жоғарыда көрсетілген әдіс жолдарын пайдаланыңыз.

#### Шақыруға арналған байланысты ID

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

**Ailoot · Бейне** `POST /v1/videos/generations` `happyhorse-i2v`

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

Alibaba /`happyhorse-i2v`

Модель ID

- `happyhorse-1.1-i2v`
- `happyhorse-i2v`
- `happyhorse-i2v-latest`

### Бастау

Суретті қозғалысқа келтіретін модель: бастапқы сурет бірінші кадрды белгілейді, ал сипаттама кейінгі қозғалысты бағыттайды. Дыбыстық сүйемелдеуі болуы мүмкін қысқа бейнеролик жасайды.

Қабылданатын кіріс деректері

Мәтін · Суреттер

Нәтижелер

Бейне

### Ailoot жүйесінде қолжетімді · кіріс деректері мен әдістер

**Ailoot · Бейне** `POST /v1/videos/generations`

Кіріс

`text`, `image`

Шығыс

`video`

Шығыс пішімі

mp4

| Өріс | Түрі | Талап | Мәндер мен шектеулер | Әдепкі |
| --- | --- | --- | --- | --- |
| Өріс`model` | Түрі`string` | ТалапМіндетті | Мәндер мен шектеулер happyhorse-i2v | Әдепкі— |
| Өріс`prompt` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер Ең аз ұзындық: 1 | Әдепкі— |
| Өріс`duration` | Түрі`integer` | ТалапМіндетті емес | Мәндер мен шектеулер Ең азы: 3 Ең көбі: 15 Бірлік: секунд | Әдепкі5 |
| Өріс`resolution` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер 480P, 720P, 1080P | Әдепкі720P |
| Өріс`ratio` | Түрі`string` | ТалапҚолдау көрсетілмейді | Мәндер мен шектеулер | Әдепкі— |
| Өріс`image_urls` | Түрі`https_url\|data_image_url[]` | ТалапМіндетті | Мәндер мен шектеулер Элементтердің ең аз саны: 1 Элементтердің ең көп саны: 1 Декодталған байттардың ең көп саны: 20 971 520 MIME түрлері: image/jpeg, image/png, image/webp | Әдепкі— |

Кіріс материалдарының үйлесімдері

**first\_frame\_to\_video** · Міндетті: image\_urls

Әдіс параметрлері мен өмірлік циклі

| Параметр | Параметр талаптары |
| --- | --- |
| Параметр`material_types` | Параметр талаптарыtext, image |
| Параметр`required` | Параметр талаптарыnull |
| Параметр`optional_controls` | Параметр талаптарыnull |

Өмірлік цикл: `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`

Әдіс құрылымдары мен ID мәндері дәл берілген; жеткізушінің мүмкіндігі сұрауды қабылдаудан бөлек қаралады.

### Тарифтер

#### Ailoot әдістерінің мөлшерлемелері

Шығыс

0,18 $ *1080p ажыратымдылықта секундына*

Шығыс

0,07 $ *480p ажыратымдылықта секундына*

Шығыс

0,14 $ *720p ажыратымдылықта секундына*

Ailoot сұрау алдында болжамды соманы резервтейді. Нәтижеден кейін өлшенген пайдалану көлемі бойынша қорытынды төлемді шегереді. Ағындық жауап үшін төлем соңғы пайдалану жазбасы негізінде шегеріледі. [Резервтеу мен төлемді есептеу тәртібі →](https://ailoot.ai/docs/kk/billing/reserve/)

### Сұрау мысалдары

#### Ailoot · Бейне

Үлгі сурет

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

### Нәтижелерді алу және сақтау

#### Ailoot · Бейне

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`

##### Тапсырма күйін тексеру

GET күйі

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

##### Барлық дайын материалды сақтау

GET барлық дайын материалдар

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

Басқа мазмұнды оқу

GET мазмұн

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

##### Барлық дайын нәтижені сақтау

Әр дайын бейнені немесе қайтарылған файлды сақтаңыз; нақты қайтарылған әр материал URL арқылы мазмұнды алыңыз.

Қайтарылған әрбір дерек элементін және шығыс индексін сақтаңыз. content\_url тек бірінші нәтижеге арналған; әрбір нақты мазмұн жолы немесе ресурс бойынша файлды алыңыз. Индекссіз мазмұн GET сұрауы барлық шығыс нәтижесін бермейді.

##### Бастапқы жауапты тексеру қажет болса

Бар бастапқы тапсырманы оқыңыз; жіберу нәтижесі белгісіз сұрауды ешқашан қайталап жібермеңіз.

Жауап өрістері

| Өріс | Түрі |
| --- | --- |
| Өріс`id` | Түріstring |
| Өріс`object` | Түріstring |
| Өріс`model` | Түріstring |
| Өріс`status` | Түріstring |
| Өріс`content_url` | Түріsigned URL |
| Өріс`data[]` | Түріsigned URL |
| Өріс`usage` | Түріobject |
| Өріс`result_pending_check` | Түріboolean |

Қателер және келесі қадамдар

| Жауап | Шарт | Келесі қадам |
| --- | --- | --- |
| Жауап400 · `invalid_request_error` | ШартМіндетті өрістер, материалды ұсыну тәсілі немесе параметр мәні қате | Келесі қадамЖаңадан жасау сұрауын жібермес бұрын көрсетілген өрістерді түзетіңіз. |
| Жауап409 · `video_not_ready` | ШартБастапқы нәтиженің мазмұны әзірге қолжетімді емес | Келесі қадамБастапқы қайтарылған ID бойынша күйді мезгіл-мезгіл сұрап, Retry-After талабын сақтаңыз. |
| Жауап`server_error` | ШартҚайтарылған жауапта операцияны немесе нәтижені тексеру қажет екені көрсетілген | Келесі қадамБастапқыда қайтарылған операцияның/тапсырманың ID мәнін, сұрау тақырыптарын және жауабын сақтаңыз; сол бастапқы операцияны қолдау көрсетілетін тәсілдермен оқуды жалғастырыңыз. Жасау сұрауын қайта жібермеңіз. |

### Балама атаулар

#### Модельдердің балама атаулары

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

#### Әдіс жолдарының балама атаулары

Жоғарыда көрсетілген әдіс жолдарын пайдаланыңыз.

#### Шақыруға арналған байланысты ID

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

**Ailoot · Бейне** `POST /v1/videos/generations` `happyhorse-i2v-latest`

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

Alibaba /`happyhorse-i2v-latest`

Модель ID

- `happyhorse-1.1-i2v`
- `happyhorse-i2v`
- `happyhorse-i2v-latest`

### Бастау

Суретті қозғалысқа келтіретін модель: бастапқы сурет бірінші кадрды белгілейді, ал сипаттама кейінгі қозғалысты бағыттайды. Дыбыстық сүйемелдеуі болуы мүмкін қысқа бейнеролик жасайды.

Қабылданатын кіріс деректері

Мәтін · Суреттер

Нәтижелер

Бейне

### Ailoot жүйесінде қолжетімді · кіріс деректері мен әдістер

**Ailoot · Бейне** `POST /v1/videos/generations`

Кіріс

`text`, `image`

Шығыс

`video`

Шығыс пішімі

mp4

| Өріс | Түрі | Талап | Мәндер мен шектеулер | Әдепкі |
| --- | --- | --- | --- | --- |
| Өріс`model` | Түрі`string` | ТалапМіндетті | Мәндер мен шектеулер happyhorse-i2v-latest | Әдепкі— |
| Өріс`prompt` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер Ең аз ұзындық: 1 | Әдепкі— |
| Өріс`duration` | Түрі`integer` | ТалапМіндетті емес | Мәндер мен шектеулер Ең азы: 3 Ең көбі: 15 Бірлік: секунд | Әдепкі5 |
| Өріс`resolution` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер 480P, 720P, 1080P | Әдепкі720P |
| Өріс`ratio` | Түрі`string` | ТалапҚолдау көрсетілмейді | Мәндер мен шектеулер | Әдепкі— |
| Өріс`image_urls` | Түрі`https_url\|data_image_url[]` | ТалапМіндетті | Мәндер мен шектеулер Элементтердің ең аз саны: 1 Элементтердің ең көп саны: 1 Декодталған байттардың ең көп саны: 20 971 520 MIME түрлері: image/jpeg, image/png, image/webp | Әдепкі— |

Кіріс материалдарының үйлесімдері

**first\_frame\_to\_video** · Міндетті: image\_urls

Әдіс параметрлері мен өмірлік циклі

| Параметр | Параметр талаптары |
| --- | --- |
| Параметр`material_types` | Параметр талаптарыtext, image |
| Параметр`required` | Параметр талаптарыnull |
| Параметр`optional_controls` | Параметр талаптарыnull |

Өмірлік цикл: `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`

Әдіс құрылымдары мен ID мәндері дәл берілген; жеткізушінің мүмкіндігі сұрауды қабылдаудан бөлек қаралады.

### Тарифтер

#### Ailoot әдістерінің мөлшерлемелері

Шығыс

0,18 $ *1080p ажыратымдылықта секундына*

Шығыс

0,07 $ *480p ажыратымдылықта секундына*

Шығыс

0,14 $ *720p ажыратымдылықта секундына*

Ailoot сұрау алдында болжамды соманы резервтейді. Нәтижеден кейін өлшенген пайдалану көлемі бойынша қорытынды төлемді шегереді. Ағындық жауап үшін төлем соңғы пайдалану жазбасы негізінде шегеріледі. [Резервтеу мен төлемді есептеу тәртібі →](https://ailoot.ai/docs/kk/billing/reserve/)

### Сұрау мысалдары

#### Ailoot · Бейне

Үлгі сурет

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

### Нәтижелерді алу және сақтау

#### Ailoot · Бейне

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`

##### Тапсырма күйін тексеру

GET күйі

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

##### Барлық дайын материалды сақтау

GET барлық дайын материалдар

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

Басқа мазмұнды оқу

GET мазмұн

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

##### Барлық дайын нәтижені сақтау

Әр дайын бейнені немесе қайтарылған файлды сақтаңыз; нақты қайтарылған әр материал URL арқылы мазмұнды алыңыз.

Қайтарылған әрбір дерек элементін және шығыс индексін сақтаңыз. content\_url тек бірінші нәтижеге арналған; әрбір нақты мазмұн жолы немесе ресурс бойынша файлды алыңыз. Индекссіз мазмұн GET сұрауы барлық шығыс нәтижесін бермейді.

##### Бастапқы жауапты тексеру қажет болса

Бар бастапқы тапсырманы оқыңыз; жіберу нәтижесі белгісіз сұрауды ешқашан қайталап жібермеңіз.

Жауап өрістері

| Өріс | Түрі |
| --- | --- |
| Өріс`id` | Түріstring |
| Өріс`object` | Түріstring |
| Өріс`model` | Түріstring |
| Өріс`status` | Түріstring |
| Өріс`content_url` | Түріsigned URL |
| Өріс`data[]` | Түріsigned URL |
| Өріс`usage` | Түріobject |
| Өріс`result_pending_check` | Түріboolean |

Қателер және келесі қадамдар

| Жауап | Шарт | Келесі қадам |
| --- | --- | --- |
| Жауап400 · `invalid_request_error` | ШартМіндетті өрістер, материалды ұсыну тәсілі немесе параметр мәні қате | Келесі қадамЖаңадан жасау сұрауын жібермес бұрын көрсетілген өрістерді түзетіңіз. |
| Жауап409 · `video_not_ready` | ШартБастапқы нәтиженің мазмұны әзірге қолжетімді емес | Келесі қадамБастапқы қайтарылған ID бойынша күйді мезгіл-мезгіл сұрап, Retry-After талабын сақтаңыз. |
| Жауап`server_error` | ШартҚайтарылған жауапта операцияны немесе нәтижені тексеру қажет екені көрсетілген | Келесі қадамБастапқыда қайтарылған операцияның/тапсырманың ID мәнін, сұрау тақырыптарын және жауабын сақтаңыз; сол бастапқы операцияны қолдау көрсетілетін тәсілдермен оқуды жалғастырыңыз. Жасау сұрауын қайта жібермеңіз. |

### Балама атаулар

#### Модельдердің балама атаулары

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

#### Әдіс жолдарының балама атаулары

Жоғарыда көрсетілген әдіс жолдарын пайдаланыңыз.

#### Шақыруға арналған байланысты ID

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

FAQ · happyhorse-1.1-i2v

Қандай кіріс деректері мен нәтижелер қолжетімді?

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

Сұрау қандай өрістерді пайдаланады?

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

Қандай шектеулер қолданылады?

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

Ailoot-ты Claude Code, OpenCode, Hermes не қолданбаңызға қосыңыз.

## Компания және оның жобалар портфелі

Компания және оның жобалар портфелі: миллиондаған клиент; ай сайынғы сату көлемі миллиардтармен есептеледі.

## Токенді жеңілдікпен сатып алыңыз.

Тұрақты жұмысқа жазылым жеңілдігі. Токен сатып алуға промокодтар — 50% дейін.

Жазылым

Тұрақты сұрауыңызға жеңілдікті тариф таңдаңыз.

50% дейінгі промокод

Сатып алғанда код енгізіңіз. Баға қазіргі науқанмен қайта есептеледі.

Тарихтағы шығындар

Әр сұрауға модель, токен және сома сақталады.

[Жазылым таңдау](https://ailoot.ai/docs/kk/billing/subscriptions/) · [Модель бағасын көру](https://ailoot.ai/models/kk/)

## API-ді сататын өніміңізге қосыңыз.

SaaS, қолданба мен бот Ailoot офертасы және лицензиялық шартына сай. Қайта сатуға реселлер лицензиясын сұраңыз.

Коммерциялық қолданба

Қызметіңіздің ақылы функциясына мәтін, сурет, бейне және дыбыс жасауды қосыңыз.

Реселлер лицензиясы

Жоба сипаттамасы мен кіру схемасын жіберіңіз. Пайдалану мен қайта сатуға жазбаша шарт сұраңыз.

Сайттағы құжаттар

Оферта, лицензиялық шарт және дерек саясаты қоспай тұрып қолжетімді.

[Реселлер лицензиясын сұрау](mailto:support@ailoot.ai) · [Оферта мен лицензиялық шарт](https://ailoot.ai/legal/offer?lang=kk)

## Ailoot · Компания және оның жобалар портфелі





Ailoot жинақталған жұмыс тәжірибесіне, кең клиенттік базаға, тұрақты қызметке және KPI көрсеткіштерін үздіксіз бақылауға сүйенеді.





Компания және оның жобалар портфелі: миллиондаған клиент; ай сайынғы сату көлемі миллиардтармен есептеледі.





Ailoot осы тәжірибені клиенттердің өнімдерінде, агенттерінде, қолданбаларында және автоматтандыруларында жасанды интеллект мүмкіндіктеріне API арқылы қол жеткізуді қамтамасыз етуге пайдаланады.
