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

# happyhorse-1.1-t2v

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

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

Model pro vytváření krátkého videa se zvukem z textového popisu. Hodí se pro scény, v nichž se pohyb, kompozice a vizuální styl zadávají slovy.

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

O modelu

Tento popis zahrnuje schopnosti modelu. Vstupy, výstupy a možnosti dostupné v Ailoot jsou uvedeny níže pro vybranou metodu.

HappyHorse-1.1-T2V je model Alibaba pro vytváření krátkých videoscén z textu. Popis určuje postavy, děj, prostředí a vizuální pojetí; tento režim nevyžaduje výchozí obrázek. Model vytváří obrazovou složku videa a může generovat doprovodný zvuk.

Výrobce zdůrazňuje porozumění smyslu scény, filmovou inscenaci a výraznost pohybu. Text může určovat atmosféru, jednání postavy, chování objektů a fyzikální dynamiku. Umožňuje tak vystavět scénu kolem toho, co se má odehrát, a následně ji usměrnit světlem, úhlem pohledu a pohybem kamery.

#### Inscenace pomocí slov

Zadání je povinné a může být v libovolném jazyce. Může obsahovat až 5000 nečínských nebo 2500 čínských znaků; přebytečná část se zahodí. Děj, prostředí a důležité vizuální detaily je třeba popsat v tomto rozsahu. Takové zadání ponechává modelu prostor pro vytvoření nové scény, místo aby mu určovalo hotový první snímek.

V tomto režimu je text hlavním řídicím materiálem. Konkrétní podobu postavy nebo předmětu lze popsat slovy; možnost předat vzhled prostřednictvím samostatných obrázků patří do jiného režimu této rodiny. Výsledek závisí na celém zadání, proto stejná počáteční hodnota náhodného semínka pomáhá získat podobné varianty, ale nezaručuje přesné zopakování.

#### Video a zvukový doprovod

U HappyHorse-1.1 se délka videa volí celým číslem od 3 do 15 sekund. Podporována jsou rozlišení 480P, 720P a 1080P. Hotový soubor má formát MP4 a snímkovou frekvenci 24 snímků za sekundu. Model může generovat zvuk společně s obrazem a propojovat zvukový doprovod s děním ve scéně.

Formát obrazu lze určit předem. Dostupné jsou 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21 a 21:9 — od širokého filmového formátu po protáhlé svislé video. Rozlišení, formát a délka určují rozměry výsledku; obsah a pohyb zadává text.

Tato varianta slouží k vytvoření nové scény ze slovně vyjádřeného záměru. Hodí se pro krátkou epizodu, vizuální nápad nebo atmosférické video, u něhož je třeba inscenaci vyjádřit textem.

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

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

Alibaba /`happyhorse-1.1-t2v`

ID modelu

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

### Úvod

Model pro vytváření krátkého videa se zvukem z textového popisu. Hodí se pro scény, v nichž se pohyb, kompozice a vizuální styl zadávají slovy.

Přijímané vstupy

Text

Výsledky

Video

### Dostupné v Ailoot · vstupy a metody

**Ailoot · Tvorba videa** `POST /v1/videos/generations`

Vstup

`text`

Výstup

`video`

Výstupní formát

mp4

| Pole | Typ | Požadavek | Hodnoty a limity | Výchozí |
| --- | --- | --- | --- | --- |
| Pole`model` | Typ`string` | PožadavekPovinné | Hodnoty a limity happyhorse-1.1-t2v | Výchozí— |
| Pole`prompt` | Typ`string` | PožadavekPovinné | Hodnoty a limity Minimální délka: 1 | Výchozí— |
| Pole`duration` | Typ`integer` | PožadavekVolitelné | Hodnoty a limity Minimum: 3 Maximum: 15 Jednotka: sekundy | Výchozí5 |
| Pole`resolution` | Typ`string` | PožadavekVolitelné | Hodnoty a limity 480P, 720P, 1080P | Výchozí720P |
| Pole`ratio` | Typ`string` | PožadavekVolitelné | Hodnoty a limity 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9 | Výchozí16:9 |
| Pole`image_urls` | Typ`https_url\|data_image_url[]` | PožadavekVolitelné | Hodnoty a limity Minimální počet položek: 0 Maximální počet položek: 0 Maximální počet dekódovaných bajtů: 20 971 520 Typy MIME: image/jpeg, image/png, image/webp | Výchozí— |

