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

# happyhorse-1.1-t2v

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

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

Model za ustvarjanje kratkega videa z zvokom na podlagi besedilnega opisa. Primeren je za scene, pri katerih gibanje, kompozicijo in vizualni slog določajo besede.

- [**Ailoot · Videoposnetki** `POST /v1/videos/generations` `happyhorse-1.1-t2v`](https://ailoot.ai/models/sl/happyhorse-1-1-t2v/#method-0)
- [**Ailoot · Videoposnetki** `POST /v1/videos/generations` `happyhorse-t2v`](https://ailoot.ai/models/sl/happyhorse-1-1-t2v/#method-1)
- [**Ailoot · Videoposnetki** `POST /v1/videos/generations` `happyhorse-t2v-latest`](https://ailoot.ai/models/sl/happyhorse-1-1-t2v/#method-2)

O modelu

Ta opis zajema zmožnosti modela. Vhodi, izhodi in možnosti, ki so na voljo v Ailoot, so spodaj navedeni za izbrano metodo.

HappyHorse-1.1-T2V je model družbe Alibaba za ustvarjanje kratkih videoscen na podlagi besedila. Opis določa like, dejanja, okolje in vizualno izvedbo; ta način ne zahteva izvirne slike. Model ustvari video in lahko ustvari tudi spremljajoči zvok.

Proizvajalec izpostavlja razumevanje pomena scene, filmsko postavitev in izraznost gibanja. Besedilo lahko določa vzdušje, dejanja lika, vedenje objektov in fizikalno dinamiko. Tako lahko sceno zasnujete okoli želenega dogajanja, nato pa jo usmerjate z osvetlitvijo, zornim kotom in gibanjem kamere.

#### Postavitev z besedami

Navodilo je obvezno in je lahko v katerem koli jeziku. Vsebuje lahko do 5000 nekitajskih ali 2500 kitajskih znakov; presežni del se zavrže. Dogajanje, okolje in pomembne vizualne podrobnosti je treba opisati znotraj tega obsega. Takšna postavitev modelu pušča prostor za ustvarjanje nove scene, namesto da bi mu določila že pripravljen prvi kader.

V tem načinu je besedilo glavno sredstvo usmerjanja. Konkreten videz lika ali predmeta lahko opišete z besedami; možnost podajanja njegovega videza z ločenimi slikami spada v drug način te družine. Rezultat je odvisen od celotnega navodila, zato enako začetno naključno seme pomaga ustvariti podobne različice, ne zagotavlja pa natančne ponovitve.

#### Video in zvočna spremljava

Pri HappyHorse-1.1 trajanje posnetka izberete kot celo število od 3 do 15 sekund. Podprte so ločljivosti 480P, 720P in 1080P. Končna datoteka je v formatu MP4 s hitrostjo 24 sličic na sekundo. Model lahko ustvari zvok skupaj s sliko in zvočno spremljavo poveže z dogajanjem v sceni.

Obliko kadra lahko določite vnaprej. Na voljo so 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21 in 21:9 — od širokega filmskega kadra do podolgovatega pokončnega posnetka. Ločljivost, format in trajanje določajo mere rezultata; vsebino in gibanje določa besedilo.

Ta različica je namenjena ustvarjanju nove scene iz zamisli, izražene z besedami. Primerna je za kratek prizor, vizualno idejo ali posnetek z izrazitim vzdušjem, pri katerem je treba postavitev oblikovati z besedilom.

**Ailoot · Videoposnetki** `POST /v1/videos/generations` `happyhorse-1.1-t2v`

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

Alibaba /`happyhorse-1.1-t2v`

ID modela

- `happyhorse-1.1-t2v`
- `happyhorse-t2v`
- `happyhorse-t2v-latest`

### Začetek

Model za ustvarjanje kratkega videa z zvokom na podlagi besedilnega opisa. Primeren je za scene, pri katerih gibanje, kompozicijo in vizualni slog določajo besede.

Dovoljeni vhodi

Besedilo

Rezultati

Video

### Na voljo v Ailoot · vhodi in metode

**Ailoot · Videoposnetki** `POST /v1/videos/generations`

Vhod

`text`

Izhod

`video`

Izhodni format

mp4

| Polje | Vrsta | Zahteva | Vrednosti in omejitve | Privzeto |
| --- | --- | --- | --- | --- |
| Polje`model` | Vrsta`string` | ZahtevaObvezno | Vrednosti in omejitve happyhorse-1.1-t2v | Privzeto— |
| Polje`prompt` | Vrsta`string` | ZahtevaObvezno | Vrednosti in omejitve Najmanjša dolžina: 1 | Privzeto— |
| Polje`duration` | Vrsta`integer` | ZahtevaIzbirno | Vrednosti in omejitve Najmanj: 3 Največ: 15 Enota: sekunde | Privzeto5 |
| Polje`resolution` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve 480P, 720P, 1080P | Privzeto720P |
| Polje`ratio` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9 | Privzeto16:9 |
| Polje`image_urls` | Vrsta`https_url\|data_image_url[]` | ZahtevaIzbirno | Vrednosti in omejitve Najmanjše število elementov: 0 Največ elementov: 0 Največ dekodiranih bajtov: 20.971.520 Vrste MIME: image/jpeg, image/png, image/webp | Privzeto— |

Kombinacije vhodnih gradiv

**Iz besedila v video** · Obvezno: prompt

Parametri in življenjski cikel metode

| Parameter | Specifikacija |
| --- | --- |
| Parameter`content_type` | Specifikacijaapplication/json |
| Parameter`required` | Specifikacijamodel, prompt |
| Parameter`material_types` | Specifikacijatext |
| Parameter`optional` | Specifikacijaduration, resolution, ratio |
| Parameter`duration_integer_range` | Specifikacija3, 15 |
| Parameter`default_duration` | Specifikacija5 |
| Parameter`resolution` | Specifikacija480P, 720P, 1080P |
| Parameter`default_resolution` | Specifikacija720P |
| Parameter`ratio` | Specifikacija16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9 |
| Parameter`ratio_must_omit` | Specifikacijafalse |
| Parameter`image_urls` | Specifikacija{"max\_count":0} |

Življenjski cikel: `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`

Strukture metod in ID so natančno določeni; zmožnost ponudnika je ločena od sprejema zahteve.

### Cenik

#### Cene metod Ailoot

Izhod

0,18 $ *na sekundo pri 1080p*

Izhod

0,07 $ *na sekundo pri 480p*

Izhod

0,14 $ *na sekundo pri 720p*

Ailoot pred zahtevo rezervira ocenjeni znesek. Po rezultatu obračuna končni strošek na podlagi izmerjene porabe. Obračun pretakanja uporablja končni zapis porabe. [Kako delujeta rezervacija in obračun →](https://ailoot.ai/docs/sl/billing/reserve/)

### Primeri zahtev

#### Ailoot · Videoposnetki

Primer prizora

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_PROMPT_FILE:?Set your actual UTF-8 scene brief}"
export AILOOT_PROMPT_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "happyhorse-1.1-t2v", "prompt": "", "duration": 5, "resolution": "720P", "ratio": "16:9"}')
f=Path(os.environ["AILOOT_PROMPT_FILE"])
if not f.is_file():raise SystemExit("Choose your actual UTF-8 brief")
p['prompt']=f.read_text(encoding="utf-8")
if not p['prompt'].strip():raise SystemExit("Brief must contain text")
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos/generations \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
print(json.dumps(json.loads(Path("result.json").read_text()),ensure_ascii=False,indent=2))
PY_RESULT
```

### Prejmi in shrani rezultate

#### Ailoot · Videoposnetki

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`

##### Preveri stanje opravila

GET stanje

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

##### Shrani vsa dokončana gradiva

GET vsa dokončana gradiva

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

Branje druge vsebine

GET vsebina

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

##### Ohrani vse dokončane rezultate

Shranite vsak dokončan video ali vrnjeno datoteko; pridobite vsebino z vsake dejansko vrnjene URL gradiva.

Ohranite vsak vrnjeni element data/indeks izhoda. content\_url je samo prvi; pridobite vsako dejansko pot vsebine/sredstvo. GET vsebine brez index ne pomeni vseh izhodov.

##### Če je treba preveriti izvirni odgovor

Berite obstoječe prvotno opravilo; neznane oddaje nikoli ne ponovite.

Polja odgovora

| Polje | Vrsta |
| --- | --- |
| Polje`id` | Vrstastring |
| Polje`object` | Vrstastring |
| Polje`model` | Vrstastring |
| Polje`status` | Vrstastring |
| Polje`content_url` | Vrstasigned URL |
| Polje`data[]` | Vrstasigned URL |
| Polje`usage` | Vrstaobject |
| Polje`result_pending_check` | Vrstaboolean |

Napake in naslednji koraki

| Odgovor | Pogoj | Naslednji korak |
| --- | --- | --- |
| Odgovor400 · `invalid_request_error` | PogojNeveljavna obvezna polja, predstavitev gradiva ali vrednost parametra | Naslednji korakPred novo zahtevo za ustvarjanje popravite navedena polja. |
| Odgovor409 · `video_not_ready` | PogojPrvotna vsebina rezultata še ni na voljo | Naslednji korakPreverjajte prvotni vrnjeni ID in upoštevajte Retry-After. |
| Odgovor`server_error` | PogojVrnjeni odgovor navaja, da je treba operacijo ali rezultat preveriti | Naslednji korakShranite izvirni vrnjeni ID operacije/opravila, glave zahteve in odgovor; nadaljujte s podprtimi branji te izvirne operacije. Zahteve za ustvarjanje ne pošiljajte znova. |

### Druga imena

#### Druga imena modelov

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

#### Druga imena poti metod

Uporabite zgoraj navedene poti metod.

#### Povezani ID-ji za klic

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

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

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

Alibaba /`happyhorse-t2v`

ID modela

- `happyhorse-1.1-t2v`
- `happyhorse-t2v`
- `happyhorse-t2v-latest`

### Začetek

Model za ustvarjanje kratkega videa z zvokom na podlagi besedilnega opisa. Primeren je za scene, pri katerih gibanje, kompozicijo in vizualni slog določajo besede.

Dovoljeni vhodi

Besedilo

Rezultati

Video

### Na voljo v Ailoot · vhodi in metode

**Ailoot · Videoposnetki** `POST /v1/videos/generations`

Vhod

`text`

Izhod

`video`

Izhodni format

mp4

| Polje | Vrsta | Zahteva | Vrednosti in omejitve | Privzeto |
| --- | --- | --- | --- | --- |
| Polje`model` | Vrsta`string` | ZahtevaObvezno | Vrednosti in omejitve happyhorse-t2v | Privzeto— |
| Polje`prompt` | Vrsta`string` | ZahtevaObvezno | Vrednosti in omejitve Najmanjša dolžina: 1 | Privzeto— |
| Polje`duration` | Vrsta`integer` | ZahtevaIzbirno | Vrednosti in omejitve Najmanj: 3 Največ: 15 Enota: sekunde | Privzeto5 |
| Polje`resolution` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve 480P, 720P, 1080P | Privzeto720P |
| Polje`ratio` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9 | Privzeto16:9 |
| Polje`image_urls` | Vrsta`https_url\|data_image_url[]` | ZahtevaIzbirno | Vrednosti in omejitve Najmanjše število elementov: 0 Največ elementov: 0 Največ dekodiranih bajtov: 20.971.520 Vrste MIME: image/jpeg, image/png, image/webp | Privzeto— |

Kombinacije vhodnih gradiv

**Iz besedila v video** · Obvezno: prompt

Parametri in življenjski cikel metode

| Parameter | Specifikacija |
| --- | --- |
| Parameter`material_types` | Specifikacijatext |
| Parameter`required` | Specifikacijanull |
| Parameter`optional_controls` | Specifikacijanull |

Življenjski cikel: `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`

Strukture metod in ID so natančno določeni; zmožnost ponudnika je ločena od sprejema zahteve.

### Cenik

#### Cene metod Ailoot

Izhod

0,18 $ *na sekundo pri 1080p*

Izhod

0,07 $ *na sekundo pri 480p*

Izhod

0,14 $ *na sekundo pri 720p*

Ailoot pred zahtevo rezervira ocenjeni znesek. Po rezultatu obračuna končni strošek na podlagi izmerjene porabe. Obračun pretakanja uporablja končni zapis porabe. [Kako delujeta rezervacija in obračun →](https://ailoot.ai/docs/sl/billing/reserve/)

### Primeri zahtev

#### Ailoot · Videoposnetki

Primer prizora

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_PROMPT_FILE:?Set your actual UTF-8 scene brief}"
export AILOOT_PROMPT_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "happyhorse-t2v", "prompt": "", "duration": 5, "resolution": "720P", "ratio": "16:9"}')
f=Path(os.environ["AILOOT_PROMPT_FILE"])
if not f.is_file():raise SystemExit("Choose your actual UTF-8 brief")
p['prompt']=f.read_text(encoding="utf-8")
if not p['prompt'].strip():raise SystemExit("Brief must contain text")
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos/generations \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
print(json.dumps(json.loads(Path("result.json").read_text()),ensure_ascii=False,indent=2))
PY_RESULT
```

### Prejmi in shrani rezultate

#### Ailoot · Videoposnetki

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`

##### Preveri stanje opravila

GET stanje

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

##### Shrani vsa dokončana gradiva

GET vsa dokončana gradiva

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

Branje druge vsebine

GET vsebina

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

##### Ohrani vse dokončane rezultate

Shranite vsak dokončan video ali vrnjeno datoteko; pridobite vsebino z vsake dejansko vrnjene URL gradiva.

Ohranite vsak vrnjeni element data/indeks izhoda. content\_url je samo prvi; pridobite vsako dejansko pot vsebine/sredstvo. GET vsebine brez index ne pomeni vseh izhodov.

##### Če je treba preveriti izvirni odgovor

Berite obstoječe prvotno opravilo; neznane oddaje nikoli ne ponovite.

Polja odgovora

| Polje | Vrsta |
| --- | --- |
| Polje`id` | Vrstastring |
| Polje`object` | Vrstastring |
| Polje`model` | Vrstastring |
| Polje`status` | Vrstastring |
| Polje`content_url` | Vrstasigned URL |
| Polje`data[]` | Vrstasigned URL |
| Polje`usage` | Vrstaobject |
| Polje`result_pending_check` | Vrstaboolean |

Napake in naslednji koraki

| Odgovor | Pogoj | Naslednji korak |
| --- | --- | --- |
| Odgovor400 · `invalid_request_error` | PogojNeveljavna obvezna polja, predstavitev gradiva ali vrednost parametra | Naslednji korakPred novo zahtevo za ustvarjanje popravite navedena polja. |
| Odgovor409 · `video_not_ready` | PogojPrvotna vsebina rezultata še ni na voljo | Naslednji korakPreverjajte prvotni vrnjeni ID in upoštevajte Retry-After. |
| Odgovor`server_error` | PogojVrnjeni odgovor navaja, da je treba operacijo ali rezultat preveriti | Naslednji korakShranite izvirni vrnjeni ID operacije/opravila, glave zahteve in odgovor; nadaljujte s podprtimi branji te izvirne operacije. Zahteve za ustvarjanje ne pošiljajte znova. |

### Druga imena

#### Druga imena modelov

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

#### Druga imena poti metod

Uporabite zgoraj navedene poti metod.

#### Povezani ID-ji za klic

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

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

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

Alibaba /`happyhorse-t2v-latest`

ID modela

- `happyhorse-1.1-t2v`
- `happyhorse-t2v`
- `happyhorse-t2v-latest`

### Začetek

Model za ustvarjanje kratkega videa z zvokom na podlagi besedilnega opisa. Primeren je za scene, pri katerih gibanje, kompozicijo in vizualni slog določajo besede.

Dovoljeni vhodi

Besedilo

Rezultati

Video

### Na voljo v Ailoot · vhodi in metode

**Ailoot · Videoposnetki** `POST /v1/videos/generations`

Vhod

`text`

Izhod

`video`

Izhodni format

mp4

| Polje | Vrsta | Zahteva | Vrednosti in omejitve | Privzeto |
| --- | --- | --- | --- | --- |
| Polje`model` | Vrsta`string` | ZahtevaObvezno | Vrednosti in omejitve happyhorse-t2v-latest | Privzeto— |
| Polje`prompt` | Vrsta`string` | ZahtevaObvezno | Vrednosti in omejitve Najmanjša dolžina: 1 | Privzeto— |
| Polje`duration` | Vrsta`integer` | ZahtevaIzbirno | Vrednosti in omejitve Najmanj: 3 Največ: 15 Enota: sekunde | Privzeto5 |
| Polje`resolution` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve 480P, 720P, 1080P | Privzeto720P |
| Polje`ratio` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9 | Privzeto16:9 |
| Polje`image_urls` | Vrsta`https_url\|data_image_url[]` | ZahtevaIzbirno | Vrednosti in omejitve Najmanjše število elementov: 0 Največ elementov: 0 Največ dekodiranih bajtov: 20.971.520 Vrste MIME: image/jpeg, image/png, image/webp | Privzeto— |

Kombinacije vhodnih gradiv

**Iz besedila v video** · Obvezno: prompt

Parametri in življenjski cikel metode

| Parameter | Specifikacija |
| --- | --- |
| Parameter`material_types` | Specifikacijatext |
| Parameter`required` | Specifikacijanull |
| Parameter`optional_controls` | Specifikacijanull |

Življenjski cikel: `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`

Strukture metod in ID so natančno določeni; zmožnost ponudnika je ločena od sprejema zahteve.

### Cenik

#### Cene metod Ailoot

Izhod

0,18 $ *na sekundo pri 1080p*

Izhod

0,07 $ *na sekundo pri 480p*

Izhod

0,14 $ *na sekundo pri 720p*

Ailoot pred zahtevo rezervira ocenjeni znesek. Po rezultatu obračuna končni strošek na podlagi izmerjene porabe. Obračun pretakanja uporablja končni zapis porabe. [Kako delujeta rezervacija in obračun →](https://ailoot.ai/docs/sl/billing/reserve/)

### Primeri zahtev

#### Ailoot · Videoposnetki

Primer prizora

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_PROMPT_FILE:?Set your actual UTF-8 scene brief}"
export AILOOT_PROMPT_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "happyhorse-t2v-latest", "prompt": "", "duration": 5, "resolution": "720P", "ratio": "16:9"}')
f=Path(os.environ["AILOOT_PROMPT_FILE"])
if not f.is_file():raise SystemExit("Choose your actual UTF-8 brief")
p['prompt']=f.read_text(encoding="utf-8")
if not p['prompt'].strip():raise SystemExit("Brief must contain text")
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos/generations \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
print(json.dumps(json.loads(Path("result.json").read_text()),ensure_ascii=False,indent=2))
PY_RESULT
```

### Prejmi in shrani rezultate

#### Ailoot · Videoposnetki

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`

