Alibaba: HappyHorse 1.1
Alibaba HappyHorse 1.1 generuje krátká videa se zvukem z textového zadání, jednoho obrázku prvního snímku nebo až devíti referenčních obrázků. Profily výrobce zdůrazňují vylepšený pohyb, detaily pokožky a konzistentní postavy napříč klipy. Výstupem je MP4 dlouhé 3–15 sekund při 24 fps s možnostmi 480p, 720p nebo 1080p.
O modelu
Tento popis zahrnuje schopnosti modelu. Vstupy, výstupy a možnosti dostupné v Ailoot jsou uvedeny níže pro vybranou metodu.
Alibaba HappyHorse 1.1 je edice generování videa se samostatně pojmenovanými profily pro tvorbu z textu, prvního obrázku a referencí. Výrobce zdůrazňuje vylepšené vizuální detaily, pohyb, identitu postav mezi klipy, stabilitu textu a synchronizaci obrazu se zvukem. Výsledkem je krátké video se zvukem, užitečné pro produktový záběr, animaci portrétu nebo malou scénu s postavou. Vstupní režim zvolte podle toho, co má scénu určovat: písemný koncept, přesný úvodní obrázek či několik vizuálních referencí.
Pro tvorbu videa z textu popište objekt, místo, děj, rámování, pohyb kamery a zvukový záměr. Pro krátkou akční scénu ukažte cyklistu zastavujícího u kavárny na břehu řeky, zatímco kamera jemně přijíždí k zaparkovanému kolu. Děj přizpůsobte krátkému klipu a popište konečný okamžik. Současná textová příručka výrobce dovoluje až 5 000 nečínských nebo 2 500 čínských znaků a nadbytečný text ořezává. Zadání uspořádejte tak, aby zásadní objekt a děj byly explicitní místo skryté v opakovaných přídavných jménech.
Tvorba videa z prvního snímku používá právě jeden obrázek jako úvod. V něm připravte objekt, kompozici a zamýšlený ořez a poté popište, co se má pohybovat nebo jak se má měnit kamera. Dokumentované formáty jsou JPEG/JPG, PNG a WEBP do 20 MB s oběma rozměry alespoň 300 pixelů a poměrem stran mezi 1:2,5 a 2,5:1. Výstup přibližně odpovídá zvolené úrovni rozlišení při zachování poměrů zdrojového obrázku. Výsledek na výšku tedy začíná vhodnou kompozicí na výšku místo nesouvisejícího pokynu k poměru stran.
Tvorba videa z referencí přijímá jeden až devět obrázků. Prompt používá [Image 1], [Image 2] a další pozice k jejich označení v pořadí vstupu. Uveďte roli každé reference a pojmenujte příslušný předmět nebo osobu, aby obrázek scény nebyl zaměněn za zdroj postavy. Referenční příručka přijímá JPEG/JPG, PNG nebo WEBP do 20 MB, vyžaduje nejkratší stranu alespoň 400 pixelů a doporučuje zřetelné reference v 720p nebo vyšším rozlišení. Vyhněte se silně komprimované referenci, která již ztratila určující detail.
Ve scéně s několika referencemi umístěte osobu z jednoho obrázku do místnosti z druhého a zachovejte kabát nebo produkt dodaný třetím. Ve stejném zadání popište interakci i kameru. Referenční profil 1.1 zdůrazňuje stabilitu objektů, stylu scény a filmového pohybu; ve skutečném výsledku ověřte zamýšlenou identitu, značení produktu a prostorové umístění. Více obrázků dodává zadání další informace, ale kontrola stále musí ověřit, které vlastnosti se do videa přenesly.
Výrobce uvádí pro režimy generování 1.1 výstup 480p, 720p a 1080p s délkou v celých sekundách od tří do patnácti a MP4 při 24 fps. Odpověď API popisuje kódování H.264. Textové a referenční generování nabízí formáty včetně 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21 a 21:9; generování z prvního snímku se řídí vstupním obrázkem. Formát vyberte pro cílové použití a ponechte prostor pro pozdější titulky nebo prvky rozvržení. Skutečné rámování vráceného videa posuďte v zamýšlené velikosti zobrazení.
Výstup rodiny modelů zahrnuje zvuk. V zadání dejte přednesu či atmosféře jasnou roli a dialog, efekty či hudební stopu zkontrolujte spolu s obrazem. Mluvený obsah udržte dostatečně krátký pro děj a pauzy místo vtěsnávání dlouhého scénáře do jednoho krátkého záběru. Při řeči ověřte pohyb rtů, přiřazení mluvčího a skutečné znění. Přijímání jazyka promptu samo neurčuje zaručenou výslovnost ani samostatný vstup hlasové reference.
Dokumentovaný postup výrobce je asynchronní: identifikátor úlohy sleduje zpracování a úspěšný výsledek poskytne adresu videa. Odkaz na výsledek i dotazy na úlohy mají podle dokumentace platnost dvacet čtyři hodin. Hotový klip, reference a prompt uchovejte jako záznam pro úpravy. Příručky dokumentují také ovládání seedu a vodoznaku. Pevný seed může usnadnit porovnávání, ale výrobce výslovně uvádí, že nezaručuje totožné výsledky, proto hodnoťte vrácený výstup a nepředpokládejte, že jediné nastavení určuje každý snímek.
HappyHorse 1.0 a 1.1 jsou samostatné edice. Výstupní tabulka 1.1 přidává 480p k možnostem 720p a 1080p verze 1.0 a stránky modelu 1.1 popisují zlepšení detailů, pohybu a konzistence. Samostatně pojmenovaný profil HappyHorse 1.0 pro úpravu videa má vlastní vstupy a limity a nemá být bez upozornění přiřazen jako režim úprav verzi 1.1. V celém klipu 1.1 zkontrolujte identitu, pohyb, rámování, text a zvuk a poté formulujte konkrétní opravu při zachování úspěšných částí zadání.
Ailoot Ultra · Video POST /v1/videos alibaba/happyhorse-1.1
alibaba/happyhorse-1.1Úvod
Alibaba HappyHorse 1.1 generuje krátká videa se zvukem z textového zadání, jednoho obrázku prvního snímku nebo až devíti referenčních obrázků. Profily výrobce zdůrazňují vylepšený pohyb, detaily pokožky a konzistentní postavy napříč klipy. Výstupem je MP4 dlouhé 3–15 sekund při 24 fps s možnostmi 480p, 720p nebo 1080p.
- Přijímané vstupy
- Text
- Výsledky
- Video
Dostupné v Ailoot · vstupy a metody
Ailoot Ultra · Video POST /v1/videos
- Vstup
text- Výstup
video- Výstupní formát
- mp4
- Počet výstupů
- Až 4 výstups
| Pole | Typ | Požadavek | Hodnoty a limity | Výchozí |
|---|---|---|---|---|
Polemodel | Typstring | PožadavekPovinné | Hodnoty a limity alibaba/happyhorse-1.1 | Výchozí— |
Poleprompt | Typstring | PožadavekPovinné | Hodnoty a limity Minimální délka: 1 Maximální počet bajtů: 10 000 Jednotka: bajty UTF8 | Výchozí— |
Poleduration | Typinteger | PožadavekPovinné | Hodnoty a limity Minimum: 3 Maximum: 15 Jednotka: sekundy | Výchozí— |
Poleresolution | Typstring | PožadavekPovinné | Hodnoty a limity 720p | Výchozí— |
Poleaspect_ratio | Typstring | PožadavekPovinné | Hodnoty a limity 16:9 | Výchozí— |
Kombinace vstupních materiálů
Text na video · Povinné: prompt
Parametry a životní cyklus metody
| Parametr | Kontrakt |
|---|---|
Parametrcontent_type | Kontraktapplication/json |
Parametrrequired | Kontraktmodel, prompt, duration, resolution, aspect_ratio |
Parametrother_options | Kontraktfalse |
Parametrresolution | Kontrakt720p |
Parametrprompt_max_bytes | Kontrakt10000 |
Parametrduration_integer_range | Kontrakt3, 15 |
Parametraspect_ratio | Kontrakt16:9 |
Parametrgenerate_audio | Kontraktmusí být vynecháno (nikoli false); AAC je zahrnuto |
Parametrmaterial_types | Kontrakttext |
Parametradditional_properties | Kontraktfalse |
Aliasy metody: /v1/videos/generations, /videos, /videos/generations
Ž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
Vytvořte pouze jednou a uložte vrácené ID.
Dotazujte se na původní stav; uchovejte každý dokončený soubor i jeho délku.
Tarify
Jak se vypočítá konečný poplatek
Zobrazené sazby slouží k odhadu ceny před generováním. Konečný poplatek se vypočítá z nákladů zaznamenaných u původního generování. Naměřená délka výstupu ani odhadovaná množství nejsou konečným účtovaným množstvím.
Údaje o tarifech nepřidávají možnosti požadavku. Podporované parametry jsou uvedeny u vybrané metody.
- Rychlý režim
- Neuvedeno Při výběru rychlého režimu
- Režim flex
- Neuvedeno Při výběru režimu flex
- Maximální intenzita uvažování
- Neuvedeno Když se při maximální intenzitě uvažování použije výchozí úprava (default)
Odhadované sazby pro srovnání
Ceny podle konfigurace
Přiřaďte každý poplatek k uvedeným podmínkám. Pro každou sadu alternativních konfigurací použijte jednu sazbu.
| Konfigurace | Tabulka sazeb | Předpokládané množství | Účtovací jednotka | Podmínky účtování | Poplatek |
|---|---|---|---|---|---|
| KonfiguraceZákladní sazby za tokeny | Tabulka sazebZákladní sazba | Předpokládané množství— | Účtovací jednotka— | Podmínky účtování— | Poplatek Vstup · Vstupní tokeny · Odhad pouze pro srovnání — / 1K tokenů Výstup · Výstupní tokeny · Odhad pouze pro srovnání — / 1K tokenů Vstup · Čtení z mezipaměti · Odhad pouze pro srovnání — / 1K tokenů Vstup · Zápis do mezipaměti · Odhad pouze pro srovnání — / 1K tokenů Vstup · Zápis do mezipaměti, 1 hodina · Odhad pouze pro srovnání — / 1K tokenů |
| KonfiguraceCena videa | Tabulka sazeb— | Předpokládané množství— | Účtovací jednotkaza sekundu videa | Podmínky účtováníresolution: 1080p | Poplatek Výstup · Cena videa · Odhad pouze pro srovnání $0.2556 za sekundu videa |
| KonfiguraceCena videa | Tabulka sazeb— | Předpokládané množství— | Účtovací jednotkaza sekundu videa | Podmínky účtováníresolution: 720p | Poplatek Výstup · Cena videa · Odhad pouze pro srovnání $0.1976 za sekundu videa |
| KonfiguraceOdhadovaná cena generování | Tabulka sazeb— | Předpokládané množstvíodhad pro jedno generování | Účtovací jednotka— | Podmínky účtování— | Poplatek Výstup · Odhadovaná cena generování · Odhad pouze pro srovnání $0.5928 odhad před generováním Tento odhad není dodatečným poplatkem ani pevnou sazbou za dokončené generování. |
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í →
Podrobnosti referenčního tarifu
Referenční tabulky modelu nemění výběr metody, cenové nabídky ani poplatky. Skutečné poplatky používají sazby vybrané metody Ailoot.
Cenové reference konfigurací videa
Ceny podle konfigurace
Přiřaďte každý poplatek k uvedeným podmínkám. Pro každou sadu alternativních konfigurací použijte jednu sazbu.
| Konfigurace | Podmínky účtování | Poplatek |
|---|---|---|
| KonfiguraceCena videa | Podmínky účtováníresolution: 720p | Poplatek Výstup · Cena videa $0.1976 za sekundu videa Zveřejněná referenční cena pro zobrazenou konfiguraci. Konečné poplatky odpovídají skutečně účtované konfiguraci. |
| KonfiguraceCena videa | Podmínky účtováníresolution: 1080p | Poplatek Výstup · Cena videa $0.2556 za sekundu videa Zveřejněná referenční cena pro zobrazenou konfiguraci. Konečné poplatky odpovídají skutečně účtované konfiguraci. |
Příklady požadavků
Ailoot Ultra · Video
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "alibaba/happyhorse-1.1", "prompt": "A cat in a spacesuit walking on the Moon", "duration": 3, "resolution": "720p", "aspect_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 \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
Přijímání a ukládání výsledků
Ailoot Ultra · Video
mp4
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/videos/generations/{request_id}/content
Ověřit stav úlohy
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_STATUS_URL'
import json
from pathlib import Path
from urllib.parse import quote
r=json.loads(Path('result.json').read_text())
if not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')
Path('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))
PY_STATUS_URL
curl --fail-with-body --silent --show-error "$(cat status-url.txt)" \
-H "Authorization: Bearer $AILOOT_API_KEY" -D status-headers.txt -o status.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('status.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
Další načtení obsahu
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_ASSETS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path('status.json').read_text())
if r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')
if not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')
urls=[]
for i,u in enumerate(r.get('data',[])):
if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')
urls.append((str(i),u))
for label,path in urls:
u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)
if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')
target=Path('owned-'+label+'.bin')
subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)
print('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')
PY_ASSETS
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.
Pole data[] po dokončení obsahuje všechny podepsané URL obsahu spravovaného službou. Načtěte každou vrácenou URL nebo použijte koncový bod obsahu s parametrem index nastaveným na skutečný index výstupu. Neúspěšná původní úloha může vrátit charge_pending_check; kontrolujte tuto původní úlohu místo jejího opětovného vytváření.
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.
Maximální počet výstupů: 4.
Pole odpovědi
| Pole | Typ | Význam |
|---|---|---|
Poleid | Typstring | Význam— |
Poleobject | Typstring | Význam— |
Polemodel | Typstring | Význam— |
Polestatus | Typstring | Význam— |
Poledata[] | Typsigned content URL | Význam— |
Polecharge_pending_check | Typboolean | Význam— |
Poleerror.code | Typstring | Význam— |
Poleerror.message | Typstring | Význam— |
Poleoperation_id | Typstring | VýznamOdpověď původního stavu či obsahu HTTP503 result_pending_check: stejné původní veřejné ID videa v poli id. |
Poleerror.type | Typstring | Významserver_error při HTTP503 result_pending_check. |
Chyby a další kroky
| Odpověď | Podmínka | Další krok |
|---|---|---|
Odpověď400 · invalid_request_error | PodmínkaNačtení nezpracovaného těla požadavku selže před zpracováním profilu videa | Další krokZachovejte vrácenou odpověď a opravte nečitelné tělo požadavku. |
Odpověď422 · price_unavailable | PodmínkaPřesný profil videa nelze zpracovat nebo pro celý zpracovaný profil není připravena přesná cenová karta | Další krokZachovejte odpověď; použijte celý přesný profil s povoleným přístupem a jeho zveřejněnou kartu. Tato větev se provádí před odesláním poskytovateli. |
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. |
Odpověď503 · result_pending_check | PodmínkaGET původního stavu či obsahu: úloha není zveřejněna, původní úloha nemá stav failed/cancelled/expired a místní stav je unknown nebo stav původní úlohy je completed. | Další krokUchovejte původní id a operation_id (stejné veřejné ID videa), odpověď a hlavičky; načítejte pouze původní stav či obsah. Nikdy neodesílejte nový požadavek na generování. |
Aliasy
Aliasy modelu
Ailoot Ultra alibaba/happyhorse-1.1
Aliasy cest metod
/v1/videos/generations, /videos, /videos/generations
Související ID modelů
FAQ · Alibaba: HappyHorse 1.1
- Jaké vstupy a výsledky jsou dostupné?
POST /v1/videos·alibaba/happyhorse-1.1:text→video- Jaká pole požadavek používá?
POST /v1/videos·alibaba/happyhorse-1.1:model,prompt,duration,resolution,aspect_ratio- Jaké limity platí?
POST /v1/videos·alibaba/happyhorse-1.1:duration.minimum:3;duration.maximum:15