Kombinace vstupních materiálů

**Text na video** · Povinné: prompt

Parametry a životní cyklus metody

| Parametr | Kontrakt |
| --- | --- |
| Parametr`content_type` | Kontraktapplication/json |
| Parametr`required` | Kontraktmodel, prompt |
| Parametr`material_types` | Kontrakttext |
| Parametr`optional` | Kontraktduration, resolution, ratio |
| Parametr`duration_integer_range` | Kontrakt3, 15 |
| Parametr`default_duration` | Kontrakt5 |
| Parametr`resolution` | Kontrakt480P, 720P, 1080P |
| Parametr`default_resolution` | Kontrakt720P |
| Parametr`ratio` | Kontrakt16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9 |
| Parametr`ratio_must_omit` | Kontraktfalse |
| Parametr`image_urls` | Kontrakt{"max\_count":0} |

Životní cyklus: `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`

Struktury metod a ID jsou přesné; schopnosti dodavatele jsou oddělené od připuštění požadavku.

### Tarify

#### Sazby metod Ailoot

Výstup

0,18 US$ *za sekundu v 1080p*

Výstup

0,07 US$ *za sekundu v 480p*

Výstup

0,14 US$ *za sekundu v 720p*

Ailoot před požadavkem rezervuje odhadovanou částku. Po výsledku vyúčtuje konečný poplatek podle naměřeného využití. Při streamování se účtování řídí konečným záznamem využití. [Jak funguje rezervace a vyúčtování →](https://ailoot.ai/docs/cs/billing/reserve/)

### Příklady požadavků

#### Ailoot · Tvorba videa

Příklad scény

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

### Přijímání a ukládání výsledků

#### Ailoot · Tvorba videa

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`

##### Ověřit stav úlohy

Získat stav pomocí GET

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/generations/$operation_id" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o status.json
python3 - <<'PY_STATUS'
import json
from pathlib import Path
r=json.loads(Path("status.json").read_text())
print(json.dumps(r))
if r.get("status")=="completed":
    for x in r.get("data",[]):print(x)
PY_STATUS
```

##### Uložte všechny dokončené soubory

Získat všechny dokončené soubory pomocí GET

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}"
export AILOOT_STATUS_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
from urllib.parse import urlsplit,urljoin
f=Path(os.environ["AILOOT_STATUS_FILE"])
if not f.is_file():raise SystemExit("Choose the actual completed status file")
r=json.loads(f.read_text())
if r.get("status")!="completed" or not isinstance(r.get("data"),list) or not r["data"]:raise SystemExit("Wait for a completed status with asset paths")
urls=[]
for x in r["data"]:
    if not isinstance(x,str) or "\n" in x or "\r" in x:raise SystemExit("Invalid asset path")
    u=urljoin("https://api.ailoot.ai",x)
    z=urlsplit(u)
    if z.scheme!="https" or z.netloc!="api.ailoot.ai" or z.username or z.password:raise SystemExit("Use the actual Ailoot asset paths from status")
    urls.append(u)
Path("asset-urls.txt").write_text("\n".join(urls)+"\n")
PY_REQUEST
index=0
while IFS= read -r asset_url; do
  curl --fail-with-body --silent --show-error "$asset_url" \
    -H "Authorization: Bearer $AILOOT_API_KEY" -o "video-${index}.mp4"
  index=$((index + 1))
done < asset-urls.txt
```

Další načtení obsahu

Získat obsah pomocí GET

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/generations/$operation_id/content" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o video.mp4
```

##### Uchovejte všechny dokončené výsledky

Uložte každé dokončené video či vrácený soubor; stáhněte obsah každé skutečně vrácené URL souboru.

Zachovejte každou vrácenou datovou položku a index výstupu. content\_url označuje pouze první; načtěte každou skutečnou cestu obsahu či soubor. GET obsahu bez indexu nepředstavuje všechny výstupy.

##### Pokud je nutné ověřit původní odpověď

Načítejte existující původní úlohu; odeslání s neznámým výsledkem nikdy neopakujte.