##### Preveri stanje opravila

GET stanje

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

##### Shrani vsa dokončana gradiva

GET vsa dokončana gradiva

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

Branje druge vsebine

GET vsebina

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

##### Ohrani vse dokončane rezultate

Shranite vsak dokončan video ali vrnjeno datoteko; pridobite vsebino z vsake dejansko vrnjene URL gradiva.

Ohranite vsak vrnjeni element data/indeks izhoda. content\_url je samo prvi; pridobite vsako dejansko pot vsebine/sredstvo. GET vsebine brez index ne pomeni vseh izhodov.

##### Če je treba preveriti izvirni odgovor

Berite obstoječe prvotno opravilo; neznane oddaje nikoli ne ponovite.

Polja odgovora

| Polje | Vrsta |
| --- | --- |
| Polje`id` | Vrstastring |
| Polje`object` | Vrstastring |
| Polje`model` | Vrstastring |
| Polje`status` | Vrstastring |
| Polje`content_url` | Vrstasigned URL |
| Polje`data[]` | Vrstasigned URL |
| Polje`usage` | Vrstaobject |
| Polje`result_pending_check` | Vrstaboolean |

Napake in naslednji koraki

| Odgovor | Pogoj | Naslednji korak |
| --- | --- | --- |
| Odgovor400 · `invalid_request_error` | PogojNeveljavna obvezna polja, predstavitev gradiva ali vrednost parametra | Naslednji korakPred novo zahtevo za ustvarjanje popravite navedena polja. |
| Odgovor409 · `video_not_ready` | PogojPrvotna vsebina rezultata še ni na voljo | Naslednji korakPreverjajte prvotni vrnjeni ID in upoštevajte Retry-After. |
| Odgovor`server_error` | PogojVrnjeni odgovor navaja, da je treba operacijo ali rezultat preveriti | Naslednji korakShranite izvirni vrnjeni ID operacije/opravila, glave zahteve in odgovor; nadaljujte s podprtimi branji te izvirne operacije. Zahteve za ustvarjanje ne pošiljajte znova. |

