happyhorse-1.1-t2v
Model na tvorbu krátkeho videa so zvukom z textového opisu. Hodí sa pre scény, v ktorých sa pohyb, kompozícia a vizuálny štýl zadávajú slovami.
- Ailoot · Generovanie videa
POST /v1/videos/generationshappyhorse-1.1-t2v - Ailoot · Generovanie videa
POST /v1/videos/generationshappyhorse-t2v - Ailoot · Generovanie videa
POST /v1/videos/generationshappyhorse-t2v-latest
O modeli
Tento opis pokrýva možnosti modelu. Dostupné vstupy, výstupy a voľby v Ailoot sú uvedené nižšie pre vybranú metódu.
HappyHorse-1.1-T2V je model spoločnosti Alibaba na vytváranie krátkych videoscén z textu. Opis určuje postavy, akcie, prostredie a vizuálne spracovanie; tento režim nevyžaduje vstupný obrázok. Model vytvára obrazovú sekvenciu a môže k nej vytvoriť sprievodný zvuk.
Výrobca zdôrazňuje porozumenie významu scény, filmovú réžiu a výraznosť pohybu. Text môže určiť atmosféru, konanie postavy, správanie objektov a fyzikálnu dynamiku. Scénu tak možno vystavať okolo toho, čo sa má diať, a potom ju usmerniť svetlom, uhlom záberu a pohybom kamery.
Réžia pomocou slov
Zadanie je povinné a môže byť v ľubovoľnom jazyku. Môže obsahovať najviac 5000 nečínskych alebo 2500 čínskych znakov; nadbytočná časť sa odstráni. Dianie, prostredie a dôležité vizuálne detaily treba opísať v tomto rozsahu. Takéto zadanie ponecháva modelu priestor na vytvorenie novej scény namiesto toho, aby mu určovalo hotový prvý záber.
V tomto režime je text hlavným riadiacim podkladom. Konkrétny vzhľad postavy alebo predmetu možno opísať slovami; možnosť preniesť jeho vzhľad samostatnými obrázkami patrí do iného režimu rodiny. Výsledok závisí od celého zadania, preto rovnaká počiatočná hodnota generátora náhodnosti pomáha získať podobné varianty, ale nezaručuje presné zopakovanie.
Video a zvukový sprievod
Pri HappyHorse-1.1 sa dĺžka videa volí ako celé číslo od 3 do 15 sekúnd. Podporované sú úrovne rozlíšenia 480P, 720P a 1080P. Hotový súbor má formát MP4 a snímkovú frekvenciu 24 snímok za sekundu. Model môže generovať zvuk spolu s obrazom a spájať zvukový sprievod s dianím v scéne.
Tvar záberu možno zadať vopred. Dostupné sú 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21 a 21:9 — od širokého filmového záberu po pretiahnuté vertikálne video. Rozlíšenie, formát a dĺžka určujú rozmery výsledku; obsah a pohyb sa zadávajú textom.
Tento variant je určený na vytvorenie novej scény zo slovného zámeru. Hodí sa pre krátku epizódu, vizuálny nápad alebo atmosférické video, ktorého réžiu treba vyjadriť textom.
Ailoot · Generovanie videa POST /v1/videos/generations happyhorse-1.1-t2v
happyhorse-1.1-t2vhappyhorse-1.1-t2vhappyhorse-t2vhappyhorse-t2v-latest
Úvod
Model na tvorbu krátkeho videa so zvukom z textového opisu. Hodí sa pre scény, v ktorých sa pohyb, kompozícia a vizuálny štýl zadávajú slovami.
- Povolené vstupy
- Text
- Výsledky
- Video
Dostupné v Ailoot · vstupy a metódy
Ailoot · Generovanie videa POST /v1/videos/generations
- Vstup
text- Výstup
video- Výstupný formát
- mp4
| Pole | Typ | Požiadavka | Hodnoty a limity | Predvolené |
|---|---|---|---|---|
Polemodel | Typstring | PožiadavkaPovinné | Hodnoty a limity happyhorse-1.1-t2v | Predvolené— |
Poleprompt | Typstring | PožiadavkaPovinné | Hodnoty a limity Minimálna dĺžka: 1 | Predvolené— |
Poleduration | Typinteger | PožiadavkaVoliteľné | Hodnoty a limity Minimum: 3 Maximum: 15 Jednotka: sekundy | Predvolené5 |
Poleresolution | Typstring | PožiadavkaVoliteľné | Hodnoty a limity 480P, 720P, 1080P | Predvolené720P |
Poleratio | Typstring | PožiadavkaVoliteľné | Hodnoty a limity 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9 | Predvolené16:9 |
Poleimage_urls | Typhttps_url|data_image_url[] | PožiadavkaVoliteľné | Hodnoty a limity Minimálny počet položiek: 0 Maximálny počet položiek: 0 Maximálny počet dekódovaných bajtov: 20 971 520 Typy MIME: image/jpeg, image/png, image/webp | Predvolené— |
Kombinácie vstupných podkladov
Z textu na video · Povinné: prompt
Parametre a životný cyklus metódy
| Parameter | Špecifikácia |
|---|---|
Parametercontent_type | Špecifikáciaapplication/json |
Parameterrequired | Špecifikáciamodel, prompt |
Parametermaterial_types | Špecifikáciatext |
Parameteroptional | Špecifikáciaduration, resolution, ratio |
Parameterduration_integer_range | Špecifikácia3, 15 |
Parameterdefault_duration | Špecifikácia5 |
Parameterresolution | Špecifikácia480P, 720P, 1080P |
Parameterdefault_resolution | Špecifikácia720P |
Parameterratio | Špecifikácia16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9 |
Parameterratio_must_omit | Špecifikáciafalse |
Parameterimage_urls | Špecifikácia{"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
Štruktúry metód a ID sú presné; možnosti dodávateľa sa posudzujú oddelene od prijatia požiadavky.
Cenník
Sadzby metód Ailoot
POST /v1/videos/generations- Výstup
- 0,18 USD za sekundu pri 1080p
- Výstup
- 0,07 USD za sekundu pri 480p
- Výstup
- 0,14 USD za sekundu pri 720p
Ailoot pred požiadavkou rezervuje odhadovanú sumu. Po získaní výsledku vyúčtuje konečný poplatok podľa nameraného využitia. Pri streamovaní sa vyúčtovanie riadi konečným záznamom využitia. Ako funguje rezervácia a vyúčtovanie →
Príklady požiadaviek
Ailoot · Generovanie videa
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
Prijať a uložiť výsledky
Ailoot · Generovanie videa
mp4
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/videos/generations/{request_id}/content
Skontrolovať stav úlohy
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žiť všetky dokončené podklady
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
Čítanie ďalšieho obsahu
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
Uchovať všetky dokončené výsledky
Uložte každé dokončené video alebo vrátený súbor; načítajte obsah každej skutočne vrátenej URL podkladu.
Zachovajte každú vrátenú dátovú položku a index výstupu. content_url odkazuje iba na prvý výstup; načítajte každú skutočnú cestu obsahu alebo súbor. GET obsahu bez parametra index nevracia všetky výstupy.
Ak treba overiť pôvodnú odpoveď
Načítajte existujúcu pôvodnú úlohu; odoslanie s neznámym výsledkom nikdy neopakujte.
Polia odpovede
| Pole | Typ |
|---|---|
Poleid | Typstring |
Poleobject | Typstring |
Polemodel | Typstring |
Polestatus | Typstring |
Polecontent_url | Typsigned URL |
Poledata[] | Typsigned URL |
Poleusage | Typobject |
Poleresult_pending_check | Typboolean |
Chyby a ďalšie kroky
| Odpoveď | Podmienka | Ďalší krok |
|---|---|---|
Odpoveď400 · invalid_request_error | PodmienkaNeplatné povinné polia, reprezentácia materiálu alebo hodnota parametra | Ďalší krokPred novou požiadavkou na vytvorenie opravte uvedené polia. |
Odpoveď409 · video_not_ready | PodmienkaPôvodný obsah výsledku zatiaľ nie je dostupný | Ďalší krokPriebežne zisťujte stav pomocou pôvodne vráteného ID a rešpektujte Retry-After. |
Odpoveďserver_error | PodmienkaVrátená odpoveď uvádza, že operáciu alebo výsledok je potrebné skontrolovať | Ďalší krokUchovajte pôvodné vrátené ID operácie/úlohy, hlavičky požiadavky a odpoveď; naďalej čítajte údaje o tejto pôvodnej operácii podporovaným spôsobom. Požiadavku na vytvorenie znova neodosielajte. |
Aliasy
Aliasy modelov
Ailoot happyhorse-1.1-t2v, happyhorse-t2v, happyhorse-t2v-latest
Aliasy ciest metód
Použite cesty metód uvedené vyššie.
Súvisiace ID na volanie
Ailoot · Generovanie videa POST /v1/videos/generations happyhorse-t2v
happyhorse-t2vhappyhorse-1.1-t2vhappyhorse-t2vhappyhorse-t2v-latest
Úvod
Model na tvorbu krátkeho videa so zvukom z textového opisu. Hodí sa pre scény, v ktorých sa pohyb, kompozícia a vizuálny štýl zadávajú slovami.
- Povolené vstupy
- Text
- Výsledky
- Video
Dostupné v Ailoot · vstupy a metódy
Ailoot · Generovanie videa POST /v1/videos/generations
- Vstup
text- Výstup
video- Výstupný formát
- mp4
| Pole | Typ | Požiadavka | Hodnoty a limity | Predvolené |
|---|---|---|---|---|
Polemodel | Typstring | PožiadavkaPovinné | Hodnoty a limity happyhorse-t2v | Predvolené— |
Poleprompt | Typstring | PožiadavkaPovinné | Hodnoty a limity Minimálna dĺžka: 1 | Predvolené— |
Poleduration | Typinteger | PožiadavkaVoliteľné | Hodnoty a limity Minimum: 3 Maximum: 15 Jednotka: sekundy | Predvolené5 |
Poleresolution | Typstring | PožiadavkaVoliteľné | Hodnoty a limity 480P, 720P, 1080P | Predvolené720P |
Poleratio | Typstring | PožiadavkaVoliteľné | Hodnoty a limity 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9 | Predvolené16:9 |
Poleimage_urls | Typhttps_url|data_image_url[] | PožiadavkaVoliteľné | Hodnoty a limity Minimálny počet položiek: 0 Maximálny počet položiek: 0 Maximálny počet dekódovaných bajtov: 20 971 520 Typy MIME: image/jpeg, image/png, image/webp | Predvolené— |
Kombinácie vstupných podkladov
Z textu na video · Povinné: prompt
Parametre a životný cyklus metódy
| Parameter | Špecifikácia |
|---|---|
Parametermaterial_types | Špecifikáciatext |
Parameterrequired | Špecifikácianull |
Parameteroptional_controls | Špecifikácianull |
Ž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
Štruktúry metód a ID sú presné; možnosti dodávateľa sa posudzujú oddelene od prijatia požiadavky.
Cenník
Sadzby metód Ailoot
POST /v1/videos/generations- Výstup
- 0,18 USD za sekundu pri 1080p
- Výstup
- 0,07 USD za sekundu pri 480p
- Výstup
- 0,14 USD za sekundu pri 720p
Ailoot pred požiadavkou rezervuje odhadovanú sumu. Po získaní výsledku vyúčtuje konečný poplatok podľa nameraného využitia. Pri streamovaní sa vyúčtovanie riadi konečným záznamom využitia. Ako funguje rezervácia a vyúčtovanie →
Príklady požiadaviek
Ailoot · Generovanie videa
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
Prijať a uložiť výsledky
Ailoot · Generovanie videa
mp4
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/videos/generations/{request_id}/content
Skontrolovať stav úlohy
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žiť všetky dokončené podklady
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
Čítanie ďalšieho obsahu
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
Uchovať všetky dokončené výsledky
Uložte každé dokončené video alebo vrátený súbor; načítajte obsah každej skutočne vrátenej URL podkladu.
Zachovajte každú vrátenú dátovú položku a index výstupu. content_url odkazuje iba na prvý výstup; načítajte každú skutočnú cestu obsahu alebo súbor. GET obsahu bez parametra index nevracia všetky výstupy.
Ak treba overiť pôvodnú odpoveď
Načítajte existujúcu pôvodnú úlohu; odoslanie s neznámym výsledkom nikdy neopakujte.
Polia odpovede
| Pole | Typ |
|---|---|
Poleid | Typstring |
Poleobject | Typstring |
Polemodel | Typstring |
Polestatus | Typstring |
Polecontent_url | Typsigned URL |
Poledata[] | Typsigned URL |
Poleusage | Typobject |
Poleresult_pending_check | Typboolean |
Chyby a ďalšie kroky
| Odpoveď | Podmienka | Ďalší krok |
|---|---|---|
Odpoveď400 · invalid_request_error | PodmienkaNeplatné povinné polia, reprezentácia materiálu alebo hodnota parametra | Ďalší krokPred novou požiadavkou na vytvorenie opravte uvedené polia. |
Odpoveď409 · video_not_ready | PodmienkaPôvodný obsah výsledku zatiaľ nie je dostupný | Ďalší krokPriebežne zisťujte stav pomocou pôvodne vráteného ID a rešpektujte Retry-After. |
Odpoveďserver_error | PodmienkaVrátená odpoveď uvádza, že operáciu alebo výsledok je potrebné skontrolovať | Ďalší krokUchovajte pôvodné vrátené ID operácie/úlohy, hlavičky požiadavky a odpoveď; naďalej čítajte údaje o tejto pôvodnej operácii podporovaným spôsobom. Požiadavku na vytvorenie znova neodosielajte. |
Aliasy
Aliasy modelov
Ailoot happyhorse-1.1-t2v, happyhorse-t2v, happyhorse-t2v-latest
Aliasy ciest metód
Použite cesty metód uvedené vyššie.
Súvisiace ID na volanie
Ailoot · Generovanie videa POST /v1/videos/generations happyhorse-t2v-latest
happyhorse-t2v-latesthappyhorse-1.1-t2vhappyhorse-t2vhappyhorse-t2v-latest
Úvod
Model na tvorbu krátkeho videa so zvukom z textového opisu. Hodí sa pre scény, v ktorých sa pohyb, kompozícia a vizuálny štýl zadávajú slovami.
- Povolené vstupy
- Text
- Výsledky
- Video
Dostupné v Ailoot · vstupy a metódy
Ailoot · Generovanie videa POST /v1/videos/generations
- Vstup
text- Výstup
video- Výstupný formát
- mp4
| Pole | Typ | Požiadavka | Hodnoty a limity | Predvolené |
|---|---|---|---|---|
Polemodel | Typstring | PožiadavkaPovinné | Hodnoty a limity happyhorse-t2v-latest | Predvolené— |
Poleprompt | Typstring | PožiadavkaPovinné | Hodnoty a limity Minimálna dĺžka: 1 | Predvolené— |
Poleduration | Typinteger | PožiadavkaVoliteľné | Hodnoty a limity Minimum: 3 Maximum: 15 Jednotka: sekundy | Predvolené5 |
Poleresolution | Typstring | PožiadavkaVoliteľné | Hodnoty a limity 480P, 720P, 1080P | Predvolené720P |
Poleratio | Typstring | PožiadavkaVoliteľné | Hodnoty a limity 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9 | Predvolené16:9 |
Poleimage_urls | Typhttps_url|data_image_url[] | PožiadavkaVoliteľné | Hodnoty a limity Minimálny počet položiek: 0 Maximálny počet položiek: 0 Maximálny počet dekódovaných bajtov: 20 971 520 Typy MIME: image/jpeg, image/png, image/webp | Predvolené— |
Kombinácie vstupných podkladov
Z textu na video · Povinné: prompt
Parametre a životný cyklus metódy
| Parameter | Špecifikácia |
|---|---|
Parametermaterial_types | Špecifikáciatext |
Parameterrequired | Špecifikácianull |
Parameteroptional_controls | Špecifikácianull |
Ž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
Štruktúry metód a ID sú presné; možnosti dodávateľa sa posudzujú oddelene od prijatia požiadavky.
Cenník
Sadzby metód Ailoot
POST /v1/videos/generations- Výstup
- 0,18 USD za sekundu pri 1080p
- Výstup
- 0,07 USD za sekundu pri 480p
- Výstup
- 0,14 USD za sekundu pri 720p
Ailoot pred požiadavkou rezervuje odhadovanú sumu. Po získaní výsledku vyúčtuje konečný poplatok podľa nameraného využitia. Pri streamovaní sa vyúčtovanie riadi konečným záznamom využitia. Ako funguje rezervácia a vyúčtovanie →
Príklady požiadaviek
Ailoot · Generovanie videa
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
Prijať a uložiť výsledky
Ailoot · Generovanie videa
mp4
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/videos/generations/{request_id}/content
Skontrolovať stav úlohy
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žiť všetky dokončené podklady
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
Čítanie ďalšieho obsahu
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
Uchovať všetky dokončené výsledky
Uložte každé dokončené video alebo vrátený súbor; načítajte obsah každej skutočne vrátenej URL podkladu.
Zachovajte každú vrátenú dátovú položku a index výstupu. content_url odkazuje iba na prvý výstup; načítajte každú skutočnú cestu obsahu alebo súbor. GET obsahu bez parametra index nevracia všetky výstupy.
Ak treba overiť pôvodnú odpoveď
Načítajte existujúcu pôvodnú úlohu; odoslanie s neznámym výsledkom nikdy neopakujte.
Polia odpovede
| Pole | Typ |
|---|---|
Poleid | Typstring |
Poleobject | Typstring |
Polemodel | Typstring |
Polestatus | Typstring |
Polecontent_url | Typsigned URL |
Poledata[] | Typsigned URL |
Poleusage | Typobject |
Poleresult_pending_check | Typboolean |
Chyby a ďalšie kroky
| Odpoveď | Podmienka | Ďalší krok |
|---|---|---|
Odpoveď400 · invalid_request_error | PodmienkaNeplatné povinné polia, reprezentácia materiálu alebo hodnota parametra | Ďalší krokPred novou požiadavkou na vytvorenie opravte uvedené polia. |
Odpoveď409 · video_not_ready | PodmienkaPôvodný obsah výsledku zatiaľ nie je dostupný | Ďalší krokPriebežne zisťujte stav pomocou pôvodne vráteného ID a rešpektujte Retry-After. |
Odpoveďserver_error | PodmienkaVrátená odpoveď uvádza, že operáciu alebo výsledok je potrebné skontrolovať | Ďalší krokUchovajte pôvodné vrátené ID operácie/úlohy, hlavičky požiadavky a odpoveď; naďalej čítajte údaje o tejto pôvodnej operácii podporovaným spôsobom. Požiadavku na vytvorenie znova neodosielajte. |
Aliasy
Aliasy modelov
Ailoot happyhorse-1.1-t2v, happyhorse-t2v, happyhorse-t2v-latest
Aliasy ciest metód
Použite cesty metód uvedené vyššie.
Súvisiace ID na volanie
FAQ · happyhorse-1.1-t2v
- Aké vstupy a výsledky sú dostupné?
POST /v1/videos/generations·happyhorse-1.1-t2v:text→videoPOST /v1/videos/generations·happyhorse-t2v:text→videoPOST /v1/videos/generations·happyhorse-t2v-latest:text→video- Aké polia používa požiadavka?
POST /v1/videos/generations·happyhorse-1.1-t2v:model,prompt,duration,resolution,ratio,image_urlsPOST /v1/videos/generations·happyhorse-t2v:model,prompt,duration,resolution,ratio,image_urlsPOST /v1/videos/generations·happyhorse-t2v-latest:model,prompt,duration,resolution,ratio,image_urls- Aké limity platia?
POST /v1/videos/generations·happyhorse-1.1-t2v:duration.minimum:3;duration.maximum:15POST /v1/videos/generations·happyhorse-t2v:duration.minimum:3;duration.maximum:15POST /v1/videos/generations·happyhorse-t2v-latest:duration.minimum:3;duration.maximum:15