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

# happyhorse-1.1-i2v

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

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

Modelis, suteikiantis judesio vaizdui: pradinis vaizdas nustato pirmąjį kadrą, o aprašymas nukreipia tolesnį judėjimą. Kuria trumpą vaizdo įrašą su galimu garso takeliu.

- [**Ailoot · Vaizdo įrašai** `POST /v1/videos/generations` `happyhorse-1.1-i2v`](https://ailoot.ai/models/lt/happyhorse-1-1-i2v/#method-0)
- [**Ailoot · Vaizdo įrašai** `POST /v1/videos/generations` `happyhorse-i2v`](https://ailoot.ai/models/lt/happyhorse-1-1-i2v/#method-1)
- [**Ailoot · Vaizdo įrašai** `POST /v1/videos/generations` `happyhorse-i2v-latest`](https://ailoot.ai/models/lt/happyhorse-1-1-i2v/#method-2)

Apie modelį

Šis aprašas apima modelio galimybes. Pasirinktam metodui Ailoot prieinamos įvestys, išvestys ir parinktys nurodytos toliau.

HappyHorse-1.1-I2V — Alibaba modelis, pradedantis vaizdo sceną nuo paruošto vaizdo. Vaizdas tampa pirmuoju kadru, o tekstas gali nurodyti tolesnį veiksmą: veikėjo judėjimą, scenos pokyčius ir kameros kryptį. Tai tinka iliustracijai, daikto nuotraukai ar iš anksto parengtai vizualinei koncepcijai pagyvinti.

Tekstinis aprašymas neprivalomas. Jei jo nėra, modelis pats numato galimą judesį pagal pradinio vaizdo turinį. Kai užduotis pateikiama aiškiai, pradinis vaizdas nustato kompoziciją ir objektų išvaizdą, o žodžiai nukreipia scenos raidą laike.

#### Nuo pirmojo kadro iki judesio

Alibaba pabrėžia veikėjo išvaizdos išlaikymą, vizualinį nuoseklumą, judesio sklandumą ir vaizdo bei garso derinimą. Tarp deklaruojamų krypčių taip pat yra užrašų ir tekstūrų stabilumas. Šios savybės apibūdina modelio paskirtį ir nereiškia, kad kiekvienas pikselis bus tiksliai išlaikytas visuose sugeneruotuose kadruose.

Šiuo režimu naudojamas vienas pradinis vaizdas. Jis nustato pradinę sceną, o ne pateikia nepriklausomų pavyzdžių rinkinį naujai kompozicijai. Galimybė šiai konkrečiai versijai nustatyti atskirą baigiamąjį kadrą nėra deklaruota.

Priimami JPEG, JPG, PNG ir WEBP. Kiekviena įvesties vaizdo kraštinė turi būti ne trumpesnė kaip 300 pikselių; leidžiamas kraštinių santykis — nuo 1:2,5 iki 2,5:1, failo dydis — iki 20 MB. Galutinio vaizdo įrašo kraštinių santykis atitinka pirmąjį kadrą.

#### Vaizdo įrašo parametrai

Trukmė pasirenkama sveikuoju skaičiumi nuo 3 iki 15 sekundžių. Galima rinktis 480P, 720P ir 1080P raišką; išvesties formatas — MP4, dažnis — 24 kadrai per sekundę. Palaikomas garso takelio kūrimas kartu su vaizdu.

Aprašymas gali būti bet kuria kalba ir turėti iki 5000 ne kinų arba 2500 kinų rašmenų. Viršijus ribą, perteklinė dalis atmetama, todėl svarbius veiksmus ir judėjimo ypatybes verta suformuluoti neviršijant užduoties apimties. Ta pati pradinė atsitiktinumo reikšmė gali duoti panašių vaizdo įrašų, tačiau negarantuoja, kad jų kadrai tiksliai sutaps.

**Ailoot · Vaizdo įrašai** `POST /v1/videos/generations` `happyhorse-1.1-i2v`

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

Alibaba /`happyhorse-1.1-i2v`

Modelio ID

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

### Pradžia

Modelis, suteikiantis judesio vaizdui: pradinis vaizdas nustato pirmąjį kadrą, o aprašymas nukreipia tolesnį judėjimą. Kuria trumpą vaizdo įrašą su galimu garso takeliu.

Leidžiamos įvestys

Tekstas · Vaizdai

Rezultatai

Vaizdo įrašai

### Prieinama Ailoot · įvestys ir metodai

**Ailoot · Vaizdo įrašai** `POST /v1/videos/generations`

Įvestis

`text`, `image`

Išvestis

`video`

Išvesties formatas

mp4

| Laukas | Tipas | Reikalavimas | Reikšmės ir ribos | Numatyta |
| --- | --- | --- | --- | --- |
| Laukas`model` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos happyhorse-1.1-i2v | Numatyta— |
| Laukas`prompt` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Mažiausias ilgis: 1 | Numatyta— |
| Laukas`duration` | Tipas`integer` | ReikalavimasNeprivaloma | Reikšmės ir ribos Mažiausia reikšmė: 3 Didžiausia reikšmė: 15 Vienetas: sekundės | Numatyta5 |
| Laukas`resolution` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos 480P, 720P, 1080P | Numatyta720P |
| Laukas`ratio` | Tipas`string` | ReikalavimasNepalaikoma | Reikšmės ir ribos | Numatyta— |
| Laukas`image_urls` | Tipas`https_url\|data_image_url[]` | ReikalavimasPrivaloma | Reikšmės ir ribos Mažiausias elementų skaičius: 1 Didžiausias elementų skaičius: 1 Didžiausias dekoduotų baitų skaičius: 20 971 520 MIME tipai: image/jpeg, image/png, image/webp | Numatyta— |

Įvesties medžiagos deriniai

**first\_frame\_to\_video** · Privaloma: image\_urls

Metodo parametrai ir gyvavimo ciklas

| Parametras | Specifikacija |
| --- | --- |
| Parametras`content_type` | Specifikacijaapplication/json |
| Parametras`required` | Specifikacijamodel, image\_urls |
| Parametras`material_types` | Specifikacijatext, image |
| Parametras`optional` | Specifikacijaduration, resolution, ratio, prompt |
| Parametras`duration_integer_range` | Specifikacija3, 15 |
| Parametras`default_duration` | Specifikacija5 |
| Parametras`resolution` | Specifikacija480P, 720P, 1080P |
| Parametras`default_resolution` | Specifikacija720P |
| Parametras`ratio` | Specifikacija |
| Parametras`ratio_must_omit` | Specifikacijatrue |
| Parametras`image_urls` | Specifikacija{"min\_count":1,"max\_count":1,"schemes":\["https","rastriniai data duomenys base64 formatu"\],"max\_data\_image\_bytes":20971520} |

Gyvavimo ciklas: `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ų struktūros ir ID yra tikslūs; tiekėjo galimybės yra atskirtos nuo užklausos priėmimo.

### Planai

#### Ailoot metodų įkainiai

Išvestis

0,18 USD *už sekundę 1080p raiška*

Išvestis

0,07 USD *už sekundę 480p raiška*

Išvestis

0,14 USD *už sekundę 720p raiška*

Ailoot prieš užklausą rezervuoja numatomą sumą. Gavus rezultatą, galutinis mokestis nuskaitomas pagal išmatuotą naudojimą. Srautinio atsakymo atsiskaitymui naudojamas galutinis naudojimo įrašas. [Kaip veikia rezervavimas ir atsiskaitymas →](https://ailoot.ai/docs/lt/billing/reserve/)

### Užklausų pavyzdžiai

#### Ailoot · Vaizdo įrašai

Pavyzdinis vaizdas

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

### Gauti ir išsaugoti rezultatus

#### Ailoot · Vaizdo įrašai

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`

##### Tikrinti užduoties būseną

GET būsena

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

##### Išsaugoti visą baigtą medžiagą

GET visa baigta medžiaga

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

Kito turinio skaitymas

GET turinys

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

##### Išsaugoti visus baigtus rezultatus

Išsaugokite kiekvieną baigtą vaizdo įrašą arba grąžintą failą; gaukite turinį iš kiekvieno faktiškai grąžinto medžiagos URL.

Išsaugokite kiekvieną grąžintą data elementą ir išvesties indeksą. content\_url nurodo tik pirmąjį; gaukite kiekvieną tikrą turinio kelią ar išteklių. GET content be index negrąžina visų rezultatų.

##### Jei reikia patikrinti pradinį atsakymą

Skaitykite esamos pradinės užduoties duomenis; niekada nekartokite siuntimo, kurio baigtis nežinoma.

Atsakymo laukai

| Laukas | Tipas |
| --- | --- |
| Laukas`id` | Tipasstring |
| Laukas`object` | Tipasstring |
| Laukas`model` | Tipasstring |
| Laukas`status` | Tipasstring |
| Laukas`content_url` | Tipassigned URL |
| Laukas`data[]` | Tipassigned URL |
| Laukas`usage` | Tipasobject |
| Laukas`result_pending_check` | Tipasboolean |

Klaidos ir tolesni veiksmai

| Atsakymas | Sąlyga | Kitas žingsnis |
| --- | --- | --- |
| Atsakymas400 · `invalid_request_error` | SąlygaNetinkami privalomi laukai, medžiagos pateikimo forma arba parametro reikšmė | Kitas žingsnisPrieš naują kūrimo užklausą pataisykite nurodytus laukus. |
| Atsakymas409 · `video_not_ready` | SąlygaPradinio rezultato turinys dar nepasiekiamas | Kitas žingsnisPeriodiškai tikrinkite pradinį grąžintą ID ir laikykitės Retry-After. |
| Atsakymas`server_error` | SąlygaGrąžintame atsakyme nurodoma, kad operaciją arba rezultatą reikia patikrinti | Kitas žingsnisIšsaugokite pradinį grąžintą operacijos ar užduoties ID, užklausos antraštes ir atsakymą; toliau tikrinkite tos pačios pradinės operacijos duomenis palaikomais būdais. Kūrimo užklausos pakartotinai neteikite. |

### Pseudonimai

#### Modelių pseudonimai

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

#### Metodų kelių pseudonimai

Naudokite aukščiau nurodytus metodų kelius.

#### Susiję ID iškvietimui

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

**Ailoot · Vaizdo įrašai** `POST /v1/videos/generations` `happyhorse-i2v`

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

Alibaba /`happyhorse-i2v`

Modelio ID

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

### Pradžia

Modelis, suteikiantis judesio vaizdui: pradinis vaizdas nustato pirmąjį kadrą, o aprašymas nukreipia tolesnį judėjimą. Kuria trumpą vaizdo įrašą su galimu garso takeliu.

Leidžiamos įvestys

Tekstas · Vaizdai

Rezultatai

Vaizdo įrašai

### Prieinama Ailoot · įvestys ir metodai

**Ailoot · Vaizdo įrašai** `POST /v1/videos/generations`

Įvestis

`text`, `image`

Išvestis

`video`

Išvesties formatas

mp4

| Laukas | Tipas | Reikalavimas | Reikšmės ir ribos | Numatyta |
| --- | --- | --- | --- | --- |
| Laukas`model` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos happyhorse-i2v | Numatyta— |
| Laukas`prompt` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Mažiausias ilgis: 1 | Numatyta— |
| Laukas`duration` | Tipas`integer` | ReikalavimasNeprivaloma | Reikšmės ir ribos Mažiausia reikšmė: 3 Didžiausia reikšmė: 15 Vienetas: sekundės | Numatyta5 |
| Laukas`resolution` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos 480P, 720P, 1080P | Numatyta720P |
| Laukas`ratio` | Tipas`string` | ReikalavimasNepalaikoma | Reikšmės ir ribos | Numatyta— |
| Laukas`image_urls` | Tipas`https_url\|data_image_url[]` | ReikalavimasPrivaloma | Reikšmės ir ribos Mažiausias elementų skaičius: 1 Didžiausias elementų skaičius: 1 Didžiausias dekoduotų baitų skaičius: 20 971 520 MIME tipai: image/jpeg, image/png, image/webp | Numatyta— |

Įvesties medžiagos deriniai

**first\_frame\_to\_video** · Privaloma: image\_urls

Metodo parametrai ir gyvavimo ciklas

| Parametras | Specifikacija |
| --- | --- |
| Parametras`material_types` | Specifikacijatext, image |
| Parametras`required` | Specifikacijanull |
| Parametras`optional_controls` | Specifikacijanull |

Gyvavimo ciklas: `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ų struktūros ir ID yra tikslūs; tiekėjo galimybės yra atskirtos nuo užklausos priėmimo.

### Planai

#### Ailoot metodų įkainiai

Išvestis

0,18 USD *už sekundę 1080p raiška*

Išvestis

0,07 USD *už sekundę 480p raiška*

Išvestis

0,14 USD *už sekundę 720p raiška*

Ailoot prieš užklausą rezervuoja numatomą sumą. Gavus rezultatą, galutinis mokestis nuskaitomas pagal išmatuotą naudojimą. Srautinio atsakymo atsiskaitymui naudojamas galutinis naudojimo įrašas. [Kaip veikia rezervavimas ir atsiskaitymas →](https://ailoot.ai/docs/lt/billing/reserve/)

### Užklausų pavyzdžiai

#### Ailoot · Vaizdo įrašai

Pavyzdinis vaizdas

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

### Gauti ir išsaugoti rezultatus

#### Ailoot · Vaizdo įrašai

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`

##### Tikrinti užduoties būseną

GET būsena

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

##### Išsaugoti visą baigtą medžiagą

GET visa baigta medžiaga

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

Kito turinio skaitymas

GET turinys

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

##### Išsaugoti visus baigtus rezultatus

Išsaugokite kiekvieną baigtą vaizdo įrašą arba grąžintą failą; gaukite turinį iš kiekvieno faktiškai grąžinto medžiagos URL.

Išsaugokite kiekvieną grąžintą data elementą ir išvesties indeksą. content\_url nurodo tik pirmąjį; gaukite kiekvieną tikrą turinio kelią ar išteklių. GET content be index negrąžina visų rezultatų.

##### Jei reikia patikrinti pradinį atsakymą

Skaitykite esamos pradinės užduoties duomenis; niekada nekartokite siuntimo, kurio baigtis nežinoma.

Atsakymo laukai

| Laukas | Tipas |
| --- | --- |
| Laukas`id` | Tipasstring |
| Laukas`object` | Tipasstring |
| Laukas`model` | Tipasstring |
| Laukas`status` | Tipasstring |
| Laukas`content_url` | Tipassigned URL |
| Laukas`data[]` | Tipassigned URL |
| Laukas`usage` | Tipasobject |
| Laukas`result_pending_check` | Tipasboolean |

Klaidos ir tolesni veiksmai

| Atsakymas | Sąlyga | Kitas žingsnis |
| --- | --- | --- |
| Atsakymas400 · `invalid_request_error` | SąlygaNetinkami privalomi laukai, medžiagos pateikimo forma arba parametro reikšmė | Kitas žingsnisPrieš naują kūrimo užklausą pataisykite nurodytus laukus. |
| Atsakymas409 · `video_not_ready` | SąlygaPradinio rezultato turinys dar nepasiekiamas | Kitas žingsnisPeriodiškai tikrinkite pradinį grąžintą ID ir laikykitės Retry-After. |
| Atsakymas`server_error` | SąlygaGrąžintame atsakyme nurodoma, kad operaciją arba rezultatą reikia patikrinti | Kitas žingsnisIšsaugokite pradinį grąžintą operacijos ar užduoties ID, užklausos antraštes ir atsakymą; toliau tikrinkite tos pačios pradinės operacijos duomenis palaikomais būdais. Kūrimo užklausos pakartotinai neteikite. |

### Pseudonimai

#### Modelių pseudonimai

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

#### Metodų kelių pseudonimai

Naudokite aukščiau nurodytus metodų kelius.

#### Susiję ID iškvietimui

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

**Ailoot · Vaizdo įrašai** `POST /v1/videos/generations` `happyhorse-i2v-latest`

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

Alibaba /`happyhorse-i2v-latest`

Modelio ID

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

### Pradžia

Modelis, suteikiantis judesio vaizdui: pradinis vaizdas nustato pirmąjį kadrą, o aprašymas nukreipia tolesnį judėjimą. Kuria trumpą vaizdo įrašą su galimu garso takeliu.

Leidžiamos įvestys

Tekstas · Vaizdai

Rezultatai

Vaizdo įrašai

### Prieinama Ailoot · įvestys ir metodai

**Ailoot · Vaizdo įrašai** `POST /v1/videos/generations`

Įvestis

`text`, `image`

Išvestis

`video`

Išvesties formatas

mp4

| Laukas | Tipas | Reikalavimas | Reikšmės ir ribos | Numatyta |
| --- | --- | --- | --- | --- |
| Laukas`model` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos happyhorse-i2v-latest | Numatyta— |
| Laukas`prompt` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Mažiausias ilgis: 1 | Numatyta— |
| Laukas`duration` | Tipas`integer` | ReikalavimasNeprivaloma | Reikšmės ir ribos Mažiausia reikšmė: 3 Didžiausia reikšmė: 15 Vienetas: sekundės | Numatyta5 |
| Laukas`resolution` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos 480P, 720P, 1080P | Numatyta720P |
| Laukas`ratio` | Tipas`string` | ReikalavimasNepalaikoma | Reikšmės ir ribos | Numatyta— |
| Laukas`image_urls` | Tipas`https_url\|data_image_url[]` | ReikalavimasPrivaloma | Reikšmės ir ribos Mažiausias elementų skaičius: 1 Didžiausias elementų skaičius: 1 Didžiausias dekoduotų baitų skaičius: 20 971 520 MIME tipai: image/jpeg, image/png, image/webp | Numatyta— |

Įvesties medžiagos deriniai

**first\_frame\_to\_video** · Privaloma: image\_urls

Metodo parametrai ir gyvavimo ciklas

| Parametras | Specifikacija |
| --- | --- |
| Parametras`material_types` | Specifikacijatext, image |
| Parametras`required` | Specifikacijanull |
| Parametras`optional_controls` | Specifikacijanull |

Gyvavimo ciklas: `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ų struktūros ir ID yra tikslūs; tiekėjo galimybės yra atskirtos nuo užklausos priėmimo.

### Planai

#### Ailoot metodų įkainiai

Išvestis

0,18 USD *už sekundę 1080p raiška*

Išvestis

0,07 USD *už sekundę 480p raiška*

Išvestis

0,14 USD *už sekundę 720p raiška*

Ailoot prieš užklausą rezervuoja numatomą sumą. Gavus rezultatą, galutinis mokestis nuskaitomas pagal išmatuotą naudojimą. Srautinio atsakymo atsiskaitymui naudojamas galutinis naudojimo įrašas. [Kaip veikia rezervavimas ir atsiskaitymas →](https://ailoot.ai/docs/lt/billing/reserve/)

### Užklausų pavyzdžiai

#### Ailoot · Vaizdo įrašai

Pavyzdinis vaizdas

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

### Gauti ir išsaugoti rezultatus

#### Ailoot · Vaizdo įrašai

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`

##### Tikrinti užduoties būseną

GET būsena

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

##### Išsaugoti visą baigtą medžiagą

GET visa baigta medžiaga

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

Kito turinio skaitymas

GET turinys

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

##### Išsaugoti visus baigtus rezultatus

Išsaugokite kiekvieną baigtą vaizdo įrašą arba grąžintą failą; gaukite turinį iš kiekvieno faktiškai grąžinto medžiagos URL.

Išsaugokite kiekvieną grąžintą data elementą ir išvesties indeksą. content\_url nurodo tik pirmąjį; gaukite kiekvieną tikrą turinio kelią ar išteklių. GET content be index negrąžina visų rezultatų.

##### Jei reikia patikrinti pradinį atsakymą

Skaitykite esamos pradinės užduoties duomenis; niekada nekartokite siuntimo, kurio baigtis nežinoma.

Atsakymo laukai

| Laukas | Tipas |
| --- | --- |
| Laukas`id` | Tipasstring |
| Laukas`object` | Tipasstring |
| Laukas`model` | Tipasstring |
| Laukas`status` | Tipasstring |
| Laukas`content_url` | Tipassigned URL |
| Laukas`data[]` | Tipassigned URL |
| Laukas`usage` | Tipasobject |
| Laukas`result_pending_check` | Tipasboolean |

Klaidos ir tolesni veiksmai

| Atsakymas | Sąlyga | Kitas žingsnis |
| --- | --- | --- |
| Atsakymas400 · `invalid_request_error` | SąlygaNetinkami privalomi laukai, medžiagos pateikimo forma arba parametro reikšmė | Kitas žingsnisPrieš naują kūrimo užklausą pataisykite nurodytus laukus. |
| Atsakymas409 · `video_not_ready` | SąlygaPradinio rezultato turinys dar nepasiekiamas | Kitas žingsnisPeriodiškai tikrinkite pradinį grąžintą ID ir laikykitės Retry-After. |
| Atsakymas`server_error` | SąlygaGrąžintame atsakyme nurodoma, kad operaciją arba rezultatą reikia patikrinti | Kitas žingsnisIšsaugokite pradinį grąžintą operacijos ar užduoties ID, užklausos antraštes ir atsakymą; toliau tikrinkite tos pačios pradinės operacijos duomenis palaikomais būdais. Kūrimo užklausos pakartotinai neteikite. |

### Pseudonimai

#### Modelių pseudonimai

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

#### Metodų kelių pseudonimai

Naudokite aukščiau nurodytus metodų kelius.

#### Susiję ID iškvietimui

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

FAQ · happyhorse-1.1-i2v

Kokios įvestys ir rezultatai prieinami?

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

Kokius laukus naudoja užklausa?

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

Kokie apribojimai taikomi?

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

Prijunkite Ailoot prie Claude Code, OpenCode, Hermes arba savo programos.

## Įmonė ir jos projektų portfelis

Įmonė ir jos projektų portfelis: milijonai klientų; mėnesio pardavimai siekia milijardus.

## Pirkite žetonus su nuolaida.

Prenumeratos nuolaida reguliariam darbui. Kodai — iki 50% žetonų pirkimui.

Prenumerata

Pasirinkite planą su nuolaida reguliarioms užklausoms.

Nuolaidos kodas iki 50%

Įveskite kodą perkant. Kaina perskaičiuojama pagal galiojančios akcijos sąlygas.

Išlaidos istorijoje

Kiekvienai užklausai išsaugomi modelis, žetonai ir suma.

[Pasirinkti prenumeratą](https://ailoot.ai/docs/lt/billing/subscriptions/) · [Peržiūrėti modelių kainas](https://ailoot.ai/models/lt/)

## Prijunkite API prie produkto, kurį parduodate.

SaaS, programos ir botai pagal Ailoot ofertą bei licencijos sutartį. Perpardavimui paprašykite perpardavėjo licencijos.

Komercinė programa

Teksto, vaizdų, video ir garso kūrimą integruokite į mokamas paslaugos funkcijas.

Perpardavėjo licencija

Atsiųskite projekto aprašymą ir prieigos schemą. Paprašykite rašytinių naudojimo ir perpardavimo sąlygų.

Dokumentai svetainėje

Oferta, licencijos sutartis ir duomenų tvarkymo politika prieinamos prieš prisijungiant.

[Paprašyti perpardavėjo licencijos](mailto:support@ailoot.ai) · [Oferta ir licencijos sutartis](https://ailoot.ai/legal/offer?lang=lt)

## Ailoot · Įmonė ir jos projektų portfelis





Ailoot remiasi sukaupta veiklos patirtimi, plačia klientų baze, stabiliomis paslaugomis ir nuolatine KPI kontrole.





Įmonė ir jos projektų portfelis: milijonai klientų; mėnesio pardavimai siekia milijardus.





Ailoot šią veiklos patirtį pritaiko teikdama API prieigą prie DI funkcijų klientų produktuose, agentuose, programose ir automatizavimo sprendimuose.
