Alibaba: HappyHorse 1.1
Alibaba HappyHorse 1.1 genererar korta videor med ljud från en textinstruktion, en första bildruta eller upp till nio referensbilder. Tillverkarprofilerna betonar förbättrad rörelse, huddetaljer och konsekvent karaktärsidentitet mellan klipp. Utdata är MP4 på 3–15 sekunder med 24 bilder per sekund och alternativen 480p, 720p eller 1080p.
Om modellen
Den här beskrivningen omfattar modellens förmågor. Tillgängliga indata, utdata och alternativ i Ailoot anges nedan för den valda metoden.
Alibaba HappyHorse 1.1 är en videogenereringsutgåva med separat namngivna profiler för text-till-video, bild-till-video från första bildruta och referens-till-video. Tillverkaren betonar förbättrade visuella detaljer, rörelse, karaktärsidentitet mellan klipp, textstabilitet och synkronisering mellan ljud och bild. Resultatet är en kort video med ljud, användbar för en produkttagning, en porträttanimation eller en liten karaktärsscen. Välj indataläge efter det som ska definiera scenen: ett skrivet koncept, en exakt öppningsbild eller flera visuella referenser.
För text-till-video beskriver du motiv, plats, handling, bildutsnitt, kamerarörelse och avsett ljud. En kort handlingsscen kan visa en cyklist som stannar vid ett kafé vid floden medan kameran mjukt rör sig mot den parkerade cykeln. Håll handlingen lämplig för ett kort klipp och beskriv slutögonblicket. Tillverkarens nuvarande textguide tillåter upp till 5 000 icke-kinesiska eller 2 500 kinesiska tecken och trunkerar överskjutande text. Ordna instruktionen så att dess viktigaste motiv och handling anges uttryckligen i stället för att begravas i upprepade adjektiv.
Bild-till-video från första bildrutan använder exakt en bild som öppning. Förbered motiv, komposition och avsedd beskärning i stillbilden och beskriv sedan vad som ska röra sig eller hur kameran ska ändras. De dokumenterade bildformaten är JPEG/JPG, PNG och WEBP, upp till 20 MB, med båda dimensionerna på minst 300 pixlar och ett bildförhållande mellan 1:2,5 och 2,5:1. Utdata närmar sig den valda upplösningsnivån och behåller källbildens proportioner. Ett stående resultat börjar därför med en lämplig stående komposition i stället för en orelaterad instruktion om bildförhållande.
Referens-till-video tar emot en till nio bilder. Prompten använder [Image 1], [Image 2] och efterföljande positioner för att identifiera dem i indataordningen. Ange varje referens roll och namnge det relevanta föremålet eller personen så att en scenbild inte misstas för en karaktärskälla. Referensguiden tar emot JPEG/JPG, PNG eller WEBP upp till 20 MB, kräver att kortsidan är minst 400 pixlar och rekommenderar tydliga referenser i 720p eller högre. Undvik en hårt komprimerad referens där identifierande detaljer redan saknas.
I en scen med flera referenser kan du placera personen från en bild i rummet från en annan och samtidigt behålla en kappa eller produkt från en tredje. Beskriv interaktion och kamera i samma instruktion. Referensprofilen i 1.1 framhäver stabila motiv, scenstil och filmisk rörelse; granska det faktiska resultatet för avsedd identitet, produktmärkningar och rumslig placering. Flera bilder ger instruktionen mer information, men granskningen måste fortfarande kontrollera vilka egenskaper som fördes över till videon.
Tillverkaren anger utdata i 480p, 720p och 1080p för genereringslägena i 1.1, med längd i hela sekunder från tre till femton och MP4 med 24 bilder per sekund. API-svaret beskriver H.264-kodning. Text- och referensgenerering erbjuder format som 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21 och 21:9; generering från första bildruta följer inmatningsbilden. Välj format för destinationen och lämna utrymme för senare bildtexter eller layoutelement. Granska den returnerade videons faktiska bildutsnitt i avsedd visningsstorlek.
Modellfamiljens utdata innehåller ljud. Ge framförande eller atmosfär en tydlig roll i instruktionen och granska eventuell dialog, effekter eller bakgrundsspår tillsammans med bilden. Håll talmaterial tillräckligt kort för handlingen och pauserna i stället för att pressa in ett långt manus i en kort tagning. Kontrollera läpprörelse, talartilldelning och faktisk ordalydelse när tal förekommer. Att ett promptspråk accepteras definierar inte i sig ett garanterat uttal eller en separat ingång för röstreferenser.
Det dokumenterade tillverkarflödet är asynkront: ett uppgifts-ID följer bearbetningen och ett lyckat resultat anger videons plats. Resultatlänk och uppgiftsfrågor dokumenteras med en giltighetstid på tjugofyra timmar. Behåll det färdiga klippet, referenserna och prompten som revideringsunderlag. Guiderna dokumenterar även kontroller för seed och vattenstämpel. Ett fast seed kan underlätta jämförelse, men tillverkaren säger uttryckligen att det inte garanterar identiska resultat, så bedöm den returnerade leveransen i stället för att anta att en inställning låser varje bildruta.
HappyHorse 1.0 och 1.1 är separata utgåvor. Utdatatabellen för 1.1 lägger till 480p utöver alternativen 720p och 1080p i 1.0, och modellsidorna för 1.1 beskriver förbättringar av detaljer, rörelse och konsekvens. Den separat namngivna videoredigeringsprofilen i HappyHorse 1.0 har egna indata och begränsningar och är inte ett redigeringsläge att tyst tillskriva 1.1. Granska hela klippet i 1.1 för identitet, rörelse, bildutsnitt, text och ljud, och gör sedan en specifik korrigering medan instruktionens lyckade delar bevaras.
Ailoot Ultra · Video POST /v1/videos alibaba/happyhorse-1.1
alibaba/happyhorse-1.1Start
Alibaba HappyHorse 1.1 genererar korta videor med ljud från en textinstruktion, en första bildruta eller upp till nio referensbilder. Tillverkarprofilerna betonar förbättrad rörelse, huddetaljer och konsekvent karaktärsidentitet mellan klipp. Utdata är MP4 på 3–15 sekunder med 24 bilder per sekund och alternativen 480p, 720p eller 1080p.
- Godkända indata
- Text
- Resultat
- Video
Tillgängligt i Ailoot · indata & metoder
Ailoot Ultra · Video POST /v1/videos
- Indatatyper
text- Utdatatyper
video- Utdataformat
- mp4
- Antal utdata
- Upp till 4 utdatas
| Fält | Typ | Krav | Värden & gränser | Standard |
|---|---|---|---|---|
Fältmodel | Typstring | KravObligatoriskt | Värden & gränser alibaba/happyhorse-1.1 | Standard— |
Fältprompt | Typstring | KravObligatoriskt | Värden & gränser Minsta längd: 1 Maximalt antal byte: 10 000 Enhet: UTF8-byte | Standard— |
Fältduration | Typinteger | KravObligatoriskt | Värden & gränser Minimum: 3 Maximum: 15 Enhet: sekunder | Standard— |
Fältresolution | Typstring | KravObligatoriskt | Värden & gränser 720p | Standard— |
Fältaspect_ratio | Typstring | KravObligatoriskt | Värden & gränser 16:9 | Standard— |
Kombinationer av indatamaterial
Text till video · Krävs: prompt
Metodparametrar och livscykel
| Parameter | Avtal |
|---|---|
Parametercontent_type | Avtalapplication/json |
Parameterrequired | Avtalmodel, prompt, duration, resolution, aspect_ratio |
Parameterother_options | Avtalfalse |
Parameterresolution | Avtal720p |
Parameterprompt_max_bytes | Avtal10000 |
Parameterduration_integer_range | Avtal3, 15 |
Parameteraspect_ratio | Avtal16:9 |
Parametergenerate_audio | Avtalmåste utelämnas (inte false); AAC ingår |
Parametermaterial_types | Avtaltext |
Parameteradditional_properties | Avtalfalse |
Metodalias: /v1/videos/generations, /videos, /videos/generations
Livscykel: 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
Skapa en gång och spara returnerat ID.
Kontrollera den ursprungliga statusen; behåll varje färdig tillgång och dess längd.
Priser
Så beräknas slutavgiften
De visade priserna används för att uppskatta kostnaden före genereringen. Den slutliga debiteringen beräknas utifrån den kostnad som registrerats för den ursprungliga genereringen. Uppmätt längd på resultatet och uppskattade mängder utgör inte den slutliga debiterbara mängden.
Tariffuppgifter lägger inte till begäransalternativ. Parametrar som stöds anges för den valda metoden.
- Snabbt läge
- Ej angivet När snabbt läge är valt
- Flex-läge
- Ej angivet När läget flex är valt
- Högsta resonemangsnivå
- Ej angivet När den högsta resonemangsnivån använder standardjusteringen (default)
Uppskattade priser för jämförelse
Priser efter konfiguration
Matcha varje avgift mot de visade villkoren. Använd ett pris för varje uppsättning alternativa konfigurationer.
| Konfiguration | Prislista | Prognostiserad mängd | Debiteringsenhet | Debiteringsvillkor | Avgift |
|---|---|---|---|---|---|
| KonfigurationGrundpriser för token | PrislistaGrundpris | Prognostiserad mängd— | Debiteringsenhet— | Debiteringsvillkor— | Avgift Indata · Indatatoken · Uppskattning endast för jämförelse — / 1K token Utdata · Utdatatoken · Uppskattning endast för jämförelse — / 1K token Indata · Cacheläsning · Uppskattning endast för jämförelse — / 1K token Indata · Skrivning till cache · Uppskattning endast för jämförelse — / 1K token Indata · Skrivning till cache, 1 tim · Uppskattning endast för jämförelse — / 1K token |
| KonfigurationVideopris | Prislista— | Prognostiserad mängd— | Debiteringsenhetper videosekund | Debiteringsvillkorresolution: 1080p | Avgift Utdata · Videopris · Uppskattning endast för jämförelse $0.2556 per videosekund |
| KonfigurationVideopris | Prislista— | Prognostiserad mängd— | Debiteringsenhetper videosekund | Debiteringsvillkorresolution: 720p | Avgift Utdata · Videopris · Uppskattning endast för jämförelse $0.1976 per videosekund |
| KonfigurationUppskattad genereringskostnad | Prislista— | Prognostiserad mängduppskattning för en generering | Debiteringsenhet— | Debiteringsvillkor— | Avgift Utdata · Uppskattad genereringskostnad · Uppskattning endast för jämförelse $0.5928 uppskattning före generering Denna uppskattning är varken en extra avgift eller ett fast pris för den slutförda genereringen. |
Ailoot reserverar ett uppskattat belopp före en begäran. Efter resultatet slutregleras avgiften utifrån uppmätt förbrukning. Slutreglering för strömning använder den slutliga förbrukningsposten. Så fungerar reservation och slutreglering →
Detaljer om referenstariffen
Referensprislistor på modellnivå ändrar inte metodval, prisuppgifter eller avgifter. Aktiva avgifter använder priserna för den valda Ailoot-metoden.
Prisreferenser för videokonfigurationer
Priser efter konfiguration
Matcha varje avgift mot de visade villkoren. Använd ett pris för varje uppsättning alternativa konfigurationer.
| Konfiguration | Debiteringsvillkor | Avgift |
|---|---|---|
| KonfigurationVideopris | Debiteringsvillkorresolution: 720p | Avgift Utdata · Videopris $0.1976 per videosekund Publicerad prisreferens för den visade konfigurationen. Den slutliga debiteringen följer den konfiguration som faktiskt debiterades. |
| KonfigurationVideopris | Debiteringsvillkorresolution: 1080p | Avgift Utdata · Videopris $0.2556 per videosekund Publicerad prisreferens för den visade konfigurationen. Den slutliga debiteringen följer den konfiguration som faktiskt debiterades. |
Exempelbegäranden
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
Ta emot och spara resultat
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
Kontrollera 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
Andra innehållsläsningar
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
Behåll alla färdiga resultat
Spara varje färdig video eller returnerad fil; hämta varje faktiskt returnerad resurs-URL.
Färdigt data[] innehåller alla signerade URL till innehåll som du äger. Hämta varje returnerad URL eller använd innehållsändpunkten med index satt till ett faktiskt utdataindex. Ett misslyckat ursprungligt jobb kan returnera charge_pending_check; kontrollera det ursprungliga jobbet i stället för att skapa det igen.
Om det ursprungliga svaret behöver kontrolleras
Läs det befintliga ursprungliga jobbet; skicka aldrig en oklar sändning igen.
Maximalt antal utdata: 4.
Svarsfält
| Fält | Typ | Betydelse |
|---|---|---|
Fältid | Typstring | Betydelse— |
Fältobject | Typstring | Betydelse— |
Fältmodel | Typstring | Betydelse— |
Fältstatus | Typstring | Betydelse— |
Fältdata[] | Typsigned content URL | Betydelse— |
Fältcharge_pending_check | Typboolean | Betydelse— |
Fälterror.code | Typstring | Betydelse— |
Fälterror.message | Typstring | Betydelse— |
Fältoperation_id | Typstring | BetydelseHTTP503 result_pending_check i det ursprungliga status- eller innehållssvaret: samma ursprungliga offentliga video-ID som id. |
Fälterror.type | Typstring | Betydelseserver_error vid HTTP503 result_pending_check. |
Fel och nästa steg
| Svar | Villkor | Nästa steg |
|---|---|---|
Svar400 · invalid_request_error | VillkorDen råa begäranskroppen kan inte läsas före tolkning av videoprofilen | Nästa stegBevara det returnerade svaret och korrigera den oläsbara begäranskroppen. |
Svar422 · price_unavailable | VillkorDen exakta videoprofilen kan inte tolkas, eller den fullständigt tolkade profilen saknar ett färdigt exakt priskort | Nästa stegBevara svaret; använd hela den exakta tillåtna profilen och dess publicerade priskort. Denna gren körs innan något skickas till leverantören. |
Svar409 · video_not_ready | VillkorDet ursprungliga resultatinnehållet är ännu inte tillgängligt | Nästa stegKontrollera det ursprungliga returnerade ID:t och följ Retry-After. |
Svarserver_error | VillkorDet returnerade svaret anger att operationen eller resultatet behöver kontrolleras | Nästa stegSpara det ursprungliga operations- eller uppgifts-ID som returnerades, förfrågans headers och svaret. Fortsätt att läsa den ursprungliga operationen med de läsmetoder som stöds. Skicka inte skapandeförfrågan igen. |
Svar503 · result_pending_check | VillkorGET av ursprunglig status/innehåll: uppgiften är inte publicerad, det ursprungliga jobbet har inte misslyckats, avbrutits eller löpt ut, och det lokala tillståndet är unknown eller det ursprungliga jobbets status är completed. | Nästa stegBehåll ursprungliga id och operation_id (samma offentliga video-ID), svar och svarshuvuden; läs endast ursprunglig status/innehåll. Skicka aldrig en ny genereringsbegäran. |
Alias
Modellalias
Ailoot Ultra alibaba/happyhorse-1.1
Alias för metodsökvägar
/v1/videos/generations, /videos, /videos/generations
Relaterade anropar-ID:n
FAQ · Alibaba: HappyHorse 1.1
- Vilka indata och resultat finns?
POST /v1/videos·alibaba/happyhorse-1.1:text→video- Vilka fält använder begäran?
POST /v1/videos·alibaba/happyhorse-1.1:model,prompt,duration,resolution,aspect_ratio- Vilka gränser gäller?
POST /v1/videos·alibaba/happyhorse-1.1:duration.minimum:3;duration.maximum:15