Pole odpovědi

| Pole | Typ |
| --- | --- |
| Pole`id` | Typstring |
| Pole`object` | Typstring |
| Pole`model` | Typstring |
| Pole`status` | Typstring |
| Pole`content_url` | Typsigned URL |
| Pole`data[]` | Typsigned URL |
| Pole`usage` | Typobject |
| Pole`result_pending_check` | Typboolean |

Chyby a další kroky

| Odpověď | Podmínka | Další krok |
| --- | --- | --- |
| Odpověď400 · `invalid_request_error` | PodmínkaNeplatná povinná pole, reprezentace podkladů nebo hodnota parametru | Další krokPřed novým požadavkem na vytvoření opravte uvedená pole. |
| Odpověď409 · `video_not_ready` | PodmínkaObsah původního výsledku zatím není dostupný | Další krokDotazujte se na původní vrácené ID a dodržujte Retry-After. |
| Odpověď`server_error` | PodmínkaVrácená odpověď uvádí, že operaci nebo výsledek je třeba zkontrolovat | Další krokUchovejte původní vrácené ID operace nebo úlohy, hlavičky požadavku a odpověď; pokračujte v podporovaném načítání údajů o této původní operaci. Požadavek na vytvoření znovu neodesílejte. |

### Aliasy

#### Aliasy modelu

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

#### Aliasy cest metod

Použijte cesty metod uvedené výše.

#### Související ID modelů

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

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

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

Alibaba /`happyhorse-t2v`

ID modelu

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

### Úvod

Model pro vytváření krátkého videa se zvukem z textového popisu. Hodí se pro scény, v nichž se pohyb, kompozice a vizuální styl zadávají slovy.

Přijímané vstupy

Text

Výsledky

Video

### Dostupné v Ailoot · vstupy a metody

**Ailoot · Tvorba videa** `POST /v1/videos/generations`

Vstup

`text`

Výstup

`video`

Výstupní formát

mp4

| Pole | Typ | Požadavek | Hodnoty a limity | Výchozí |
| --- | --- | --- | --- | --- |
| Pole`model` | Typ`string` | PožadavekPovinné | Hodnoty a limity happyhorse-t2v | Výchozí— |
| Pole`prompt` | Typ`string` | PožadavekPovinné | Hodnoty a limity Minimální délka: 1 | Výchozí— |
| Pole`duration` | Typ`integer` | PožadavekVolitelné | Hodnoty a limity Minimum: 3 Maximum: 15 Jednotka: sekundy | Výchozí5 |
| Pole`resolution` | Typ`string` | PožadavekVolitelné | Hodnoty a limity 480P, 720P, 1080P | Výchozí720P |
| Pole`ratio` | Typ`string` | PožadavekVolitelné | Hodnoty a limity 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9 | Výchozí16:9 |
| Pole`image_urls` | Typ`https_url\|data_image_url[]` | PožadavekVolitelné | Hodnoty a limity Minimální počet položek: 0 Maximální počet položek: 0 Maximální počet dekódovaných bajtů: 20 971 520 Typy MIME: image/jpeg, image/png, image/webp | Výchozí— |

Kombinace vstupních materiálů

**Text na video** · Povinné: prompt

Parametry a životní cyklus metody

| Parametr | Kontrakt |
| --- | --- |
| Parametr`material_types` | Kontrakttext |
| Parametr`required` | Kontraktnull |
| Parametr`optional_controls` | Kontraktnull |

Životní cyklus: `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`

Struktury metod a ID jsou přesné; schopnosti dodavatele jsou oddělené od připuštění požadavku.

### Tarify

#### Sazby metod Ailoot

Výstup

0,18 US$ *za sekundu v 1080p*

Výstup

0,07 US$ *za sekundu v 480p*

Výstup

0,14 US$ *za sekundu v 720p*

