Alibaba: HappyHorse 1.1
Alibaba HappyHorse 1.1 genererer korte videoer med lyd fra en tekstbeskrivelse, ett startbilde eller opptil ni referansebilder. Produsentens profiler fremhever forbedret bevegelse, huddetaljer og karakterkonsistens mellom klipp. Resultatet er MP4 på 3–15 sekunder ved 24 bilder per sekund, med valg mellom 480p, 720p og 1080p.
Om modellen
Denne beskrivelsen dekker modellens funksjoner. Tilgjengelige inndata, utdata og alternativer i Ailoot er oppført nedenfor for den valgte metoden.
Alibaba HappyHorse 1.1 er en videogenereringsutgave med egne navngitte profiler for tekst-til-video, bilde-til-video fra første bilde og referanse-til-video. Produsenten fremhever forbedrede visuelle detaljer, bevegelse, karakteridentitet mellom klipp, tekststabilitet og synkronisering av lyd og bilde. Resultatet er en kort video med lyd, nyttig til et produktopptak, en portrettanimasjon eller en liten karakterscene. Velg inndatamodus etter hva som skal definere scenen: et skriftlig konsept, et nøyaktig åpningsbilde eller flere visuelle referanser.
For tekst-til-video beskriver du motiv, lokasjon, handling, utsnitt, kamerabevegelse og ønsket lyd. I en kort handlingsscene kan du vise en syklist som stopper ved en kafé langs elven, mens kameraet beveger seg rolig mot den parkerte sykkelen. Hold handlingen passende for et kort klipp, og beskriv sluttøyeblikket. Produsentens nåværende tekstveiledning tillater opptil 5 000 ikke-kinesiske eller 2 500 kinesiske tegn og kutter tekst utover grensen. Organiser beskrivelsen slik at det vesentlige motivet og handlingen er uttrykkelige, fremfor begravet i gjentatte adjektiver.
Bilde-til-video fra første bilde bruker nøyaktig ett bilde som åpning. Klargjør motivet, komposisjonen og ønsket utsnitt i dette stillbildet, og beskriv deretter hva som skal bevege seg eller hvordan kameraet skal endres. De dokumenterte bildeformatene er JPEG/JPG, PNG og WEBP, opptil 20 MB, med begge dimensjoner på minst 300 piksler og et sideforhold mellom 1:2.5 og 2.5:1. Resultatet tilnærmer seg det valgte oppløsningsnivået samtidig som kildebildets proporsjoner bevares. Et stående resultat begynner derfor med en egnet stående komposisjon, fremfor en urelatert instruksjon om sideforhold.
Referanse-til-video tar imot ett til ni bilder. Prompten bruker [Image 1], [Image 2] og påfølgende posisjoner til å identifisere dem i inndatarekkefølgen. Angi rollen til hver referanse, og navngi det relevante objektet eller personen, slik at et scenebilde ikke forveksles med en karakterkilde. Referanseveiledningen godtar JPEG/JPG, PNG eller WEBP på opptil 20 MB, krever en kortside på minst 400 piksler og anbefaler tydelige referanser i 720p eller høyere. Unngå en sterkt komprimert referanse der identifiserende detaljer allerede mangler.
For en scene med flere referanser kan du plassere personen fra ett bilde i rommet fra et annet, samtidig som en frakk eller et produkt fra et tredje bevares. Beskriv samspillet og kameraet i den samme beskrivelsen. Referanseprofilen i 1.1 fremhever stabilitet i motiver, scenestil og filmatiske bevegelser; undersøk det faktiske resultatet for ønsket identitet, produktmerking og romlig plassering. Flere bilder gir beskrivelsen mer informasjon, men gjennomgangen må fortsatt kontrollere hvilke egenskaper som ble overført til videoen.
Produsenten oppgir utdata i 480p, 720p og 1080p for genereringsmodusene i 1.1, med lengde i hele sekunder fra tre til femten og MP4 ved 24 bilder per sekund. API-responsen beskriver H.264-koding. Tekst- og referansegenerering tilbyr formater som 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21 og 21:9; generering fra første bilde følger inngangsbildet. Velg format etter bruksstedet, og gi plass til senere undertekster eller layoutelementer. Undersøk det faktiske utsnittet i den returnerte videoen i den tiltenkte visningsstørrelsen.
Modellfamiliens resultater inkluderer lyd. Gi fremføringen eller atmosfæren en tydelig rolle i beskrivelsen, og vurder eventuell dialog, effekter eller bakgrunnsspor sammen med bildet. Hold talematerialet kort nok til handlingen og pausene, fremfor å presse et langt manus inn i ett kort opptak. Kontroller leppebevegelse, hvem som snakker og den faktiske ordlyden når tale er med. At et promptspråk godtas, innebærer i seg selv verken garantert uttale eller en separat inngang for stemmereferanse.
Produsentens dokumenterte arbeidsflyt er asynkron: en oppgaveidentifikator følger behandlingen, og et vellykket resultat gir videoens adresse. Resultatlenken og oppgavesøkene er dokumentert med en gyldighetsperiode på tjuefire timer. Behold det ferdige klippet, referansene og prompten som revisjonsgrunnlag. Veiledningene dokumenterer også kontroller for seed og vannmerke. En fast seed kan hjelpe med sammenligning, men produsenten sier uttrykkelig at den ikke garanterer identiske resultater, så vurder den returnerte filen fremfor å anta at én innstilling fastsetter hvert bilde.
HappyHorse 1.0 og 1.1 er separate utgaver. Utdatatabellen for 1.1 legger 480p til valgene 720p og 1080p fra 1.0, og modellsidene for 1.1 beskriver oppgraderinger i detaljer, bevegelse og konsistens. Den separat navngitte video-edit-profilen for HappyHorse 1.0 har egne inndata og grenser og er ikke en redigeringsmodus som uten videre kan tilordnes 1.1. Vurder hele 1.1-klippet for identitet, bevegelse, utsnitt, tekst og lyd, og gjør deretter en konkret korrigering samtidig som de vellykkede delene av beskrivelsen bevares.
Ailoot Ultra · Video POST /v1/videos alibaba/happyhorse-1.1
alibaba/happyhorse-1.1Start
Alibaba HappyHorse 1.1 genererer korte videoer med lyd fra en tekstbeskrivelse, ett startbilde eller opptil ni referansebilder. Produsentens profiler fremhever forbedret bevegelse, huddetaljer og karakterkonsistens mellom klipp. Resultatet er MP4 på 3–15 sekunder ved 24 bilder per sekund, med valg mellom 480p, 720p og 1080p.
- Godkjente inndata
- Tekst
- Resultater
- Video
Tilgjengelig i Ailoot · inndata & metoder
Ailoot Ultra · Video POST /v1/videos
- Inndatatyper
text- Utdatatyper
video- Utdataformat
- mp4
- Antall utdata
- Opptil 4 utdatas
| Felt | Type | Krav | Verdier & grenser | Standard |
|---|---|---|---|---|
Feltmodel | Typestring | KravPåkrevd | Verdier & grenser alibaba/happyhorse-1.1 | Standard— |
Feltprompt | Typestring | KravPåkrevd | Verdier & grenser Minste lengde: 1 Maksimalt antall byte: 10 000 Enhet: UTF8-byte | Standard— |
Feltduration | Typeinteger | KravPåkrevd | Verdier & grenser Minimum: 3 Maksimum: 15 Enhet: sekunder | Standard— |
Feltresolution | Typestring | KravPåkrevd | Verdier & grenser 720p | Standard— |
Feltaspect_ratio | Typestring | KravPåkrevd | Verdier & grenser 16:9 | Standard— |
Kombinasjoner av inngående materialer
Tekst til video · Påkrevd: prompt
Metodeparametere og livssyklus
| Parameter | Avtale |
|---|---|
Parametercontent_type | Avtaleapplication/json |
Parameterrequired | Avtalemodel, prompt, duration, resolution, aspect_ratio |
Parameterother_options | Avtalefalse |
Parameterresolution | Avtale720p |
Parameterprompt_max_bytes | Avtale10000 |
Parameterduration_integer_range | Avtale3, 15 |
Parameteraspect_ratio | Avtale16:9 |
Parametergenerate_audio | AvtaleMå utelates (ikke false); AAC er inkludert |
Parametermaterial_types | Avtaletext |
Parameteradditional_properties | Avtalefalse |
Metodealiaser: /v1/videos/generations, /videos, /videos/generations
Livssyklus: 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
Opprett én gang og lagre den returnerte ID-en.
Spør jevnlig etter den opprinnelige statusen; behold hver ferdigstilte ressurs og varigheten.
Priser
Slik beregnes det endelige beløpet
De viste satsene anslår kostnaden før generering. Det endelige beløpet beregnes ut fra kostnaden som er registrert for den opprinnelige genereringen. Målt varighet på utdataene og anslåtte mengder er ikke den endelige fakturerbare mengden.
Tariffopplysninger legger ikke til forespørselsvalg. Støttede parametere står ved den valgte metoden.
- Hurtigmodus
- Ikke angitt Når hurtigmodus er valgt
- Flex-modus
- Ikke angitt Når flex-modus er valgt
- Maksimal resonneringsinnsats
- Ikke angitt Når justeringen «default» brukes for maksimal resonneringsinnsats
Estimerte satser for sammenligning
Priser etter konfigurasjon
Knytt hver kostnad til de viste vilkårene. Bruk én sats for hvert sett med alternative konfigurasjoner.
| Konfigurasjon | Prisplan | Forventet mengde | Faktureringsenhet | Faktureringsvilkår | Kostnad |
|---|---|---|---|---|---|
| KonfigurasjonGrunnpriser for tokener | PrisplanGrunnsats | Forventet mengde— | Faktureringsenhet— | Faktureringsvilkår— | Kostnad Inndata · Inngående tokener · Estimat kun for sammenligning — / 1K tokener Utdata · Utgående tokener · Estimat kun for sammenligning — / 1K tokener Inndata · Lesing fra hurtigbuffer · Estimat kun for sammenligning — / 1K tokener Inndata · Skriving til hurtigbuffer · Estimat kun for sammenligning — / 1K tokener Inndata · Skriving til hurtigbuffer, 1 time · Estimat kun for sammenligning — / 1K tokener |
| KonfigurasjonVideopris | Prisplan— | Forventet mengde— | Faktureringsenhetper videosekund | Faktureringsvilkårresolution: 1080p | Kostnad Utdata · Videopris · Estimat kun for sammenligning $0.2556 per videosekund |
| KonfigurasjonVideopris | Prisplan— | Forventet mengde— | Faktureringsenhetper videosekund | Faktureringsvilkårresolution: 720p | Kostnad Utdata · Videopris · Estimat kun for sammenligning $0.1976 per videosekund |
| KonfigurasjonAnslått genereringskostnad | Prisplan— | Forventet mengdeestimat for én generering | Faktureringsenhet— | Faktureringsvilkår— | Kostnad Utdata · Anslått genereringskostnad · Estimat kun for sammenligning $0.5928 estimat før generering Dette anslaget er verken en tilleggsavgift eller en fast sats for den fullførte genereringen. |
Ailoot reserverer et estimert beløp før en forespørsel. Etter resultatet gjøres det endelige beløpet opp basert på målt forbruk. Oppgjør for strømming bruker den endelige forbruksposten. Slik fungerer reservasjon og oppgjør →
Detaljer om referansetariffen
Referanseprisplaner på modellnivå endrer ikke metodevalg, prisoverslag eller kostnader. Aktive kostnader bruker satsene til den valgte Ailoot-metoden.
Prisreferanser for videokonfigurasjoner
Priser etter konfigurasjon
Knytt hver kostnad til de viste vilkårene. Bruk én sats for hvert sett med alternative konfigurasjoner.
| Konfigurasjon | Faktureringsvilkår | Kostnad |
|---|---|---|
| KonfigurasjonVideopris | Faktureringsvilkårresolution: 720p | Kostnad Utdata · Videopris $0.1976 per videosekund Publisert prisreferanse for den viste konfigurasjonen. Endelige belastninger følger konfigurasjonen som faktisk faktureres. |
| KonfigurasjonVideopris | Faktureringsvilkårresolution: 1080p | Kostnad Utdata · Videopris $0.2556 per videosekund Publisert prisreferanse for den viste konfigurasjonen. Endelige belastninger følger konfigurasjonen som faktisk faktureres. |
Eksempelforespørsler
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
Motta og lagre resultater
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
Kontroller jobbstatus
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
Andre innholdslesinger
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
Behold alle ferdige resultater
Lagre hver ferdige video eller returnerte fil; hent hver faktisk returnerte ressurs-URL.
Ferdigstilt data[] inneholder alle signerte URL-er til innhold du eier. Hent hver returnert URL, eller bruk innholdsendepunktet med index satt til en faktisk utdataindeks. En mislykket opprinnelig jobb kan returnere charge_pending_check; kontroller den opprinnelige jobben fremfor å opprette den igjen.
Hvis det opprinnelige svaret må kontrolleres
Les den eksisterende opprinnelige jobben; send aldri en forespørsel med ukjent utfall på nytt.
Maksimalt antall utdata: 4.
Svarfelter
| Felt | Type | Betydning |
|---|---|---|
Feltid | Typestring | Betydning— |
Feltobject | Typestring | Betydning— |
Feltmodel | Typestring | Betydning— |
Feltstatus | Typestring | Betydning— |
Feltdata[] | Typesigned content URL | Betydning— |
Feltcharge_pending_check | Typeboolean | Betydning— |
Felterror.code | Typestring | Betydning— |
Felterror.message | Typestring | Betydning— |
Feltoperation_id | Typestring | BetydningOpprinnelig status-/innholdssvar med HTTP503 result_pending_check: samme opprinnelige offentlige video-ID som id. |
Felterror.type | Typestring | Betydningserver_error ved HTTP503 result_pending_check. |
Feil og neste trinn
| Svar | Vilkår | Neste trinn |
|---|---|---|
Svar400 · invalid_request_error | VilkårLesing av den rå forespørselskroppen mislykkes før videoprofilen tolkes | Neste trinnBehold det returnerte svaret og korriger den uleselige forespørselskroppen. |
Svar422 · price_unavailable | VilkårTolking av den eksakte videoprofilen mislykkes, eller hele den tolkede profilen mangler et klart og eksakt priskort | Neste trinnBehold svaret; bruk hele den eksakte godkjente profilen og det publiserte priskortet. Denne grenen kjøres før en forespørsel sendes til leverandøren. |
Svar409 · video_not_ready | VilkårDet opprinnelige resultatinnholdet er ennå ikke tilgjengelig | Neste trinnSpør jevnlig etter den opprinnelige returnerte ID-en og følg Retry-After. |
Svarserver_error | VilkårDet returnerte svaret angir at operasjonen eller resultatet må kontrolleres | Neste trinnBevar den opprinnelige returnerte operasjons-/oppgave-ID-en, forespørselshodene og svaret; fortsett å lese den opprinnelige operasjonen på de støttede måtene. Ikke send opprettelsesforespørselen på nytt. |
Svar503 · result_pending_check | VilkårGET for opprinnelig status/innhold: oppgaven er ikke publisert, den opprinnelige jobben er ikke failed/cancelled/expired, og lokal tilstand er unknown eller den opprinnelige jobbstatusen er completed. | Neste trinnBehold opprinnelig id og operation_id (samme offentlige video-ID), svar og svarhoder; les bare opprinnelig status og innhold. Send aldri en ny forespørsel om generering. |
Aliaser
Modellaliaser
Ailoot Ultra alibaba/happyhorse-1.1
Aliaser for metodestier
/v1/videos/generations, /videos, /videos/generations
Tilknyttede anroper-ID-er
FAQ · Alibaba: HappyHorse 1.1
- Hvilke inndata og resultater er tilgjengelige?
POST /v1/videos·alibaba/happyhorse-1.1:text→video- Hvilke felt bruker forespørselen?
POST /v1/videos·alibaba/happyhorse-1.1:model,prompt,duration,resolution,aspect_ratio- Hvilke grenser gjelder?
POST /v1/videos·alibaba/happyhorse-1.1:duration.minimum:3;duration.maximum:15