Alibaba: HappyHorse 1.1
Alibaba HappyHorse 1.1 genereert korte video's met geluid op basis van een tekstbriefing, één afbeelding van het eerste frame of maximaal negen referentieafbeeldingen. De profielen van de maker leggen de nadruk op verbeterde beweging, huiddetails en consistentie van personages tussen clips. Uitvoer is MP4 van 3–15 seconden met 24 fps, met opties voor 480p, 720p of 1080p.
Over het model
Deze beschrijving gaat over de mogelijkheden van het model. De via Ailoot beschikbare invoer, uitvoer en opties staan hieronder voor de geselecteerde methode.
Alibaba HappyHorse 1.1 is een editie voor videogeneratie met afzonderlijk benoemde profielen voor tekst naar video, afbeelding naar video vanaf het eerste frame en referentie naar video. De fabrikant benadrukt verbeterde visuele details, beweging, personage-identiteit tussen clips, tekststabiliteit en audiovisuele synchronisatie. Het resultaat is een korte video met geluid, bruikbaar voor een productshot, portretanimatie of kleine personagescène. Kies de invoermodus op basis van wat de scène moet bepalen: een geschreven concept, een exact openingsbeeld of verschillende visuele referenties.
Beschrijf voor tekst naar video het onderwerp, de locatie, de handeling, de kadrering, de camerabeweging en het gewenste geluid. Laat voor een korte actiescène een fietser stoppen naast een café aan de rivier terwijl de camera rustig naar de geparkeerde fiets beweegt. Houd de handeling passend bij een korte clip en beschrijf het slotmoment. De huidige tekstgids van de maker staat maximaal 5000 niet-Chinese of 2500 Chinese tekens toe en kapt overtollige tekst af. Orden de briefing zo dat het essentiële onderwerp en de handeling expliciet zijn en niet verscholen gaan achter herhaalde bijvoeglijke naamwoorden.
Afbeelding naar video vanaf het eerste frame gebruikt precies één afbeelding als opening. Bereid onderwerp, compositie en gewenste uitsnede in dat stilstaande beeld voor en beschrijf daarna wat moet bewegen of hoe de camera moet veranderen. De gedocumenteerde afbeeldingsformaten zijn JPEG/JPG, PNG en WEBP, maximaal 20 MB, met beide afmetingen minimaal 300 pixels en een beeldverhouding tussen 1:2,5 en 2,5:1. De uitvoer benadert de gekozen resolutieklasse en behoudt de verhoudingen van de bronafbeelding. Een portretresultaat begint daarom met een passende portretcompositie en niet met een losstaande instructie voor de beeldverhouding.
Referentie naar video accepteert één tot negen afbeeldingen. De prompt gebruikt [Image 1], [Image 2] en volgende posities om ze in invoervolgorde aan te duiden. Geef de rol van elke referentie aan en benoem het relevante object of de persoon, zodat een scèneafbeelding niet wordt verward met een personagebron. De referentiegids accepteert JPEG/JPG, PNG of WEBP tot 20 MB, vereist een kortste zijde van minimaal 400 pixels en beveelt duidelijke referenties in 720p of hoger aan. Vermijd een zwaar gecomprimeerde referentie waarin herkenningsdetails al ontbreken.
Plaats voor een scène met meerdere referenties de persoon uit één afbeelding in de kamer uit een andere en behoud daarbij een jas of product uit een derde. Beschrijf interactie en camera in dezelfde briefing. Het 1.1-referentieprofiel benadrukt stabiliteit van onderwerpen, scènestijl en filmische beweging; controleer in het daadwerkelijke resultaat de gewenste identiteit, productmarkeringen en ruimtelijke plaatsing. Meerdere afbeeldingen geven de briefing meer informatie, maar bij de beoordeling moet nog steeds worden nagegaan welke kenmerken in de video zijn overgenomen.
De maker vermeldt uitvoer in 480p, 720p en 1080p voor de 1.1-generatiemodi, met een duur in gehele seconden van drie tot vijftien en MP4 met 24 fps. Het API-antwoord beschrijft H.264-codering. Tekst- en referentiegeneratie bieden onder andere 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21 en 21:9; generatie vanaf het eerste frame volgt de invoerafbeelding. Kies het formaat voor de bestemming en laat ruimte voor latere ondertitels of lay-outelementen. Controleer de daadwerkelijke kadrering van de geretourneerde video op het beoogde weergaveformaat.
De uitvoer van de modelfamilie bevat geluid. Geef voordracht of sfeer een duidelijke rol in de briefing en beoordeel dialoog, effecten of achtergrondmuziek samen met het beeld. Houd gesproken materiaal kort genoeg voor handeling en pauzes, in plaats van een lang script in één kort shot te persen. Controleer lipbeweging, sprekerstoewijzing en de daadwerkelijke woorden wanneer er spraak is. Acceptatie van een prompttaal bepaalt op zichzelf geen gegarandeerde uitspraak of afzonderlijke stemreferentie-invoer.
De gedocumenteerde procedure van de maker is asynchroon: een taak-ID volgt de verwerking en een geslaagd resultaat levert de videolocatie. Voor de resultaatlink en taakquery's is een geldigheid van vierentwintig uur gedocumenteerd. Bewaar de voltooide clip, referenties en prompt als revisieregistratie. De gidsen documenteren ook instellingen voor seed en watermerk. Een vaste seed kan vergelijken ondersteunen, maar de maker zegt expliciet dat deze geen identieke resultaten garandeert; beoordeel dus het geretourneerde resultaat in plaats van aan te nemen dat één instelling elk frame vastlegt.
HappyHorse 1.0 en 1.1 zijn afzonderlijke edities. De 1.1-uitvoertabel voegt 480p toe aan de 720p- en 1080p-opties van 1.0 en de 1.1-modelpagina's beschrijven verbeteringen in details, beweging en consistentie. Het afzonderlijk benoemde HappyHorse 1.0-videobewerkingsprofiel heeft eigen invoer en limieten en is geen bewerkingsmodus die ongemerkt aan 1.1 mag worden toegeschreven. Beoordeel de volledige 1.1-clip op identiteit, beweging, kadrering, tekst en geluid en maak daarna een specifieke correctie terwijl je de geslaagde delen van de briefing behoudt.
Ailoot Ultra · Video POST /v1/videos alibaba/happyhorse-1.1
alibaba/happyhorse-1.1Aan de slag
Alibaba HappyHorse 1.1 genereert korte video's met geluid op basis van een tekstbriefing, één afbeelding van het eerste frame of maximaal negen referentieafbeeldingen. De profielen van de maker leggen de nadruk op verbeterde beweging, huiddetails en consistentie van personages tussen clips. Uitvoer is MP4 van 3–15 seconden met 24 fps, met opties voor 480p, 720p of 1080p.
- Toegestane invoer
- Tekst
- Resultaten
- Video
Beschikbaar in Ailoot · invoer en methoden
Ailoot Ultra · Video POST /v1/videos
- Invoertypen
text- Uitvoertypen
video- Uitvoerformaat
- mp4
- Aantal uitvoerresultaten
- Tot en met 4 uitvoers
| Veld | Type | Vereiste | Waarden en limieten | Standaard |
|---|---|---|---|---|
Veldmodel | Typestring | VereisteVereist | Waarden en limieten alibaba/happyhorse-1.1 | Standaard— |
Veldprompt | Typestring | VereisteVereist | Waarden en limieten Minimumlengte: 1 Maximumaantal bytes: 10.000 Eenheid: UTF8-bytes | Standaard— |
Veldduration | Typeinteger | VereisteVereist | Waarden en limieten Minimum: 3 Maximum: 15 Eenheid: seconden | Standaard— |
Veldresolution | Typestring | VereisteVereist | Waarden en limieten 720p | Standaard— |
Veldaspect_ratio | Typestring | VereisteVereist | Waarden en limieten 16:9 | Standaard— |
Combinaties van invoermaterialen
Tekst naar video · Vereist: prompt
Methodeparameters en levenscyclus
| Parameter | Contract |
|---|---|
Parametercontent_type | Contractapplication/json |
Parameterrequired | Contractmodel, prompt, duration, resolution, aspect_ratio |
Parameterother_options | Contractfalse |
Parameterresolution | Contract720p |
Parameterprompt_max_bytes | Contract10000 |
Parameterduration_integer_range | Contract3, 15 |
Parameteraspect_ratio | Contract16:9 |
Parametergenerate_audio | Contractmoet worden weggelaten (niet false); AAC inbegrepen |
Parametermaterial_types | Contracttext |
Parameteradditional_properties | Contractfalse |
Methodealiasnamen: /v1/videos/generations, /videos, /videos/generations
Levenscyclus: 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
Maak eenmaal aan en sla de geretourneerde ID op.
Vraag de oorspronkelijke status periodiek op; bewaar elke voltooide asset en de duur.
Tarieven
Zo worden de uiteindelijke kosten berekend
De weergegeven tarieven geven een schatting van de kosten vóór de generatie. Het definitieve bedrag wordt berekend op basis van de kosten die voor de oorspronkelijke generatie zijn geregistreerd. De gemeten duur van de uitvoer en de geschatte hoeveelheden zijn niet de definitieve factureerbare hoeveelheid.
Tariefverwijzingen voegen geen verzoekopties toe. Ondersteunde parameters staan bij de geselecteerde methode.
- Snelle modus
- Niet opgegeven Wanneer de snelle modus is geselecteerd
- Flexmodus
- Niet opgegeven Wanneer de modus flex is geselecteerd
- Maximale redeneerinspanning
- Niet opgegeven Wanneer bij maximale redeneerinspanning de default-aanpassing wordt gebruikt
Geschatte tarieven ter vergelijking
Prijzen per configuratie
Koppel elke kostenpost aan de getoonde voorwaarden. Gebruik één tarief voor elke groep alternatieve configuraties.
| Configuratie | Tariefstaffel | Verwachte hoeveelheid | Rekeneenheid | Factureringsvoorwaarden | Kosten |
|---|---|---|---|---|---|
| ConfiguratieBasistarieven voor tokens | TariefstaffelBasistarief | Verwachte hoeveelheid— | Rekeneenheid— | Factureringsvoorwaarden— | Kosten Invoer · Invoertokens · Schatting uitsluitend ter vergelijking — / 1K tokens Uitvoer · Uitvoertokens · Schatting uitsluitend ter vergelijking — / 1K tokens Invoer · Cache lezen · Schatting uitsluitend ter vergelijking — / 1K tokens Invoer · Cache schrijven · Schatting uitsluitend ter vergelijking — / 1K tokens Invoer · Cache schrijven, 1 uur · Schatting uitsluitend ter vergelijking — / 1K tokens |
| ConfiguratieVideoprijs | Tariefstaffel— | Verwachte hoeveelheid— | Rekeneenheidper videoseconde | Factureringsvoorwaardenresolution: 1080p | Kosten Uitvoer · Videoprijs · Schatting uitsluitend ter vergelijking $0.2556 per videoseconde |
| ConfiguratieVideoprijs | Tariefstaffel— | Verwachte hoeveelheid— | Rekeneenheidper videoseconde | Factureringsvoorwaardenresolution: 720p | Kosten Uitvoer · Videoprijs · Schatting uitsluitend ter vergelijking $0.1976 per videoseconde |
| ConfiguratieGeschatte generatiekosten | Tariefstaffel— | Verwachte hoeveelheidschatting voor één generatie | Rekeneenheid— | Factureringsvoorwaarden— | Kosten Uitvoer · Geschatte generatiekosten · Schatting uitsluitend ter vergelijking $0.5928 schatting vóór generatie Deze schatting is geen extra bedrag of vast tarief voor de voltooide generatie. |
Ailoot reserveert vóór een verzoek een geschat bedrag. Na het resultaat worden de uiteindelijke kosten afgerekend op basis van het gemeten verbruik. Bij streaming gebeurt de afrekening op basis van de definitieve verbruiksregistratie. Zo werken reservering en afrekening →
Details van het referentietarief
Referentiestaffels op modelniveau veranderen de methodeselectie, kostenramingen of afschrijvingen niet. Voor de actieve kostenberekening gelden de tarieven van de geselecteerde Ailoot-methode.
Prijsreferenties voor videoconfiguraties
Prijzen per configuratie
Koppel elke kostenpost aan de getoonde voorwaarden. Gebruik één tarief voor elke groep alternatieve configuraties.
| Configuratie | Factureringsvoorwaarden | Kosten |
|---|---|---|
| ConfiguratieVideoprijs | Factureringsvoorwaardenresolution: 720p | Kosten Uitvoer · Videoprijs $0.1976 per videoseconde Gepubliceerde prijsreferentie voor de weergegeven configuratie. De definitieve kosten volgen de daadwerkelijk gefactureerde configuratie. |
| ConfiguratieVideoprijs | Factureringsvoorwaardenresolution: 1080p | Kosten Uitvoer · Videoprijs $0.2556 per videoseconde Gepubliceerde prijsreferentie voor de weergegeven configuratie. De definitieve kosten volgen de daadwerkelijk gefactureerde configuratie. |
Voorbeeldverzoeken
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
Resultaten ophalen en opslaan
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
Taakstatus controleren
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
Lezen van andere inhoud
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
Alle voltooide resultaten bewaren
Sla elke voltooide video of elk teruggegeven bestand op; haal elke daadwerkelijk teruggegeven bestands-URL op.
Voltooide data[] bevat alle ondertekende inhouds-URLs die u bezit. Haal elke geretourneerde URL op of gebruik het inhoudsendpoint met index ingesteld op een daadwerkelijke uitvoerindex. Een mislukte oorspronkelijke taak kan charge_pending_check retourneren; controleer die oorspronkelijke taak in plaats van deze opnieuw aan te maken.
Als het oorspronkelijke antwoord moet worden gecontroleerd
Lees de bestaande oorspronkelijke taak; dien een onzekere verzending nooit opnieuw in.
Maximumaantal uitvoerresultaten: 4.
Antwoordvelden
| Veld | Type | Betekenis |
|---|---|---|
Veldid | Typestring | Betekenis— |
Veldobject | Typestring | Betekenis— |
Veldmodel | Typestring | Betekenis— |
Veldstatus | Typestring | Betekenis— |
Velddata[] | Typesigned content URL | Betekenis— |
Veldcharge_pending_check | Typeboolean | Betekenis— |
Velderror.code | Typestring | Betekenis— |
Velderror.message | Typestring | Betekenis— |
Veldoperation_id | Typestring | BetekenisHTTP503 result_pending_check-antwoord voor oorspronkelijke status/inhoud: dezelfde oorspronkelijke openbare video-ID als id. |
Velderror.type | Typestring | Betekenisserver_error bij HTTP503 result_pending_check. |
Fouten en vervolgstappen
| Antwoord | Voorwaarde | Volgende stap |
|---|---|---|
Antwoord400 · invalid_request_error | VoorwaardeHet lezen van de ruwe verzoekbody mislukt voordat het videoprofiel wordt geparseerd | Volgende stapBewaar het geretourneerde antwoord en corrigeer de onleesbare verzoekbody. |
Antwoord422 · price_unavailable | VoorwaardeHet exacte videoprofiel kan niet worden geparseerd of voor het volledig geparseerde profiel is geen exacte prijskaart gereed | Volgende stapBewaar het antwoord; gebruik het volledige exact toegelaten profiel en de gepubliceerde kaart ervan. Deze tak wordt uitgevoerd vóór verzending naar een provider. |
Antwoord409 · video_not_ready | VoorwaardeOorspronkelijke resultaatinhoud nog niet beschikbaar | Volgende stapVraag de oorspronkelijke geretourneerde ID periodiek op en respecteer Retry-After. |
Antwoordserver_error | VoorwaardeHet geretourneerde antwoord geeft aan dat de bewerking of het resultaat moet worden gecontroleerd | Volgende stapBewaar de oorspronkelijk geretourneerde bewerkings-/taak-ID, de aanvraagheaders en het antwoord; blijf de ondersteunde leesacties voor die oorspronkelijke bewerking uitvoeren. Dien de aanmaakaanvraag niet opnieuw in. |
Antwoord503 · result_pending_check | VoorwaardeGET oorspronkelijke status/inhoud: de taak is niet gepubliceerd, de oorspronkelijke taak is niet failed/cancelled/expired en de lokale status is unknown of de oorspronkelijke taakstatus is completed. | Volgende stapBewaar de oorspronkelijke id en operation_id (dezelfde openbare video-ID), het antwoord en de headers; lees uitsluitend de oorspronkelijke status/inhoud. Dien nooit een nieuw generatieverzoek in. |
Aliasnamen
Modelaliasnamen
Ailoot Ultra alibaba/happyhorse-1.1
Aliasnamen voor methodepaden
/v1/videos/generations, /videos, /videos/generations
Gerelateerde aanroeper-ID’s
FAQ · Alibaba: HappyHorse 1.1
- Welke invoer en resultaten zijn beschikbaar?
POST /v1/videos·alibaba/happyhorse-1.1:text→video- Welke velden gebruikt het verzoek?
POST /v1/videos·alibaba/happyhorse-1.1:model,prompt,duration,resolution,aspect_ratio- Welke limieten gelden?
POST /v1/videos·alibaba/happyhorse-1.1:duration.minimum:3;duration.maximum:15