Ailoot před požadavkem rezervuje odhadovanou částku. Po výsledku vyúčtuje konečný poplatek podle naměřeného využití. Při streamování se účtování řídí konečným záznamem využití. [Jak funguje rezervace a vyúčtování →](https://ailoot.ai/docs/cs/billing/reserve/)

### Příklady požadavků

#### Ailoot · Tvorba videa

Příklad scény

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

### Přijímání a ukládání výsledků

#### Ailoot · Tvorba videa

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`

##### Ověřit stav úlohy

Získat stav pomocí GET

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/generations/$operation_id" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o status.json
python3 - <<'PY_STATUS'
import json
from pathlib import Path
r=json.loads(Path("status.json").read_text())
print(json.dumps(r))
if r.get("status")=="completed":
    for x in r.get("data",[]):print(x)
PY_STATUS
```

##### Uložte všechny dokončené soubory

Získat všechny dokončené soubory pomocí GET

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}"
export AILOOT_STATUS_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
from urllib.parse import urlsplit,urljoin
f=Path(os.environ["AILOOT_STATUS_FILE"])
if not f.is_file():raise SystemExit("Choose the actual completed status file")
r=json.loads(f.read_text())
if r.get("status")!="completed" or not isinstance(r.get("data"),list) or not r["data"]:raise SystemExit("Wait for a completed status with asset paths")
urls=[]
for x in r["data"]:
    if not isinstance(x,str) or "\n" in x or "\r" in x:raise SystemExit("Invalid asset path")
    u=urljoin("https://api.ailoot.ai",x)
    z=urlsplit(u)
    if z.scheme!="https" or z.netloc!="api.ailoot.ai" or z.username or z.password:raise SystemExit("Use the actual Ailoot asset paths from status")
    urls.append(u)
Path("asset-urls.txt").write_text("\n".join(urls)+"\n")
PY_REQUEST
index=0
while IFS= read -r asset_url; do
  curl --fail-with-body --silent --show-error "$asset_url" \
    -H "Authorization: Bearer $AILOOT_API_KEY" -o "video-${index}.mp4"
  index=$((index + 1))
done < asset-urls.txt
```

Další načtení obsahu

Získat obsah pomocí GET

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/generations/$operation_id/content" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o video.mp4
```

##### Uchovejte všechny dokončené výsledky

Uložte každé dokončené video či vrácený soubor; stáhněte obsah každé skutečně vrácené URL souboru.

Zachovejte každou vrácenou datovou položku a index výstupu. content\_url označuje pouze první; načtěte každou skutečnou cestu obsahu či soubor. GET obsahu bez indexu nepředstavuje všechny výstupy.

##### Pokud je nutné ověřit původní odpověď

Načítejte existující původní úlohu; odeslání s neznámým výsledkem nikdy neopakujte.

Pole odpovědi

| Pole | Typ |
| --- | --- |
| Pole`id` | Typstring |
| Pole`object` | Typstring |
| Pole`model` | Typstring |
| Pole`status` | Typstring |
| Pole`content_url` | Typsigned URL |
| Pole`data[]` | Typsigned URL |
| Pole`usage` | Typobject |
| Pole`result_pending_check` | Typboolean |

Chyby a další kroky

| Odpověď | Podmínka | Další krok |
| --- | --- | --- |
| Odpověď400 · `invalid_request_error` | PodmínkaNeplatná povinná pole, reprezentace podkladů nebo hodnota parametru | Další krokPřed novým požadavkem na vytvoření opravte uvedená pole. |
| Odpověď409 · `video_not_ready` | PodmínkaObsah původního výsledku zatím není dostupný | Další krokDotazujte se na původní vrácené ID a dodržujte Retry-After. |
| Odpověď`server_error` | PodmínkaVrácená odpověď uvádí, že operaci nebo výsledek je třeba zkontrolovat | Další krokUchovejte původní vrácené ID operace nebo úlohy, hlavičky požadavku a odpověď; pokračujte v podporovaném načítání údajů o této původní operaci. Požadavek na vytvoření znovu neodesílejte. |

### Aliasy

#### Aliasy modelu

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

#### Aliasy cest metod

Použijte cesty metod uvedené výše.

#### Související ID modelů

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

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

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

Alibaba /`happyhorse-t2v-latest`

ID modelu

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

### Úvod

Model pro vytváření krátkého videa se zvukem z textového popisu. Hodí se pro scény, v nichž se pohyb, kompozice a vizuální styl zadávají slovy.

Přijímané vstupy

Text

Výsledky

Video

### Dostupné v Ailoot · vstupy a metody

