Alibaba: HappyHorse 1.0
Alibaba HappyHorse 1.0 lager korte videoer med lyd fra tekst, et startbilde eller opptil ni referansebilder. Genereringsmodusene produserer MP4-klipp på 3–15 sekunder ved 24 bilder per sekund i 720p eller 1080p. En egen profil kalt 1.0 video-edit bearbeider innsendte opptak med valgfrie visuelle referanser og egne grenser.
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.0 er en utgave for videoskaping med navngitte profiler for tekst-til-video, bilde-til-video fra første bilde og referanse-til-video. Produsenten fremhever fysisk overbevisende bevegelser, semantisk forståelse og synkronisering av lyd og bilde som sine kreative satsingsområder. Referanseprofilen kan bruke opptil ni bilder til å styre motiver og scener. Det nyttige resultatet er et kort klipp med lyd: en ny scene, en animasjon fra et ferdig åpningsbilde eller et karakter- eller produktopptak styrt av referanser.
For en scene fra tekst angir du motiv, omgivelser, handling og kamera, sammen med ønsket lyd. I en bordscene kan du vise en liten modellseilbåt som beveger seg gjennom et grunt vannkar, mens kameraet følger den i bordhøyde. Ved gjennomgang kan du kontrollere båtens form, scenens målestokk, vannbevegelsen og sammenhengen mellom bevegelse og lyd. En avgrenset handling er lettere å vurdere enn en tettpakket sekvens der det avgjørende øyeblikket ikke er tydelig beskrevet.
Ved generering fra første bilde bruker du et stillbilde der motivet og komposisjonen allerede passer til den ønskede åpningen. Beskriv bevegelsen som følger, og kamerabanen. Den spesifikke bildeprofilen for 1.0 tar imot tekst og bilde, mens produsentens genereringsmatrise omtaler dette som bilde-til-video fra første bilde. Klargjør utsnittet og synlige produkt- eller karakterdetaljer før opptaket genereres. Kontroller om detaljene forblir gjenkjennelige gjennom bevegelsen, i stedet for å vurdere bare åpningsbildet.
Referanse-til-video kombinerer personene, produktene, stilen eller omgivelsene i visuelle kilder til en ny scene du beskriver. Modellsiden for den spesifikke 1.0-referansemodellen dokumenterer opptil ni bilder. Gi dem tydelige roller i beskrivelsen, og forklar hvordan motivet skal opptre i scenen. En produktpresentasjon kan skille mellom referansen for selve varen og referanser for omgivelsene eller den visuelle stilen. Produsentens vektlegging av stabilitet gir et mål for gjennomgangen: sammenlign motivet, merkingene og plasseringen med de faktiske referansene gjennom hele klippet.
1.0-familien har også en egen navngitt video-edit-profil for stilendringer og lokale eller mer omfattende bearbeidinger av eksisterende opptak. Denne profilen tar nøyaktig én kildevideo og null til fem referansebilder, i motsetning til oppsettet med ni bilder for referansebasert generering. Angi hva som skal endres og hva som skal beholdes, for eksempel å bytte et plagg mens personen, bevegelsen og bakgrunnen bevares. Redigeringsresultatet må sammenlignes med hele kildeklippet, ikke bare et bilde som viser den ønskede erstatningen.
Den spesifikke redigeringsveiledningen for 1.0 godtar kildeopptak i MP4 eller MOV, anbefaler H.264 og tillater en kildelengde fra tre til seksti sekunder. Den angir maksimalt 100 MB, en kortside på minst 360 piksler, en langside på høyst 4 096 piksler, sideforhold mellom 1:2.5 og 2.5:1 og en bildefrekvens fra åtte til seksti bilder per sekund for inndata. Redigerte resultater er begrenset til tre til femten sekunder: kilder på femten sekunder eller mindre beholder lengden, mens lengre kilder bare bruker de første femten sekundene. Klipp til den ønskede sekvensen før redigeringen klargjøres hvis en viktig handling skjer senere i kilden.
Redigeringsprofilens valgfrie referansebilder har en egen grense på tjue MB og må være i JPEG/JPG-, PNG- eller WEBP-format, med begge dimensjoner på minst 300 piksler og det samme dokumenterte intervallet for sideforhold. Veiledningen skiller også mellom automatisk lydbehandling og bevaring av originallyden. Klargjør referansen som viser den ønskede endringen, og velg hvordan kildelyden skal forholde seg til den. Dette er kontroller som gjelder spesifikt for redigeringsprofilen i 1.0, atskilt fra modusene for å generere nye scener.
For genereringsmodusene i 1.0 oppgir produsentens spesifikke matrise 720p eller 1080p, tre til femten sekunder, MP4 ved 24 bilder per sekund og lyd. Redigeringsprofilen leverer også 720p eller 1080p innenfor grensen på femten sekunder. Den dokumenterte oppgaveflyten returnerer først en behandlingsidentifikator og deretter plasseringen til den ferdige videoen når oppgaven lykkes; resultatadressene er gyldige i tjuefire timer. Behold selve klippet, prompten og referansene når du klargjør en produksjonsredigering, og vurder det returnerte utsnittet, lengden og lyden samlet.
HappyHorse 1.1 legger til et genereringsvalg på 480p og navngitte forbedringer i visuelle detaljer, bevegelse og konsistens mellom klipp. Disse påstandene om senere generering er ingen garanti for den fastlagte 1.0-revisjonen. Nyttig klargjøring for 1.0 følger den valgte modusen og det faktiske kildematerialet. Vurder identitet, kontakt, objektgeometri, tekst og lyd, og gjør deretter neste korrigering konkret. For et redigert klipp kontrollerer du også at viktige originaldetaljer utenfor den ønskede endringen fortsatt passer til den tiltenkte scenen.
Ailoot Ultra · Video POST /v1/videos alibaba/happyhorse-1.0
alibaba/happyhorse-1.0Start
Alibaba HappyHorse 1.0 lager korte videoer med lyd fra tekst, et startbilde eller opptil ni referansebilder. Genereringsmodusene produserer MP4-klipp på 3–15 sekunder ved 24 bilder per sekund i 720p eller 1080p. En egen profil kalt 1.0 video-edit bearbeider innsendte opptak med valgfrie visuelle referanser og egne grenser.
- Godkjente inndata
- Tekst · Bilder
- Resultater
- Video
Tilgjengelig i Ailoot · inndata & metoder
Ailoot Ultra · Video POST /v1/videos
- Inndatatyper
text,image- Utdatatyper
video- Utdataformat
- opprinnelige MP4-bytes; ingen normalisering/transkoding
| Felt | Type | Krav | Verdier & grenser | Standard |
|---|---|---|---|---|
Feltmodel | Typestring | KravPåkrevd | Verdier & grenser alibaba/happyhorse-1.0 | Standard— |
Feltprompt | Typestring | KravPåkrevd | Verdier & grenser | Standard— |
Feltduration | Typeinteger | KravPåkrevd | Verdier & grenser 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 Minimum: 1 Maksimum: 600 | Standard— |
Feltresolution | Typestring | KravValgfritt | Verdier & grenser 720p, 1080p | Standard— |
Feltaspect_ratio | Typestring | KravValgfritt | Verdier & grenser 16:9, 9:16, 1:1, 4:3, 3:4, 21:9, 9:21 | Standard— |
Feltgenerate_audio | Typeboolean | KravValgfritt | Verdier & grenser false | Standard— |
Feltframe_images | Typearray | KravValgfritt | Verdier & grenser Minste antall elementer: 1 Maksimalt antall elementer: 1 Inngående innhold: Matrise med bildeobjekter. Hvert objekt har type=image_url, image_url som inneholder url, og frame_type. Bruk en HTTPS-basert URL til bildet, og sett frame_type til first_frame. Hver bilderolle forekommer høyst én gang. Nøyaktige nøkler: type, image_url, frame_type Vilkår: Disse nøklene beskriver hvert bildeobjekt; image_url inneholder bare url. Utelat frame_images ved en forespørsel som bare inneholder tekst. | Standard— |
Feltinput_references | Typearray | KravValgfritt | Verdier & grenser | Standard— |
Feltsize | Typestring | KravValgfritt | Verdier & grenser 1280x720, 720x1280, 720x720, 960x720, 720x960, 1680x720, 720x1680, 1920x1080, 1080x1920, 1080x1080, 1440x1080, 1080x1440, 2520x1080, 1080x2520 Mønster: ^[1-9][0-9]*x[1-9][0-9]*$ | Standard— |
Feltseed | Typeinteger | KravValgfritt | Verdier & grenser Minimum: −9 223 372 036 854 775 808 Maksimum: 9 223 372 036 854 775 807 | Standard— |
Feltcallback_url | Typestring | KravValgfritt | Verdier & grenser Mønster: ^https:// | Standard— |
Feltsession_id | Typestring | KravValgfritt | Verdier & grenser | Standard— |
Felttrace | Typeobject | KravValgfritt | Verdier & grenser | Standard— |
Feltuser | Typestring | KravValgfritt | Verdier & grenser | Standard— |
Kombinasjoner av inngående materialer
Tekst til video · En skriftlig ledetekst. · Påkrevd: model, prompt, duration
Oppgi prompt som tekst og duration som hele sekunder. Velg en støttet oppløsning; legg til et sideforhold eller bruk en oppført størrelse.
model: Type: string · alibaba/happyhorse-1.0
prompt: Type: string · Maksimalt antall UTF-8-byte: 10 000 · Minst ett tegn som ikke er mellomrom, kreves: Ja
Bilde til video · En skriftlig ledetekst og et bilde for første enkeltbilde. · Påkrevd: model, prompt, duration, frame_images
frame_images er en matrise. Hvert bildeobjekt har type, image_url og frame_type; image_url inneholder url. Sett type til image_url. Bruk first_frame. Hver bilderolle forekommer høyst én gang. Oppgi en offentlig tilgjengelig HTTPS-basert URL til bildet for hvert enkeltbilde. Velg en støttet oppløsning; legg til et sideforhold eller bruk en oppført størrelse.
Nøyaktige nøkler: type, image_url, frame_type
model: Type: string · alibaba/happyhorse-1.0
prompt: Type: string · Maksimalt antall UTF-8-byte: 10 000 · Minst ett tegn som ikke er mellomrom, kreves: Ja
Reference to video · En skriftlig ledetekst og støttede bildereferanser. · Påkrevd: model, prompt, duration, input_references
input_references er en matrise med objekter. Sett type til image_url, og bruk det tilsvarende feltet som inneholder url. Bruk offentlig tilgjengelige HTTPS-adresser. Utelat frame_images for å velge referansemodus. Velg en støttet oppløsning; legg til et sideforhold eller bruk en oppført størrelse.
model: Type: string · alibaba/happyhorse-1.0
prompt: Type: string · Maksimalt antall UTF-8-byte: 10 000 · Minst ett tegn som ikke er mellomrom, kreves: Ja
Metodeparametere og livssyklus
| Parameter | Avtale |
|---|---|
Parametercontent_type | Avtaleapplication/json |
Parameterrequired | Avtalemodel, prompt, duration |
Parametermaterial_types | Avtaletext, image |
Parameteradditional_properties | Avtalefalse |
Parameteroptional_controls | Avtaleresolution, aspect_ratio, generate_audio, frame_images, input_references, size, seed, callback_url, session_id, trace, user |
Livssyklus: submit_once_poll_original
GET /v1/videos/{public_id}
GET /v1/videos/{public_id}/content
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.3388 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.3388 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'
from pathlib import Path
Path('request.json').write_text('{"aspect_ratio":"16:9","duration":3,"model":"alibaba/happyhorse-1.0","prompt":"A serene mountain landscape at sunset","resolution":"720p"}', encoding='utf-8')
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
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('result.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
Motta og lagre resultater
Ailoot Ultra · Video
Signerte innholdsadresser for ressurser du eier
GET /v1/videos/{public_id}GET /v1/videos/{public_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.
Behold alle faktiske utdata du eier, og de returnerte målte metadataene.
Hvis det opprinnelige svaret må kontrolleres
503 result_pending_check + opprinnelig id + X-Should-Retry:false; gjenta aldri den opprinnelige sendingen
Svarfelter
| Felt | Type | Betydning |
|---|---|---|
Feltindex | Typeinteger | BetydningNullbasert posisjon for denne videoen i utdatalisten. |
Feltcontent_url | Typestring | BetydningSignert HTTPS-basert URL for nedlasting av denne ferdigstilte videoen. |
Feltsha256 | Typestring | null | BetydningSHA-256-kontrollsum for den opprinnelige videoens byte; null hvis utilgjengelig. |
Feltsize_bytes | Typeinteger | null | BetydningStørrelsen på den opprinnelige videofilen i byte; null hvis utilgjengelig. |
Feltduration_ms | Typeinteger | null | BetydningMålt videovarighet i millisekunder; null hvis utilgjengelig. |
Feltwidth | Typeinteger | null | BetydningVideobredde i piksler; null hvis utilgjengelig. |
Feltheight | Typeinteger | null | BetydningVideohøyde i piksler; null hvis utilgjengelig. |
Feltvideo_codec | Typestring | null | BetydningIdentifikator for videokodeken; null hvis ikke registrert. |
Felthas_audio | Typeboolean | null | BetydningOm videoen inneholder et lydspor; null hvis ikke målt. |
Feltaudio_codec | Typestring | null | BetydningIdentifikator for lydkodeken; null når ingen identifikator er registrert. |
Feil og neste trinn
| Svar | Vilkår | Neste trinn |
|---|---|---|
Svar404 · not_found_error | VilkårVideotilgang er utilgjengelig, eller denne video-ID-en ble ikke funnet. | Neste trinnKontroller videotilgangen. For en eksisterende video bruker du den opprinnelige offentlige ID-en og samme API-nøkkel. |
Svar401 · authentication_error | VilkårAPI-nøkkelen samsvarer ikke med den autentiserte kontoen. | Neste trinnKontroller API-nøkkelen din og kontotilgangen før innsending. |
Svar400 · invalid_request_error | VilkårForespørselen kunne ikke leses, eller nedlastingsindeksen er ugyldig. | Neste trinnKorriger forespørselskroppen. Ved nedlasting velger du en utdataindeks som ble returnert av den opprinnelige oppgaven. |
Svar422 · price_unavailable | VilkårDen valgte videokonfigurasjonen kan ikke prises. | Neste trinnVelg en støttet videokonfigurasjon og fyll ut de påkrevde alternativene før du sender en korrigert forespørsel. |
Svar422 · invalid_request_error | VilkårVideoinndata eller den opprinnelige fortsettelsesoppgaven er ugyldig. | Neste trinnBruk gyldige HTTPS-inndata. Ved fortsettelse bruker du den ferdigstilte originalens offentlige video-ID med samme API-nøkkel. |
Svar402 · billing_error | VilkårDen tilgjengelige saldoen eller grensene tillater ikke en reservasjon. | Neste trinnKontroller tilgjengelig saldo og grenser før du sender en ny forespørsel. |
Svar503 · server_error | VilkårVideokontroll, lagring eller tjenestetilgang er midlertidig utilgjengelig. | Neste trinnVent til tjenesten er tilgjengelig. Hvis du allerede har en video-ID, kontroller den opprinnelige oppgaven fremfor å opprette en ny generering. |
Svar503 · result_pending_check | VilkårDet opprinnelige videoresultatet og belastningen må kontrolleres. | Neste trinnBehold den returnerte video-ID-en og kontroller den oppgaven. Ikke send en erstatningsforespørsel om generering mens den kontrolleres. |
Svar503 · owned_result_unavailable | VilkårNedlasting av den eksisterende videoen er midlertidig utilgjengelig. | Neste trinnKontroller den samme videooppgaven senere og last ned de eksisterende utdataene. En ny generering oppretter en separat operasjon. |
Svar409 · video_not_ready | VilkårVideoinnholdet er ikke publisert. | Neste trinnKontroller den opprinnelige oppgavestatusen. Last ned etter at den rapporterer completed; hvis den rapporterer failed, følg varselet om kontroll av belastningen. |
Aliaser
Modellaliaser
Ailoot Ultra alibaba/happyhorse-1.0
Aliaser for metodestier
Bruk metodestiene som vises ovenfor.
Tilknyttede anroper-ID-er
FAQ · Alibaba: HappyHorse 1.0
- Hvilke inndata og resultater er tilgjengelige?
POST /v1/videos·alibaba/happyhorse-1.0:text,image→video- Hvilke felt bruker forespørselen?
POST /v1/videos·alibaba/happyhorse-1.0:model,prompt,duration,resolution,aspect_ratio,generate_audio,frame_images,input_references,size,seed,callback_url,session_id,trace,user- Hvilke grenser gjelder?
POST /v1/videos·alibaba/happyhorse-1.0:duration.minimum:1;duration.maximum:600;frame_images.max_items:1;frame_images.min_items:1;seed.minimum:-9223372036854775808;seed.maximum:9223372036854775807