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

# happyhorse-1.1-r2v

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

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

Үлгі суреттер мен мәтіндік сценарий бойынша бейне жасайтын модель. Жаңа сахнада кейіпкерлердің сыртқы көрінісін, заттарды және визуалды стильді сақтауға көмектеседі.

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

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

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

HappyHorse-1.1-R2V үлгі суреттер мен мәтіндік тапсырма бойынша жаңа бейнесахна жасайды. Alibaba модельді қозғалыс жасау кезінде танымал кейіпкерлерді, нысандарды және визуалды стильді сақтауға бағыттайды. Үлгілер сахнаның мазмұны мен сыртқы көрінісін анықтайды, ал мәтін осы элементтердің қалай әрекеттесуі керектігін сипаттайды.

#### Визуалды үлгілердің рөлдері

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

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

Әрқайсысының өлшемі 20 МБ-қа дейінгі JPEG, JPG, PNG және WEBP қабылданады. Суреттің қысқа қабырғасы кемінде 400 пиксель болуы керек; 720P немесе одан жоғары деңгейдегі материалдар ұсынылады. Бұл режимнің кірісі дәл суреттер мен мәтіннен тұрады.

#### Ұзақтық, кадр және дыбыс

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

Көлденең, тік және шаршы кадрлар қолжетімді: 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21 және 21:9. Форматты таңдау жаңа сахнаның композициялық кеңістігін алдын ала анықтауға көмектеседі.

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

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

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

Alibaba /`happyhorse-1.1-r2v`

Модель ID

- `happyhorse-1.1-r2v`
- `happyhorse-r2v`
- `happyhorse-r2v-latest`

### Бастау

Үлгі суреттер мен мәтіндік сценарий бойынша бейне жасайтын модель. Жаңа сахнада кейіпкерлердің сыртқы көрінісін, заттарды және визуалды стильді сақтауға көмектеседі.

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

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

Нәтижелер

Бейне

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

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

Кіріс

`text`, `image`

Шығыс

`video`

Шығыс пішімі

mp4

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

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

**reference\_images\_to\_video** · Міндетті: prompt, image\_urls

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

| Параметр | Параметр талаптары |
| --- | --- |
| Параметр`content_type` | Параметр талаптарыapplication/json |
| Параметр`required` | Параметр талаптарыmodel, prompt, image\_urls |
| Параметр`material_types` | Параметр талаптарыtext, image |
| Параметр`optional` | Параметр талаптарыduration, resolution, ratio |
| Параметр`duration_integer_range` | Параметр талаптары3, 15 |
| Параметр`default_duration` | Параметр талаптары5 |
| Параметр`resolution` | Параметр талаптары480P, 720P, 1080P |
| Параметр`default_resolution` | Параметр талаптары720P |
| Параметр`ratio` | Параметр талаптары16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9 |
| Параметр`ratio_must_omit` | Параметр талаптарыfalse |
| Параметр`image_urls` | Параметр талаптары{"min\_count":1,"max\_count":9,"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_URLS_FILE:?Set a JSON file containing your actual reference-image URLs}"
export AILOOT_IMAGE_URLS_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "happyhorse-1.1-r2v", "prompt": "The subject walks slowly toward the camera.", "duration": 5, "resolution": "720P"}')
from urllib.parse import urlsplit
f=Path(os.environ["AILOOT_IMAGE_URLS_FILE"])
if not f.is_file():raise SystemExit("Choose the actual reference URL JSON file")
urls=json.loads(f.read_text())
if not isinstance(urls,list) or not 1<=len(urls)<=9:raise SystemExit("Provide one to nine reference-image URLs")
for u in urls:
    z=urlsplit(u) if isinstance(u,str) else None
    if not z or z.scheme!="https" or not z.netloc or z.username or z.password:raise SystemExit("Each reference must be an actual HTTPS image URL")