### Druga imena

#### Druga imena modelov

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

#### Druga imena poti metod

Uporabite zgoraj navedene poti metod.

#### Povezani ID-ji za klic

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

FAQ · happyhorse-1.1-t2v

Kateri vhodi in rezultati so na voljo?

`POST /v1/videos/generations` · `happyhorse-1.1-t2v`: `text` → `video` `POST /v1/videos/generations` · `happyhorse-t2v`: `text` → `video` `POST /v1/videos/generations` · `happyhorse-t2v-latest`: `text` → `video`

Katera polja uporablja zahteva?

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

Katere omejitve veljajo?

`POST /v1/videos/generations` · `happyhorse-1.1-t2v`: `duration.minimum`: `3`; `duration.maximum`: `15` `POST /v1/videos/generations` · `happyhorse-t2v`: `duration.minimum`: `3`; `duration.maximum`: `15` `POST /v1/videos/generations` · `happyhorse-t2v-latest`: `duration.minimum`: `3`; `duration.maximum`: `15`

Ailoot povežite s Claude Code, OpenCode, Hermes ali svojo aplikacijo.

## Podjetje in njegov portfelj projektov

Podjetje in njegov portfelj projektov: milijoni strank; mesečna prodaja v milijardah.

## Žetone kupujte s popustom.