**Ailoot · Tvorba videa** `POST /v1/videos/generations`

Vstup

`text`

Výstup

`video`

Výstupní formát

mp4

| Pole | Typ | Požadavek | Hodnoty a limity | Výchozí |
| --- | --- | --- | --- | --- |
| Pole`model` | Typ`string` | PožadavekPovinné | Hodnoty a limity happyhorse-t2v-latest | Výchozí— |
| Pole`prompt` | Typ`string` | PožadavekPovinné | Hodnoty a limity Minimální délka: 1 | Výchozí— |
| Pole`duration` | Typ`integer` | PožadavekVolitelné | Hodnoty a limity Minimum: 3 Maximum: 15 Jednotka: sekundy | Výchozí5 |
| Pole`resolution` | Typ`string` | PožadavekVolitelné | Hodnoty a limity 480P, 720P, 1080P | Výchozí720P |
| Pole`ratio` | Typ`string` | PožadavekVolitelné | Hodnoty a limity 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9 | Výchozí16:9 |
| Pole`image_urls` | Typ`https_url\|data_image_url[]` | PožadavekVolitelné | Hodnoty a limity Minimální počet položek: 0 Maximální počet položek: 0 Maximální počet dekódovaných bajtů: 20 971 520 Typy MIME: image/jpeg, image/png, image/webp | Výchozí— |

Kombinace vstupních materiálů

**Text na video** · Povinné: prompt

Parametry a životní cyklus metody

| Parametr | Kontrakt |
| --- | --- |
| Parametr`material_types` | Kontrakttext |
| Parametr`required` | Kontraktnull |
| Parametr`optional_controls` | Kontraktnull |

Životní cyklus: `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`

Struktury metod a ID jsou přesné; schopnosti dodavatele jsou oddělené od připuštění požadavku.

### Tarify

#### Sazby metod Ailoot

Výstup

0,18 US$ *za sekundu v 1080p*

Výstup

0,07 US$ *za sekundu v 480p*

Výstup

0,14 US$ *za sekundu v 720p*

Ailoot před požadavkem rezervuje odhadovanou částku. Po výsledku vyúčtuje konečný poplatek podle naměřeného využití. Při streamování se účtování řídí konečným záznamem využití. [Jak funguje rezervace a vyúčtování →](https://ailoot.ai/docs/cs/billing/reserve/)

### Příklady požadavků

#### Ailoot · Tvorba videa

Příklad scény

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

### Přijímání a ukládání výsledků

#### Ailoot · Tvorba videa

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`

##### Ověřit stav úlohy

Získat stav pomocí GET

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/generations/$operation_id" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o status.json
python3 - <<'PY_STATUS'
import json
from pathlib import Path
r=json.loads(Path("status.json").read_text())
print(json.dumps(r))
if r.get("status")=="completed":
    for x in r.get("data",[]):print(x)
PY_STATUS
```

##### Uložte všechny dokončené soubory

Získat všechny dokončené soubory pomocí GET

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}"
export AILOOT_STATUS_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
from urllib.parse import urlsplit,urljoin
f=Path(os.environ["AILOOT_STATUS_FILE"])
if not f.is_file():raise SystemExit("Choose the actual completed status file")
r=json.loads(f.read_text())
if r.get("status")!="completed" or not isinstance(r.get("data"),list) or not r["data"]:raise SystemExit("Wait for a completed status with asset paths")
urls=[]
for x in r["data"]:
    if not isinstance(x,str) or "\n" in x or "\r" in x:raise SystemExit("Invalid asset path")
    u=urljoin("https://api.ailoot.ai",x)
    z=urlsplit(u)
    if z.scheme!="https" or z.netloc!="api.ailoot.ai" or z.username or z.password:raise SystemExit("Use the actual Ailoot asset paths from status")
    urls.append(u)
Path("asset-urls.txt").write_text("\n".join(urls)+"\n")
PY_REQUEST
index=0
while IFS= read -r asset_url; do
  curl --fail-with-body --silent --show-error "$asset_url" \
    -H "Authorization: Bearer $AILOOT_API_KEY" -o "video-${index}.mp4"
  index=$((index + 1))