p["image_urls"]=urls
p["ratio"]="16:9"
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-r2v`](https://ailoot.ai/models/kk/#m=happyhorse-1.1-r2v&route=Core&caller=happyhorse-1.1-r2v&fmt=videos), [`happyhorse-r2v`](https://ailoot.ai/models/kk/#m=happyhorse-1.1-r2v&route=Core&caller=happyhorse-r2v&fmt=videos), [`happyhorse-r2v-latest`](https://ailoot.ai/models/kk/#m=happyhorse-1.1-r2v&route=Core&caller=happyhorse-r2v-latest&fmt=videos)

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

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

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

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

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

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

Alibaba /`happyhorse-r2v`

Модель ID

- `happyhorse-1.1-r2v`
- `happyhorse-r2v`
- `happyhorse-r2v-latest`

### Бастау

Үлгі суреттер мен мәтіндік сценарий бойынша бейне жасайтын модель. Жаңа сахнада кейіпкерлердің сыртқы көрінісін, заттарды және визуалды стильді сақтауға көмектеседі.

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

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

Нәтижелер

Бейне

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

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

Кіріс

`text`, `image`

Шығыс

`video`

Шығыс пішімі

mp4

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

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

**reference\_images\_to\_video** · Міндетті: prompt, 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_URLS_FILE:?Set a JSON file containing your actual reference-image URLs}"
export AILOOT_IMAGE_URLS_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "happyhorse-r2v", "prompt": "The subject walks slowly toward the camera.", "duration": 5, "resolution": "720P"}')
from urllib.parse import urlsplit
f=Path(os.environ["AILOOT_IMAGE_URLS_FILE"])
if not f.is_file():raise SystemExit("Choose the actual reference URL JSON file")
urls=json.loads(f.read_text())
if not isinstance(urls,list) or not 1<=len(urls)<=9:raise SystemExit("Provide one to nine reference-image URLs")
for u in urls:
    z=urlsplit(u) if isinstance(u,str) else None
    if not z or z.scheme!="https" or not z.netloc or z.username or z.password:raise SystemExit("Each reference must be an actual HTTPS image URL")
p["image_urls"]=urls
p["ratio"]="16:9"
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-r2v`](https://ailoot.ai/models/kk/#m=happyhorse-1.1-r2v&route=Core&caller=happyhorse-1.1-r2v&fmt=videos), [`happyhorse-r2v`](https://ailoot.ai/models/kk/#m=happyhorse-1.1-r2v&route=Core&caller=happyhorse-r2v&fmt=videos), [`happyhorse-r2v-latest`](https://ailoot.ai/models/kk/#m=happyhorse-1.1-r2v&route=Core&caller=happyhorse-r2v-latest&fmt=videos)

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

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

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

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

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

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

Alibaba /`happyhorse-r2v-latest`

Модель ID

- `happyhorse-1.1-r2v`
- `happyhorse-r2v`
- `happyhorse-r2v-latest`

### Бастау

Үлгі суреттер мен мәтіндік сценарий бойынша бейне жасайтын модель. Жаңа сахнада кейіпкерлердің сыртқы көрінісін, заттарды және визуалды стильді сақтауға көмектеседі.

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

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

Нәтижелер

Бейне

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

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

Кіріс

`text`, `image`

Шығыс

`video`

Шығыс пішімі

mp4

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

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

**reference\_images\_to\_video** · Міндетті: prompt, 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_URLS_FILE:?Set a JSON file containing your actual reference-image URLs}"
export AILOOT_IMAGE_URLS_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "happyhorse-r2v-latest", "prompt": "The subject walks slowly toward the camera.", "duration": 5, "resolution": "720P"}')
from urllib.parse import urlsplit
f=Path(os.environ["AILOOT_IMAGE_URLS_FILE"])
if not f.is_file():raise SystemExit("Choose the actual reference URL JSON file")
urls=json.loads(f.read_text())
if not isinstance(urls,list) or not 1<=len(urls)<=9:raise SystemExit("Provide one to nine reference-image URLs")
for u in urls:
    z=urlsplit(u) if isinstance(u,str) else None
    if not z or z.scheme!="https" or not z.netloc or z.username or z.password:raise SystemExit("Each reference must be an actual HTTPS image URL")
p["image_urls"]=urls
p["ratio"]="16:9"
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-r2v`](https://ailoot.ai/models/kk/#m=happyhorse-1.1-r2v&route=Core&caller=happyhorse-1.1-r2v&fmt=videos), [`happyhorse-r2v`](https://ailoot.ai/models/kk/#m=happyhorse-1.1-r2v&route=Core&caller=happyhorse-r2v&fmt=videos), [`happyhorse-r2v-latest`](https://ailoot.ai/models/kk/#m=happyhorse-1.1-r2v&route=Core&caller=happyhorse-r2v-latest&fmt=videos)

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

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

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

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

FAQ · happyhorse-1.1-r2v

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

`POST /v1/videos/generations` · `happyhorse-1.1-r2v`: `text`, `image` → `video` `POST /v1/videos/generations` · `happyhorse-r2v`: `text`, `image` → `video` `POST /v1/videos/generations` · `happyhorse-r2v-latest`: `text`, `image` → `video`

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

`POST /v1/videos/generations` · `happyhorse-1.1-r2v`: `model`, `prompt`, `duration`, `resolution`, `ratio`, `image_urls` `POST /v1/videos/generations` · `happyhorse-r2v`: `model`, `prompt`, `duration`, `resolution`, `ratio`, `image_urls` `POST /v1/videos/generations` · `happyhorse-r2v-latest`: `model`, `prompt`, `duration`, `resolution`, `ratio`, `image_urls`

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

`POST /v1/videos/generations` · `happyhorse-1.1-r2v`: `duration.minimum`: `3`; `duration.maximum`: `15` `POST /v1/videos/generations` · `happyhorse-r2v`: `duration.minimum`: `3`; `duration.maximum`: `15` `POST /v1/videos/generations` · `happyhorse-r2v-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 арқылы қол жеткізуді қамтамасыз етуге пайдаланады.
