Alibaba: HappyHorse 1.1
Alibaba HappyHorse 1.1 iš tekstinės užduoties, vieno pirmojo kadro vaizdo arba iki devynių orientyrinių vaizdų generuoja trumpus vaizdo įrašus su garsu. Gamintojo profiliai pabrėžia pagerintą judesį, odos detales ir personažo vientisumą tarp klipų. Rezultatas – 3–15 sekundžių MP4, 24 kadrų per sekundę, su 480p, 720p arba 1080p parinktimis.
Apie modelį
Šis aprašas apima modelio galimybes. Pasirinktam metodui Ailoot prieinamos įvestys, išvestys ir parinktys nurodytos toliau.
Alibaba HappyHorse 1.1 yra vaizdo generavimo versija su atskirai pavadintais kūrimo iš teksto, pirmojo kadro vaizdo ir orientyrų profiliais. Gamintojas pabrėžia pagerintas vaizdines detales, judėjimą, personažų tapatumą tarp klipų, teksto stabilumą ir garso bei vaizdo sinchronizaciją. Rezultatas – trumpas vaizdo įrašas su garsu, naudingas produkto planui, portreto animacijai arba nedidelei personažų scenai. Įvesties režimą rinkitės pagal tai, kas turi apibrėžti sceną: rašytinė koncepcija, tikslus pradinis vaizdas arba keli vaizdiniai orientyrai.
Kurdami iš teksto, aprašykite objektą, vietą, veiksmą, kadravimą, kameros judėjimą ir garso sumanymą. Trumpai veiksmo scenai parodykite dviratininką, sustojantį prie paupio kavinės, kamerai švelniai artėjant prie pastatyto dviračio. Veiksmą derinkite prie trumpo klipo ir aprašykite galutinę akimirką. Dabartinis gamintojo teksto vadovas leidžia iki 5 000 ne kiniškų arba 2 500 kiniškų simbolių ir nukerpa perteklių. Užduotį sutvarkykite taip, kad esminis objektas bei veiksmas būtų aiškūs, o ne paslėpti kartojamuose būdvardžiuose.
Kūrimas iš pirmojo kadro vaizdo naudoja tiksliai vieną vaizdą pradžiai. Toje nuotraukoje paruoškite objektą, kompoziciją ir numatytą iškirpimą, tada aprašykite, kas turi judėti arba kaip turi keistis kamera. Dokumentuoti vaizdų formatai yra JPEG/JPG, PNG ir WEBP iki 20 MB, abu matmenys bent 300 pikselių, kraštinių santykis nuo 1:2.5 iki 2.5:1. Išvestis apytikriai atitinka pasirinktą raiškos pakopą, išlaikydama pradinio vaizdo proporcijas. Todėl vertikalus rezultatas prasideda tinkama vertikalia kompozicija, o ne nesusijusiu kraštinių santykio nurodymu.
Kūrimas iš orientyrų priima nuo vieno iki devynių vaizdų. Užklausoje naudojami [Image 1], [Image 2] ir tolesnės pozicijos jiems įvardyti įvesties tvarka. Nurodykite kiekvieno orientyro vaidmenį ir įvardykite atitinkamą daiktą ar žmogų, kad scenos vaizdas nebūtų palaikytas personažo šaltiniu. Orientyrų vadovas priima JPEG/JPG, PNG arba WEBP iki 20 MB, reikalauja bent 400 pikselių trumpiausios kraštinės ir rekomenduoja aiškius 720p ar aukštesnės raiškos orientyrus. Venkite stipriai suspausto orientyro, kuriame tapatumą nustatančios detalės jau prarastos.
Scenai su keliais orientyrais patalpinkite žmogų iš vieno vaizdo kambaryje iš kito, išlaikydami paltą arba produktą, pateiktą trečiajame. Sąveiką ir kamerą aprašykite toje pačioje užduotyje. 1.1 orientyrų profilis pabrėžia objektų, scenos stiliaus bei kinematografinio judesio stabilumą; tikrame rezultate tikrinkite norimą tapatumą, produkto žymėjimą ir erdvinę vietą. Keli vaizdai suteikia užduočiai daugiau informacijos, bet peržiūroje vis tiek reikia patikrinti, kurios savybės pateko į vaizdo įrašą.
Gamintojas 1.1 generavimo režimams nurodo 480p, 720p ir 1080p išvestį, sveikų sekundžių trukmę nuo trijų iki penkiolikos ir MP4, 24 kadrų per sekundę. API atsakymas aprašo H.264 kodavimą. Generavimas iš teksto ir orientyrų siūlo formas, įskaitant 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21 ir 21:9; generavimas pagal pirmąjį kadrą seka pradinį vaizdą. Formą rinkitės pagal paskirties vietą ir palikite erdvės vėlesniems subtitrams ar maketo elementams. Grąžinto vaizdo tikrąjį kadravimą tikrinkite numatytu rodymo dydžiu.
Modelių šeimos išvestis apima garsą. Atlikimui arba atmosferai užduotyje suteikite aiškų vaidmenį ir su vaizdu peržiūrėkite dialogą, efektus ar foninį takelį. Sakytinę medžiagą laikykite pakankamai trumpą veiksmui ir pauzėms, užuot ilgą scenarijų suspaudę į vieną trumpą planą. Jei yra kalba, patikrinkite lūpų judėjimą, kalbėtojo priskyrimą ir tikrą tekstą. Užklausos kalbos priėmimas savaime nenustato garantuoto tarimo arba atskiros balso orientyro įvesties.
Dokumentuota gamintojo eiga asinchroninė: užduoties identifikatorius seka apdorojimą, o sėkmingas rezultatas pateikia vaizdo vietą. Rezultato nuorodai ir užduočių užklausoms dokumentuotas dvidešimt keturių valandų galiojimo laikotarpis. Kaip pataisų įrašą laikykite užbaigtą klipą, orientyrus ir užklausą. Vadovai taip pat dokumentuoja pradinio atsitiktinumo skaičiaus ir vandens ženklo valdiklius. Fiksuotas skaičius gali padėti lyginti, bet gamintojas aiškiai sako, kad negarantuoja identiškų rezultatų, todėl vertinkite grąžintą failą, užuot manę, kad vienas nustatymas sutvarko kiekvieną kadrą.
HappyHorse 1.0 ir 1.1 yra atskiros versijos. 1.1 išvesties lentelė prideda 480p prie 1.0 siūlomų 720p ir 1080p, o 1.1 modelių puslapiai aprašo detalių, judesio bei nuoseklumo pagerinimus. Atskirai pavadintas HappyHorse 1.0 vaizdo redagavimo profilis turi savas įvestis ir ribas ir nėra redagavimo režimas, kurį būtų galima tyliai priskirti 1.1. Visą 1.1 klipą peržiūrėkite pagal tapatumą, judesį, kadravimą, tekstą ir garsą, tada atlikite konkrečią pataisą išsaugodami sėkmingas užduoties dalis.
Ailoot Ultra · Vaizdo įrašai POST /v1/videos alibaba/happyhorse-1.1
alibaba/happyhorse-1.1Pradžia
Alibaba HappyHorse 1.1 iš tekstinės užduoties, vieno pirmojo kadro vaizdo arba iki devynių orientyrinių vaizdų generuoja trumpus vaizdo įrašus su garsu. Gamintojo profiliai pabrėžia pagerintą judesį, odos detales ir personažo vientisumą tarp klipų. Rezultatas – 3–15 sekundžių MP4, 24 kadrų per sekundę, su 480p, 720p arba 1080p parinktimis.
- Leidžiamos įvestys
- Tekstas
- Rezultatai
- Vaizdo įrašai
Prieinama Ailoot · įvestys ir metodai
Ailoot Ultra · Vaizdo įrašai POST /v1/videos
- Įvestis
text- Išvestis
video- Išvesties formatas
- mp4
- Išvesčių skaičius
- Iki 4 išvestiss
| Laukas | Tipas | Reikalavimas | Reikšmės ir ribos | Numatyta |
|---|---|---|---|---|
Laukasmodel | Tipasstring | ReikalavimasPrivaloma | Reikšmės ir ribos alibaba/happyhorse-1.1 | Numatyta— |
Laukasprompt | Tipasstring | ReikalavimasPrivaloma | Reikšmės ir ribos Mažiausias ilgis: 1 Didžiausias baitų skaičius: 10 000 Vienetas: UTF8 baitai | Numatyta— |
Laukasduration | Tipasinteger | ReikalavimasPrivaloma | Reikšmės ir ribos Mažiausia reikšmė: 3 Didžiausia reikšmė: 15 Vienetas: sekundės | Numatyta— |
Laukasresolution | Tipasstring | ReikalavimasPrivaloma | Reikšmės ir ribos 720p | Numatyta— |
Laukasaspect_ratio | Tipasstring | ReikalavimasPrivaloma | Reikšmės ir ribos 16:9 | Numatyta— |
Įvesties medžiagos deriniai
Iš teksto į vaizdo įrašą · Privaloma: prompt
Metodo parametrai ir gyvavimo ciklas
| Parametras | Specifikacija |
|---|---|
Parametrascontent_type | Specifikacijaapplication/json |
Parametrasrequired | Specifikacijamodel, prompt, duration, resolution, aspect_ratio |
Parametrasother_options | Specifikacijafalse |
Parametrasresolution | Specifikacija720p |
Parametrasprompt_max_bytes | Specifikacija10000 |
Parametrasduration_integer_range | Specifikacija3, 15 |
Parametrasaspect_ratio | Specifikacija16:9 |
Parametrasgenerate_audio | Specifikacijabūtina praleisti (ne false); AAC įtrauktas |
Parametrasmaterial_types | Specifikacijatext |
Parametrasadditional_properties | Specifikacijafalse |
Metodo pseudonimai: /v1/videos/generations, /videos, /videos/generations
Gyvavimo ciklas: 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
Sukurkite vieną kartą ir išsaugokite grąžintą ID.
Periodiškai tikrinkite pradinę būseną; išsaugokite kiekvieną užbaigtą išteklių ir jo trukmę.
Planai
Kaip apskaičiuojamas galutinis mokestis
Rodomi įkainiai leidžia įvertinti kainą prieš generavimą. Galutinė suma apskaičiuojama pagal užfiksuotą pradinio generavimo kainą. Išmatuota rezultato trukmė ir prognozuoti kiekiai nėra galutinis apmokestinamas kiekis.
Tarifų informacija neprideda užklausos parinkčių. Palaikomi parametrai nurodyti prie pasirinkto metodo.
- Spartusis režimas
- Nenurodyta Pasirinkus spartųjį režimą
- Flex režimas
- Nenurodyta Pasirinkus flex režimą
- Didžiausios samprotavimo pastangos
- Nenurodyta Kai didžiausioms samprotavimo pastangoms taikomas numatytasis koregavimas (default)
Numatomi įkainiai palyginimui
Kainos pagal konfigūraciją
Kiekvieną mokestį susiekite su nurodytomis sąlygomis. Kiekvienam alternatyvių konfigūracijų rinkiniui taikykite vieną įkainį.
| Konfigūracija | Įkainių lentelė | Numatomas kiekis | Apskaitos vienetas | Apmokestinimo sąlygos | Mokestis |
|---|---|---|---|---|---|
| KonfigūracijaBaziniai žetonų įkainiai | Įkainių lentelėBazinis įkainis | Numatomas kiekis— | Apskaitos vienetas— | Apmokestinimo sąlygos— | Mokestis Įvestis · Įvesties tokenai · Įvertis tik palyginimui — / 1K tokenų Išvestis · Išvesties tokenai · Įvertis tik palyginimui — / 1K tokenų Įvestis · Talpyklos skaitymas · Įvertis tik palyginimui — / 1K tokenų Įvestis · Rašymas į talpyklą · Įvertis tik palyginimui — / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val · Įvertis tik palyginimui — / 1K tokenų |
| KonfigūracijaVaizdo įrašo kaina | Įkainių lentelė— | Numatomas kiekis— | Apskaitos vienetasuž vaizdo įrašo sekundę | Apmokestinimo sąlygosresolution: 1080p | Mokestis Išvestis · Vaizdo įrašo kaina · Įvertis tik palyginimui $0.2556 už vaizdo įrašo sekundę |
| KonfigūracijaVaizdo įrašo kaina | Įkainių lentelė— | Numatomas kiekis— | Apskaitos vienetasuž vaizdo įrašo sekundę | Apmokestinimo sąlygosresolution: 720p | Mokestis Išvestis · Vaizdo įrašo kaina · Įvertis tik palyginimui $0.1976 už vaizdo įrašo sekundę |
| KonfigūracijaNumatoma generavimo kaina | Įkainių lentelė— | Numatomas kiekisvieno generavimo įvertis | Apskaitos vienetas— | Apmokestinimo sąlygos— | Mokestis Išvestis · Numatoma generavimo kaina · Įvertis tik palyginimui $0.5928 įvertis prieš generavimą Šis įvertis nėra papildomas mokestis ar fiksuotas užbaigto generavimo įkainis. |
Ailoot prieš užklausą rezervuoja numatomą sumą. Gavus rezultatą, galutinis mokestis nuskaitomas pagal išmatuotą naudojimą. Srautinio atsakymo atsiskaitymui naudojamas galutinis naudojimo įrašas. Kaip veikia rezervavimas ir atsiskaitymas →
Informacinio tarifo duomenys
Modelio informacinės lentelės nekeičia metodo pasirinkimo, kainos įverčių ar mokesčių. Galiojantys mokesčiai nustatomi pagal pasirinkto Ailoot metodo įkainius.
Vaizdo įrašo konfigūracijų kainų nuorodos
Kainos pagal konfigūraciją
Kiekvieną mokestį susiekite su nurodytomis sąlygomis. Kiekvienam alternatyvių konfigūracijų rinkiniui taikykite vieną įkainį.
| Konfigūracija | Apmokestinimo sąlygos | Mokestis |
|---|---|---|
| KonfigūracijaVaizdo įrašo kaina | Apmokestinimo sąlygosresolution: 720p | Mokestis Išvestis · Vaizdo įrašo kaina $0.1976 už vaizdo įrašo sekundę Paskelbta orientacinė rodomos konfigūracijos kaina. Galutiniai mokesčiai nustatomi pagal faktiškai apmokestintą konfigūraciją. |
| KonfigūracijaVaizdo įrašo kaina | Apmokestinimo sąlygosresolution: 1080p | Mokestis Išvestis · Vaizdo įrašo kaina $0.2556 už vaizdo įrašo sekundę Paskelbta orientacinė rodomos konfigūracijos kaina. Galutiniai mokesčiai nustatomi pagal faktiškai apmokestintą konfigūraciją. |
Užklausų pavyzdžiai
Ailoot Ultra · Vaizdo įrašai
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
Gauti ir išsaugoti rezultatus
Ailoot Ultra · Vaizdo įrašai
mp4
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/videos/generations/{request_id}/content
Tikrinti užduoties būseną
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
Kito turinio skaitymas
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
Išsaugoti visus baigtus rezultatus
Išsaugokite kiekvieną baigtą vaizdo įrašą arba grąžintą failą; gaukite turinį iš kiekvieno faktiškai grąžinto medžiagos URL.
Užbaigtame data[] yra visi jums priklausantys pasirašyti turinio URL. Gaukite kiekvieną grąžintą URL arba naudokite turinio galinį tašką, nustatę index į tikrą išvesties indeksą. Nepavykusi pradinė užduotis gali grąžinti charge_pending_check; tikrinkite tą pradinę užduotį, užuot kūrę ją dar kartą.
Jei reikia patikrinti pradinį atsakymą
Skaitykite esamos pradinės užduoties duomenis; niekada nekartokite siuntimo, kurio baigtis nežinoma.
Didžiausias išvesčių skaičius: 4.
Atsakymo laukai
| Laukas | Tipas | Reikšmė |
|---|---|---|
Laukasid | Tipasstring | Reikšmė— |
Laukasobject | Tipasstring | Reikšmė— |
Laukasmodel | Tipasstring | Reikšmė— |
Laukasstatus | Tipasstring | Reikšmė— |
Laukasdata[] | Tipassigned content URL | Reikšmė— |
Laukascharge_pending_check | Tipasboolean | Reikšmė— |
Laukaserror.code | Tipasstring | Reikšmė— |
Laukaserror.message | Tipasstring | Reikšmė— |
Laukasoperation_id | Tipasstring | ReikšmėHTTP503 result_pending_check atsakymas į pradinės būsenos ar turinio užklausą: tas pats pradinis viešas vaizdo įrašo ID pateikiamas kaip id. |
Laukaserror.type | Tipasstring | Reikšmėserver_error gavus HTTP503 result_pending_check. |
Klaidos ir tolesni veiksmai
| Atsakymas | Sąlyga | Kitas žingsnis |
|---|---|---|
Atsakymas400 · invalid_request_error | SąlygaNepavyksta nuskaityti neapdoroto užklausos turinio prieš analizuojant vaizdo įrašo profilį | Kitas žingsnisIšsaugokite grąžintą atsakymą ir pataisykite nenuskaitomą užklausos turinį. |
Atsakymas422 · price_unavailable | SąlygaNepavyksta išanalizuoti tikslaus vaizdo įrašo profilio arba visam išanalizuotam profiliui nėra parengtos tikslios kainos kortelės | Kitas žingsnisIšsaugokite atsakymą; naudokite visą tikslų leistiną profilį ir jo paskelbtą kortelę. Ši šaka vykdoma prieš siunčiant teikėjui. |
Atsakymas409 · video_not_ready | SąlygaPradinio rezultato turinys dar nepasiekiamas | Kitas žingsnisPeriodiškai tikrinkite pradinį grąžintą ID ir laikykitės Retry-After. |
Atsakymasserver_error | SąlygaGrąžintame atsakyme nurodoma, kad operaciją arba rezultatą reikia patikrinti | Kitas žingsnisIšsaugokite pradinį grąžintą operacijos ar užduoties ID, užklausos antraštes ir atsakymą; toliau tikrinkite tos pačios pradinės operacijos duomenis palaikomais būdais. Kūrimo užklausos pakartotinai neteikite. |
Atsakymas503 · result_pending_check | SąlygaGET pradinei būsenai arba turiniui: užduotis nepaskelbta, pradinė užduotis nėra failed/cancelled/expired būsenos, o vietinė būsena yra unknown arba pradinės užduoties būsena yra completed. | Kitas žingsnisIšsaugokite pradinius id ir operation_id (tą patį viešą vaizdo įrašo ID), atsakymą ir antraštes; skaitykite tik pradinės būsenos ar turinio duomenis. Niekada neteikite naujos generavimo užklausos. |
Pseudonimai
Modelių pseudonimai
Ailoot Ultra alibaba/happyhorse-1.1
Metodų kelių pseudonimai
/v1/videos/generations, /videos, /videos/generations
Susiję ID iškvietimui
FAQ · Alibaba: HappyHorse 1.1
- Kokios įvestys ir rezultatai prieinami?
POST /v1/videos·alibaba/happyhorse-1.1:text→video- Kokius laukus naudoja užklausa?
POST /v1/videos·alibaba/happyhorse-1.1:model,prompt,duration,resolution,aspect_ratio- Kokie apribojimai taikomi?
POST /v1/videos·alibaba/happyhorse-1.1:duration.minimum:3;duration.maximum:15