Naročniški popust za redno delo. Promocijske kode prinesejo do 50% popusta na nakup žetonov.

Naročnina

Za redne zahteve izberite paket s popustom.

Promocijska koda do 50%

Kodo vnesite ob nakupu. Cena se preračuna po veljavni akciji.

Poraba v zgodovini

Za vsako zahtevo se shranijo model, žetoni in znesek.

[Izberite naročnino](https://ailoot.ai/docs/sl/billing/subscriptions/) · [Oglejte si cene modelov](https://ailoot.ai/models/sl/)

## API povežite z izdelkom, ki ga prodajate.

SaaS, aplikacije in boti po ponudbi in licenčni pogodbi Ailoot. Za nadaljnjo prodajo zaprosite za preprodajno licenco.

Komercialna aplikacija

Ustvarjanje besedila, slik, videa in zvoka vključite v plačljive funkcije svoje storitve.

Licenca za preprodajalca

Pošljite opis projekta in shemo dostopa. Zahtevajte pisne pogoje uporabe in nadaljnje prodaje.

Dokumenti na strani

Ponudba, licenčna pogodba in politika obdelave podatkov so dostopne pred povezavo.

[Zaprosite za preprodajno licenco](mailto:support@ailoot.ai) · [Ponudba in licenčna pogodba](https://ailoot.ai/legal/offer?lang=sl)

## Ailoot · Podjetje in njegov portfelj projektov





Ailoot temelji na pridobljenih operativnih izkušnjah, široki bazi strank, stabilni storitvi in stalnem spremljanju KPI.





Podjetje in njegov portfelj projektov: milijoni strank; mesečna prodaja v milijardah.





Ailoot te operativne izkušnje uporablja za dostop prek API do funkcij umetne inteligence v izdelkih strank, agentih, aplikacijah in avtomatizacijah.