done < asset-urls.txt
```

Další načtení obsahu

Získat obsah pomocí GET

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/generations/$operation_id/content" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o video.mp4
```

##### Uchovejte všechny dokončené výsledky

Uložte každé dokončené video či vrácený soubor; stáhněte obsah každé skutečně vrácené URL souboru.

Zachovejte každou vrácenou datovou položku a index výstupu. content\_url označuje pouze první; načtěte každou skutečnou cestu obsahu či soubor. GET obsahu bez indexu nepředstavuje všechny výstupy.

##### Pokud je nutné ověřit původní odpověď

Načítejte existující původní úlohu; odeslání s neznámým výsledkem nikdy neopakujte.

Pole odpovědi

| Pole | Typ |
| --- | --- |
| Pole`id` | Typstring |
| Pole`object` | Typstring |
| Pole`model` | Typstring |
| Pole`status` | Typstring |
| Pole`content_url` | Typsigned URL |
| Pole`data[]` | Typsigned URL |
| Pole`usage` | Typobject |
| Pole`result_pending_check` | Typboolean |

Chyby a další kroky

| Odpověď | Podmínka | Další krok |
| --- | --- | --- |
| Odpověď400 · `invalid_request_error` | PodmínkaNeplatná povinná pole, reprezentace podkladů nebo hodnota parametru | Další krokPřed novým požadavkem na vytvoření opravte uvedená pole. |
| Odpověď409 · `video_not_ready` | PodmínkaObsah původního výsledku zatím není dostupný | Další krokDotazujte se na původní vrácené ID a dodržujte Retry-After. |
| Odpověď`server_error` | PodmínkaVrácená odpověď uvádí, že operaci nebo výsledek je třeba zkontrolovat | Další krokUchovejte původní vrácené ID operace nebo úlohy, hlavičky požadavku a odpověď; pokračujte v podporovaném načítání údajů o této původní operaci. Požadavek na vytvoření znovu neodesílejte. |

### Aliasy

#### Aliasy modelu

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

#### Aliasy cest metod

Použijte cesty metod uvedené výše.

#### Související ID modelů

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

FAQ · happyhorse-1.1-t2v

Jaké vstupy a výsledky jsou dostupné?

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

Jaká pole požadavek používá?

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

Jaké limity platí?

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

Připojte Ailoot k Claude Code, OpenCode, Hermes nebo vlastní aplikaci.

## Společnost a její portfolio projektů

Společnost a její portfolio projektů: miliony zákazníků; měsíční tržby v miliardách.

## Nakupujte tokeny se slevou.

Sleva předplatného pro pravidelnou práci. Promo kódy až 50% na nákup tokenů.

Předplatné

Pro pravidelné požadavky vyberte tarif se slevou.

Promo kód až 50%

Při nákupu zadejte kód. Cena se přepočítá podle probíhající akce.

Výdaje v historii

U každého požadavku se uloží model, tokeny a částka.

[Vybrat předplatné](https://ailoot.ai/docs/cs/billing/subscriptions/) · [Zobrazit ceny modelů](https://ailoot.ai/models/cs/)

## Připojte API k produktu, který prodáváte.

SaaS, aplikace a boti podle nabídky a licenční smlouvy Ailoot. Pro přeprodej požádejte o licenci přeprodejce.

Komerční aplikace

Začleňte generování textu, obrázků, videa a zvuku do placených funkcí své služby.

Licence pro přeprodejce

Pošlete popis projektu a způsob poskytování přístupu. Vyžádejte písemné podmínky použití a přeprodeje.

Dokumenty na webu

Nabídka, licenční smlouva a zásady zpracování dat jsou dostupné před připojením.

[Požádat o licenci přeprodejce](mailto:support@ailoot.ai) · [Nabídka a licenční smlouva](https://ailoot.ai/legal/offer?lang=cs)

## Ailoot · Společnost a její portfolio projektů





Ailoot staví na dlouhodobých provozních zkušenostech, široké klientské základně, stabilních službách a průběžném sledování KPI.





Společnost a její portfolio projektů: miliony zákazníků; měsíční tržby v miliardách.





Ailoot využívá tyto provozní zkušenosti k poskytování přístupu přes API k funkcím AI v produktech zákazníků, agentech, aplikacích a automatizacích.
