Alibaba: HappyHorse 1.1
Alibaba HappyHorse 1.1 genererer korte videoer med lyd fra en tekstbeskrivelse, ét første billede eller op til ni referencebilleder. Producentens profiler lægger vægt på forbedret bevægelse, huddetaljer og konsekvent figuridentitet på tværs af klip. Output er MP4 på 3–15 sekunder ved 24 fps med valgmulighederne 480p, 720p og 1080p.
Om modellen
Denne beskrivelse dækker modellens funktioner. Tilgængelige input, output og indstillinger i Ailoot står nedenfor for den valgte metode.
Alibaba HappyHorse 1.1 er en udgave til videogenerering med særskilt navngivne profiler til tekst-til-video, billede-til-video fra et første billede og reference-til-video. Producenten fremhæver forbedrede visuelle detaljer, bevægelse, figuridentitet på tværs af klip, tekststabilitet og synkronisering af lyd og billede. Resultatet er en kort video med lyd, som er nyttig til en produktoptagelse, en portrætanimation eller en lille scene med figurer. Vælg inputtilstand ud fra det, der skal definere scenen: et skrevet koncept, et præcist åbningsbillede eller flere visuelle referencer.
Til tekst-til-video skal du beskrive motiv, sted, handling, indramning, kamerabevægelse og den ønskede lyd. I en kort handlingsscene kan du vise en cyklist, der standser ved en café langs floden, mens kameraet bevæger sig roligt mod den parkerede cykel. Tilpas handlingen til et kort klip, og beskriv det afsluttende øjeblik. Producentens aktuelle tekstvejledning tillader op til 5.000 ikke-kinesiske eller 2.500 kinesiske tegn og afkorter overskydende tekst. Organisér beskrivelsen, så det væsentlige motiv og handlingen står tydeligt frem i stedet for at være begravet i gentagne tillægsord.
Billede-til-video fra et første billede bruger præcis ét billede som åbning. Forbered motiv, komposition og ønsket beskæring i dette stillbillede, og beskriv derefter, hvad der skal bevæge sig, eller hvordan kameraet skal ændre sig. De dokumenterede billedformater er JPEG/JPG, PNG og WEBP på op til 20 MB, med begge dimensioner på mindst 300 pixels og et billedformat mellem 1:2,5 og 2,5:1. Output ligger omtrent på det valgte opløsningsniveau og bevarer kildebilledets proportioner. Et stående resultat begynder derfor med en egnet stående komposition frem for en løsrevet instruktion om billedformat.
Reference-til-video accepterer ét til ni billeder. Prompten bruger [Image 1], [Image 2] og efterfølgende positioner til at identificere dem i inputrækkefølgen. Angiv hver references rolle, og navngiv den relevante genstand eller person, så et scenebillede ikke forveksles med en kilde til en figur. Referencevejledningen accepterer JPEG/JPG, PNG eller WEBP på op til 20 MB, kræver, at den korteste side er mindst 400 pixels, og anbefaler tydelige referencer i 720p eller højere. Undgå en hårdt komprimeret reference, hvor de identificerende detaljer allerede mangler.
Til en scene med flere referencer kan du placere personen fra ét billede i rummet fra et andet og samtidig bevare en frakke eller et produkt fra et tredje. Beskriv samspillet og kameraet i samme beskrivelse. Referenceprofilen til 1.1 fremhæver stabilitet i motiver, scenestil og filmisk bevægelse; undersøg det faktiske resultat for den ønskede identitet, produktmærkning og rumlige placering. Flere billeder giver beskrivelsen mere information, men gennemgangen skal stadig kontrollere, hvilke træk der blev overført til videoen.
Producenten angiver output i 480p, 720p og 1080p for genereringstilstandene i 1.1 med en varighed i hele sekunder fra tre til femten og MP4 ved 24 fps. API-svaret beskriver H.264-kodning. Tekst- og referencegenerering tilbyder blandt andet formaterne 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21 og 21:9; generering fra et første billede følger inputbilledet. Vælg format til den ønskede anvendelse, og levn plads til senere undertekster eller layoutelementer. Undersøg den returnerede videos faktiske indramning i den tilsigtede visningsstørrelse.
Modelfamiliens output omfatter lyd. Giv fremførelsen eller atmosfæren en tydelig rolle i beskrivelsen, og gennemgå eventuel dialog, effekter eller baggrundsmusik sammen med billedet. Hold det talte materiale kort nok til handlingen og pauserne frem for at presse et langt manuskript ind i én kort optagelse. Kontrollér læbebevægelser, hvem der taler, og den faktiske ordlyd, når der er tale. At et sprog accepteres i prompten, definerer ikke i sig selv en garanteret udtale eller et separat stemmereferenceinput.
Producentens dokumenterede arbejdsgang er asynkron: et opgave-id følger behandlingen, og et vellykket resultat angiver videoens placering. Resultatlinket og opgaveforespørgslerne er dokumenteret med en gyldighed på fireogtyve timer. Gem det færdige klip, referencerne og prompten som revisionsgrundlag. Vejledningerne dokumenterer også kontroller for seed og vandmærke. Et fast seed kan hjælpe med sammenligning, men producenten siger udtrykkeligt, at det ikke garanterer identiske resultater, så vurder det returnerede produkt frem for at antage, at én indstilling fastlåser hvert billede.
HappyHorse 1.0 og 1.1 er separate udgaver. Outputtabellen for 1.1 tilføjer 480p til 1.0-udgavens valgmuligheder på 720p og 1080p, og modelsiderne for 1.1 beskriver forbedringer i detaljer, bevægelse og konsistens. Den særskilt navngivne profil HappyHorse 1.0 video-edit har sine egne input og grænser og er ikke en redigeringstilstand, der ubemærket kan tildeles 1.1. Gennemgå hele 1.1-klippet for identitet, bevægelse, indramning, tekst og lyd, og foretag derefter en konkret rettelse, mens de vellykkede dele af 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, ét første billede eller op til ni referencebilleder. Producentens profiler lægger vægt på forbedret bevægelse, huddetaljer og konsekvent figuridentitet på tværs af klip. Output er MP4 på 3–15 sekunder ved 24 fps med valgmulighederne 480p, 720p og 1080p.
- Accepterede input
- Tekst
- Resultater
- Video
Tilgængelig i Ailoot · input og metoder
Ailoot Ultra · Video POST /v1/videos
- Inputtyper
text- Outputtyper
video- Outputformat
- mp4
- Antal output
- Op til 4 outputs
| Felt | Type | Krav | Værdier og grænser | Standard |
|---|---|---|---|---|
Feltmodel | Typestring | KravPåkrævet | Værdier og grænser alibaba/happyhorse-1.1 | Standard— |
Feltprompt | Typestring | KravPåkrævet | Værdier og grænser Minimumslængde: 1 Maksimalt antal bytes: 10.000 Enhed: UTF8-bytes | Standard— |
Feltduration | Typeinteger | KravPåkrævet | Værdier og grænser Minimum: 3 Maksimum: 15 Enhed: sekunder | Standard— |
Feltresolution | Typestring | KravPåkrævet | Værdier og grænser 720p | Standard— |
Feltaspect_ratio | Typestring | KravPåkrævet | Værdier og grænser 16:9 | Standard— |
Kombinationer af inputmaterialer
Tekst til video · Påkrævet: prompt
Metodeparametre og livscyklus
| Parameter | Kontrakt |
|---|---|
Parametercontent_type | Kontraktapplication/json |
Parameterrequired | Kontraktmodel, prompt, duration, resolution, aspect_ratio |
Parameterother_options | Kontraktfalse |
Parameterresolution | Kontrakt720p |
Parameterprompt_max_bytes | Kontrakt10000 |
Parameterduration_integer_range | Kontrakt3, 15 |
Parameteraspect_ratio | Kontrakt16:9 |
Parametergenerate_audio | Kontraktskal udelades (ikke false); AAC er inkluderet |
Parametermaterial_types | Kontrakttext |
Parameteradditional_properties | Kontraktfalse |
Metodealiaser: /v1/videos/generations, /videos, /videos/generations
Livscyklus: 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
Opret én gang, og gem det returnerede ID.
Forespørg på den oprindelige status; behold hvert færdigt aktiv og hver varighed.
Priser
Sådan beregnes det endelige beløb
De viste satser bruges til at anslå omkostningen før genereringen. Det endelige beløb beregnes ud fra den registrerede omkostning for den oprindelige generering. Den målte varighed af outputtet og de anslåede mængder er ikke den endelige fakturerbare mængde.
Tarifoplysninger tilføjer ikke anmodningsmuligheder. Understøttede parametre står ved den valgte metode.
- Hurtig tilstand
- Ikke angivet Når hurtig tilstand er valgt
- flex-tilstand
- Ikke angivet Når flex-tilstanden er valgt
- Maksimal ræsonneringsindsats
- Ikke angivet Når default-justeringen anvendes ved maksimal ræsonneringsindsats
Estimerede takster til sammenligning
Priser efter konfiguration
Knyt hver omkostning til de viste betingelser. Brug én takst for hver gruppe af alternative konfigurationer.
| Konfiguration | Takstplan | Forventet mængde | Afregningsenhed | Afregningsbetingelser | Beløb |
|---|---|---|---|---|---|
| KonfigurationGrundpriser for tokens | TakstplanGrundtakst | Forventet mængde— | Afregningsenhed— | Afregningsbetingelser— | Beløb Input · Inputtokens · Estimat kun til sammenligning — / 1K tokens Output · Outputtokens · Estimat kun til sammenligning — / 1K tokens Input · Cachelæsning · Estimat kun til sammenligning — / 1K tokens Input · Cacheskrivning · Estimat kun til sammenligning — / 1K tokens Input · Cacheskrivning, 1 time · Estimat kun til sammenligning — / 1K tokens |
| KonfigurationVideopris | Takstplan— | Forventet mængde— | Afregningsenhedpr. videosekund | Afregningsbetingelserresolution: 1080p | Beløb Output · Videopris · Estimat kun til sammenligning $0.2556 pr. videosekund |
| KonfigurationVideopris | Takstplan— | Forventet mængde— | Afregningsenhedpr. videosekund | Afregningsbetingelserresolution: 720p | Beløb Output · Videopris · Estimat kun til sammenligning $0.1976 pr. videosekund |
| KonfigurationAnslået genereringsomkostning | Takstplan— | Forventet mængdeestimat for én generering | Afregningsenhed— | Afregningsbetingelser— | Beløb Output · Anslået genereringsomkostning · Estimat kun til sammenligning $0.5928 estimat før generering Dette estimat er hverken et ekstra gebyr eller en fast pris for den færdige generering. |
Ailoot reserverer et estimeret beløb før en anmodning. Efter resultatet afregnes det endelige beløb ud fra det målte forbrug. Ved streaming bruges den endelige forbrugsregistrering til afregningen. Sådan fungerer reservation og afregning →
Detaljer om referencetariffen
Referenceplaner på modelniveau ændrer ikke metodevalg, prisoverslag eller opkrævninger. Ved den aktive afregning anvendes taksterne for den valgte Ailoot-metode.
Prisreferencer for videokonfigurationer
Priser efter konfiguration
Knyt hver omkostning til de viste betingelser. Brug én takst for hver gruppe af alternative konfigurationer.
| Konfiguration | Afregningsbetingelser | Beløb |
|---|---|---|
| KonfigurationVideopris | Afregningsbetingelserresolution: 720p | Beløb Output · Videopris $0.1976 pr. videosekund Offentliggjort prisreference for den viste konfiguration. Den endelige afregning følger den konfiguration, der faktisk faktureres. |
| KonfigurationVideopris | Afregningsbetingelserresolution: 1080p | Beløb Output · Videopris $0.2556 pr. videosekund Offentliggjort prisreference for den viste konfiguration. Den endelige afregning følger den konfiguration, der faktisk faktureres. |
Eksempelanmodninger
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
Hent og gem 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
Kontrollér opgavestatus
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
Læsning af andet indhold
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 færdige resultater
Gem hver færdig video eller returneret fil; hent hver faktisk returneret fil-URL.
Det færdige data[] indeholder alle signerede indholds-URL’er, du ejer. Hent hver returneret URL, eller brug indholdsendpointet med index sat til et faktisk outputindeks. Et mislykket oprindeligt job kan returnere charge_pending_check; kontrollér dette oprindelige job i stedet for at oprette det igen.
Hvis det oprindelige svar skal kontrolleres
Læs det eksisterende oprindelige job; indsend aldrig en afsendelse med ukendt udfald igen.
Maksimalt antal output: 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 | BetydningHTTP503 result_pending_check-svar for oprindelig status/indhold: samme oprindelige offentlige video-ID som id. |
Felterror.type | Typestring | Betydningserver_error ved HTTP503 result_pending_check. |
Fejl og næste trin
| Svar | Betingelse | Næste trin |
|---|---|---|
Svar400 · invalid_request_error | BetingelseLæsning af det rå forespørgselsindhold mislykkes, før videoprofilen fortolkes | Næste trinBehold det returnerede svar, og ret det ulæselige forespørgselsindhold. |
Svar422 · price_unavailable | BetingelseFortolkning af den præcise videoprofil mislykkes, eller den fuldt fortolkede profil har ikke et klargjort priskort, der matcher præcist | Næste trinBehold svaret; brug hele den præcise profil, der har adgang, og dens offentliggjorte priskort. Denne gren udføres før afsendelse til en udbyder. |
Svar409 · video_not_ready | BetingelseDet oprindelige resultatindhold er endnu ikke tilgængeligt | Næste trinForespørg på status med det oprindeligt returnerede ID, og overhold Retry-After. |
Svarserver_error | BetingelseDet returnerede svar angiver, at operationen eller resultatet skal kontrolleres | Næste trinGem det oprindeligt returnerede operations-/opgave-ID, anmodningens headere og svaret; fortsæt med de understøttede læseanmodninger for den oprindelige operation. Send ikke oprettelsesanmodningen igen. |
Svar503 · result_pending_check | BetingelseGET af oprindelig status/indhold: opgaven er ikke offentliggjort, det oprindelige job er ikke failed/cancelled/expired, og den lokale tilstand er unknown, eller det oprindelige jobs status er completed. | Næste trinBehold det oprindelige id og operation_id (samme offentlige video-ID), svaret og alle headere; læs kun den oprindelige status eller det oprindelige indhold. Send aldrig en ny forespørgsel om generering. |
Aliaser
Modelaliaser
Ailoot Ultra alibaba/happyhorse-1.1
Aliaser for metodestier
/v1/videos/generations, /videos, /videos/generations
Relaterede kalder-ID’er
FAQ · Alibaba: HappyHorse 1.1
- Hvilke input og resultater er tilgængelige?
POST /v1/videos·alibaba/happyhorse-1.1:text→video- Hvilke felter bruger anmodningen?
POST /v1/videos·alibaba/happyhorse-1.1:model,prompt,duration,resolution,aspect_ratio- Hvilke grænser gælder?
POST /v1/videos·alibaba/happyhorse-1.1:duration.minimum:3;duration.maximum:15