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

# happyhorse-1.1-r2v

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

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

Model za ustvarjanje videa na podlagi referenčnih slik in besedilnega scenarija. Pomaga ohranjati videz likov, predmete in vizualni slog v novi sceni.

- [**Ailoot · Videoposnetki** `POST /v1/videos/generations` `happyhorse-1.1-r2v`](https://ailoot.ai/models/sl/happyhorse-1-1-r2v/#method-0)
- [**Ailoot · Videoposnetki** `POST /v1/videos/generations` `happyhorse-r2v`](https://ailoot.ai/models/sl/happyhorse-1-1-r2v/#method-1)
- [**Ailoot · Videoposnetki** `POST /v1/videos/generations` `happyhorse-r2v-latest`](https://ailoot.ai/models/sl/happyhorse-1-1-r2v/#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-R2V ustvarja novo videosceno na podlagi referenčnih slik in besedilnega navodila. Alibaba model usmerja v ohranjanje prepoznavnih likov, objektov in vizualnega sloga pri ustvarjanju gibanja. Reference določajo vsebino in videz scene, besedilo pa opisuje, kako naj ti elementi medsebojno delujejo.

#### Vloge vizualnih vzorcev

Uporabite lahko od ene do devet slik. Te lahko določajo lik, predmet, okolje ali umetniško izvedbo. V opisu lahko navedete številko reference in konkreten objekt na njej, da vizualno gradivo povežete z ustreznim delom dogajanja. To je zlasti koristno, kadar je treba elemente več slik združiti v eno kompozicijo.

V nasprotju z načinom z začetnim kadrom reference tu služijo kot opora za vsebino nove scene. Besedilno navodilo je obvezno: videz objektov povezuje z dogajanjem, gibanjem kamere in celotno postavitvijo. Proizvajalec izpostavlja vizualno skladnost in filmsko gibanje; rezultat ostaja generirana vsebina in ne montaža izvirnih slik.

Sprejeti so formati JPEG, JPG, PNG in WEBP, vsak z velikostjo do 20 MB. Krajša stranica slike mora imeti najmanj 400 slikovnih pik; priporočeno je gradivo z ločljivostjo 720P ali višjo. Vhod v ta način sestavljajo prav slike in besedilo.

#### Trajanje, kader in zvok

Rezultat se shrani v MP4 s hitrostjo 24 sličic na sekundo. Trajanje določite kot celo število od 3 do 15 sekund. Izbirate lahko med ločljivostmi 480P, 720P in 1080P; podprto je ustvarjanje zvočne spremljave.

Na voljo so ležeči, pokončni in kvadratni kadri: 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21 in 21:9. Izbira formata pomaga vnaprej določiti kompozicijski prostor nove scene.

Besedilo je lahko v katerem koli jeziku. Omejitev znaša 5000 nekitajskih ali 2500 kitajskih znakov, presežni del pa se zavrže. Najpomembnejše vloge referenc, dogajanje in gibanje morajo biti opisani znotraj tega obsega. Začetno naključno seme lahko usmerja podobnost različic, ne zagotavlja pa natančne ponovitve posameznega posnetka.

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

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

Alibaba /`happyhorse-1.1-r2v`

ID modela

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

### Začetek

Model za ustvarjanje videa na podlagi referenčnih slik in besedilnega scenarija. Pomaga ohranjati videz likov, predmete in vizualni slog v novi sceni.

Dovoljeni vhodi

Besedilo · Slike

Rezultati

Video

### Na voljo v Ailoot · vhodi in metode

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

Vhod

`text`, `image`

Izhod

`video`

Izhodni format

mp4

| Polje | Vrsta | Zahteva | Vrednosti in omejitve | Privzeto |
| --- | --- | --- | --- | --- |
| Polje`model` | Vrsta`string` | ZahtevaObvezno | Vrednosti in omejitve happyhorse-1.1-r2v | 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[]` | ZahtevaObvezno | Vrednosti in omejitve Najmanjše število elementov: 1 Največ elementov: 9 Največ dekodiranih bajtov: 20.971.520 Vrste MIME: image/jpeg, image/png, image/webp | Privzeto— |

Kombinacije vhodnih gradiv

**reference\_images\_to\_video** · Obvezno: prompt, image\_urls

Parametri in življenjski cikel metode

| Parameter | Specifikacija |
| --- | --- |
| Parameter`content_type` | Specifikacijaapplication/json |
| Parameter`required` | Specifikacijamodel, prompt, image\_urls |
| Parameter`material_types` | Specifikacijatext, image |
| 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{"min\_count":1,"max\_count":9,"schemes":\["https","data za rastrsko sliko v base64"\],"max\_data\_image\_bytes":20971520} |

Ž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

Referenčna slika

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

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

#### Druga imena poti metod

Uporabite zgoraj navedene poti metod.

#### Povezani ID-ji za klic

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

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

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

Alibaba /`happyhorse-r2v`

ID modela

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

### Začetek

Model za ustvarjanje videa na podlagi referenčnih slik in besedilnega scenarija. Pomaga ohranjati videz likov, predmete in vizualni slog v novi sceni.

Dovoljeni vhodi

Besedilo · Slike

Rezultati

Video

### Na voljo v Ailoot · vhodi in metode

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

Vhod

`text`, `image`

Izhod

`video`

Izhodni format

mp4

| Polje | Vrsta | Zahteva | Vrednosti in omejitve | Privzeto |
| --- | --- | --- | --- | --- |
| Polje`model` | Vrsta`string` | ZahtevaObvezno | Vrednosti in omejitve happyhorse-r2v | 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[]` | ZahtevaObvezno | Vrednosti in omejitve Najmanjše število elementov: 1 Največ elementov: 9 Največ dekodiranih bajtov: 20.971.520 Vrste MIME: image/jpeg, image/png, image/webp | Privzeto— |

Kombinacije vhodnih gradiv

**reference\_images\_to\_video** · Obvezno: prompt, image\_urls

Parametri in življenjski cikel metode

| Parameter | Specifikacija |
| --- | --- |
| Parameter`material_types` | Specifikacijatext, image |
| 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

Referenčna slika

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

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

#### Druga imena poti metod

Uporabite zgoraj navedene poti metod.

#### Povezani ID-ji za klic

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

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

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

Alibaba /`happyhorse-r2v-latest`

ID modela

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

### Začetek

Model za ustvarjanje videa na podlagi referenčnih slik in besedilnega scenarija. Pomaga ohranjati videz likov, predmete in vizualni slog v novi sceni.

Dovoljeni vhodi

Besedilo · Slike

Rezultati

Video

### Na voljo v Ailoot · vhodi in metode

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

Vhod

`text`, `image`

Izhod

`video`

Izhodni format

mp4

| Polje | Vrsta | Zahteva | Vrednosti in omejitve | Privzeto |
| --- | --- | --- | --- | --- |
| Polje`model` | Vrsta`string` | ZahtevaObvezno | Vrednosti in omejitve happyhorse-r2v-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[]` | ZahtevaObvezno | Vrednosti in omejitve Najmanjše število elementov: 1 Največ elementov: 9 Največ dekodiranih bajtov: 20.971.520 Vrste MIME: image/jpeg, image/png, image/webp | Privzeto— |

Kombinacije vhodnih gradiv

**reference\_images\_to\_video** · Obvezno: prompt, image\_urls

Parametri in življenjski cikel metode

| Parameter | Specifikacija |
| --- | --- |
| Parameter`material_types` | Specifikacijatext, image |
| 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

Referenčna slika

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

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

#### Druga imena poti metod

Uporabite zgoraj navedene poti metod.

#### Povezani ID-ji za klic

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

FAQ · happyhorse-1.1-r2v

Kateri vhodi in rezultati so na voljo?

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

Katera polja uporablja zahteva?

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

Katere omejitve veljajo?

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