models

happyhorse-1.0-t2v

Markdown · JSON

happyhorse-1.0-t2v

HappyHorse 1.0 T2V zet een tekstuele scènebeschrijving om in een video. Kies via Ailoot een duur, resolutie en beeldverhouding voordat je de oorspronkelijke bewerking tot de voltooiing volgt.

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.

Gebruik happyhorse-1.0-t2v met model en prompt op /v1/videos. Beschrijf een scène rechtstreeks in tekst en selecteer vervolgens 720P of 1080P en een duur van 3 tot 15 seconden. De keuzes voor beeldverhouding omvatten liggend, staand, vierkant en de formaten 4:3 of 3:4.

Bouw de prompt op rond een onderwerp, zichtbare actie, omgeving en camerabeweging. Een bruikbare beschrijving kan beginnen met een close-up van een keramische kop en vervolgens opstijgende stoom beschrijven terwijl de camera geleidelijk de tafel onthult. Vermeld de beoogde eindkadrering en verlichting, zodat het shot een duidelijk visueel eindpunt heeft.

Verstuur het shot één keer via /v1/videos, bewaar de teruggegeven verzoek-ID en vraag de status van die oorspronkelijke bewerking op via /v1/videos/{request_id}. Sla alle voltooide video-uitvoer en het volledige antwoord op voordat je de actie, kadrering en eindtoestand met de beschrijving vergelijkt.

Ailoot Ultra · Video POST /v1/videos happyhorse-1.0-t2v

happyhorse-1.0-t2v

Overig /happyhorse-1.0-t2v

Aan de slag

HappyHorse 1.0 T2V zet een tekstuele scènebeschrijving om in een video. Kies via Ailoot een duur, resolutie en beeldverhouding voordat je de oorspronkelijke bewerking tot de voltooiing volgt.

Toegestane invoer
Tekst
Resultaten
Video

Beschikbaar in Ailoot · invoer en methoden

Ailoot Ultra · Video POST /v1/videos
Invoer
text
Uitvoer
video
VeldTypeVereisteWaarden en limietenStandaard
VeldmodelTypestringVereisteVereistWaarden en limieten
happyhorse-1.0-t2v
Voorwaarden: Gebruik precies deze Ailoot-routeringsselector.
Standaard—
VeldpromptTypestringVereisteVereistWaarden en limieten
Voorwaarden: Gebruik het gedocumenteerde veld en de vermelde keuzemogelijkheden van het gekozen model; laat een niet-opgegeven optionele waarde weg.
Standaard—
VeldresolutionTypestringVereisteOptioneelWaarden en limieten
720P, 1080P
Voorwaarden: Gebruik het gedocumenteerde veld en de vermelde keuzemogelijkheden van het gekozen model; laat een niet-opgegeven optionele waarde weg.
Standaard720P
Veldaspect_ratioTypestringVereisteOptioneelWaarden en limieten
16:9, 9:16, 1:1, 4:3, 3:4
Voorwaarden: Gebruik het gedocumenteerde veld en de vermelde keuzemogelijkheden van het gekozen model; laat een niet-opgegeven optionele waarde weg.
Standaard—
VelddurationTypeintegerVereisteOptioneelWaarden en limieten
3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
Voorwaarden: Gebruik het gedocumenteerde veld en de vermelde keuzemogelijkheden van het gekozen model; laat een niet-opgegeven optionele waarde weg.
Standaard5
Methodeparameters en levenscyclus
ParameterContract
Parametercontent_typeContractapplication/json
ParameterrequiredContractmodel, prompt
ParameteroptionalContractresolution, aspect_ratio, duration
Parametermaterial_typesContracttext
ParameterconditionsContractGebruik precies deze Ailoot-routeringsselector., Gebruik het gedocumenteerde veld en de vermelde keuzemogelijkheden van het gekozen model; laat een niet-opgegeven optionele waarde weg., Gebruik het gedocumenteerde veld en de vermelde keuzemogelijkheden van het gekozen model; laat een niet-opgegeven optionele waarde weg., Gebruik het gedocumenteerde veld en de vermelde keuzemogelijkheden van het gekozen model; laat een niet-opgegeven optionele waarde weg., Gebruik het gedocumenteerde veld en de vermelde keuzemogelijkheden van het gekozen model; laat een niet-opgegeven optionele waarde weg.

Methodealiasnamen: /v1/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/media/assets

GET /v1/media/assets/{asset_id}

Tarieven

Zo worden de uiteindelijke kosten berekend

De getoonde tarieven ramen de kosten vóór de generatie. De definitieve kosten worden berekend op basis van de kosten die voor de oorspronkelijke generatie zijn geregistreerd. De gemeten duur van het gegenereerde resultaat en de geraamde hoeveelheden vormen 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 geselecteerd is
Flex-modus
Niet opgegeven Wanneer de flex-modus geselecteerd is
Maximale redeneerinspanning
Niet opgegeven Wanneer voor 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.

ConfiguratieTariefstaffelVerwachte hoeveelheidUitvoerresolutieRekeneenheidFactureringsvoorwaardenKosten
ConfiguratieBasistarieven voor tokensTariefstaffelBasistariefVerwachte hoeveelheid—Uitvoerresolutie—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
ConfiguratieUitvoervideoTariefstaffel—Verwachte hoeveelheid—Uitvoerresolutie1080PRekeneenheidper videosecondeFactureringsvoorwaardenIndicatieve raming voor de uitvoervideo met een resolutie van 1080P. Het definitieve bedrag volgt de geregistreerde oorspronkelijke factuur.Kosten
Uitvoer · Uitvoervideo · Schatting uitsluitend ter vergelijking $0.552 per videoseconde

Dit is enkel een indicatieve raming; het definitieve bedrag volgt de geregistreerde oorspronkelijke factuur.

ConfiguratieUitvoervideoTariefstaffel—Verwachte hoeveelheid—Uitvoerresolutie720PRekeneenheidper videosecondeFactureringsvoorwaardenIndicatieve raming voor de uitvoervideo met een resolutie van 720P. Het definitieve bedrag volgt de geregistreerde oorspronkelijke factuur.Kosten
Uitvoer · Uitvoervideo · Schatting uitsluitend ter vergelijking $0.312 per videoseconde

Dit is enkel een indicatieve raming; het definitieve bedrag volgt de geregistreerde oorspronkelijke factuur.

ConfiguratieGeschatte generatiekostenTariefstaffel—Verwachte hoeveelheidschatting voor één generatieUitvoerresolutie—Rekeneenheid—Factureringsvoorwaarden—Kosten
Uitvoer · Geschatte generatiekosten · Schatting uitsluitend ter vergelijking $0.312 schatting vóór generatie

Deze raming is geen extra kost 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 →

Voorbeeldverzoeken

Ailoot Ultra · Video

curl · maak één keer aan en bewaar het volledige resultaatLees de oorspronkelijke taakSla elk voltooid eigen bestand op
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "happyhorse-1.0-t2v", "prompt": "A cat is walking on grass."}')

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
# Submit once. Retain the complete result, original identifiers and every response header.
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_STATUS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path("result.json").read_text())
u=urljoin("https://api.ailoot.ai",r["polling_url"])
p=urlsplit(u)
if p.scheme!="https" or p.netloc!="api.ailoot.ai" or p.username or p.password:
    raise SystemExit("Unexpected returned polling URL; preserve the response")
subprocess.run(["curl","--fail-with-body","--silent","--show-error",u,"-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"],"-D","status-headers.txt","-o","status.json"],check=True)
# Read this same original polling_url again while pending.
# Preserve unknown/result_pending_check; do not repeat creation.
PY_STATUS
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())
roles={}
def visit(v,path=""):
    if isinstance(v,dict):
        for k,x in v.items(): visit(x,path+"/"+k)
    elif isinstance(v,list):
        for i,x in enumerate(v): visit(x,path+"/"+str(i))
    elif isinstance(v,str):
        u=urljoin("https://api.ailoot.ai",v); p=urlsplit(u)
        if p.scheme=="https" and p.netloc=="api.ailoot.ai" and not p.username and not p.password and p.path.startswith("/v1/media/assets/") and p.path.endswith("/content"):
            roles.setdefault(u,[]).append(path)
visit(r)
if not roles: raise SystemExit("No completed owned assets; retain the original status")
manifest=[]
for i,(u,paths) in enumerate(roles.items()):
    target=Path(f"asset-{i}.bin")
    subprocess.run(["curl","--fail-with-body","--silent","--show-error",u,"-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"],"-o",str(target)],check=True)
    raw=target.read_bytes()
    if not raw: raise SystemExit("Empty asset; retain original status and metadata")
    ext="glb" if raw[:4]==b"glTF" else "png" if raw[:8]==b"\x89PNG\r\n\x1a\n" else "jpg" if raw[:3]==b"\xff\xd8\xff" else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "mp4" if raw[4:8]==b"ftyp" else "bin"
    name=f"asset-{i}.{ext}"
    if target.name!=name: target.rename(name)
    manifest.append({"file":name,"response_paths":paths,"bytes":len(raw)})
Path("asset-manifest.json").write_text(json.dumps(manifest,indent=2))
print("Saved",len(manifest),"unique owned assets; every response role retained")
PY_ASSETS

Resultaten ophalen en opslaan

Ailoot Ultra · Video

  • GET /v1/videos/{request_id}
  • GET /v1/videos/generations/{request_id}
  • GET /v1/videos/{request_id}/content
  • GET /v1/media/assets
  • GET /v1/media/assets/{asset_id}
Alle voltooide resultaten bewaren

Sla elke voltooide video of elk teruggegeven bestand op; haal elke daadwerkelijk teruggegeven bestands-URL op.

Bewaar het volledige antwoord en de headers, de oorspronkelijke identificatiecodes, alle werkelijke uitvoer en alle velden voor verbruik en boekhouding. Sla elke unieke asset die je toebehoort op en behoud elke rol die ernaar verwijst.

Als het oorspronkelijke antwoord moet worden gecontroleerd

Bewaar de teruggestuurde openbare taak- of operatie-id en alle headers. Raadpleeg uitsluitend de oorspronkelijke taak; unknown of result_pending_check geeft geen toestemming om opnieuw een taak aan te maken.

Antwoordvelden
VeldType
VeldidTypestring
Veldpolling_urlTypestring
Veldprovider_task_idTypestring
Veldtask_idTypestring
VeldstatusTypestring
Veldvideo_urlTypestring
Fouten en vervolgstappen
AntwoordVoorwaardeVolgende stap
Antwoord400 · invalid_request_errorVoorwaardeEen verplicht veld, modelselector, type of invoerrepresentatie is ongeldig.Volgende stapBekijk de teruggegeven validatiedetails voor u een afzonderlijk verzoek voorbereidt.
AntwoordVoorwaardeHet oorspronkelijke verzoek of resultaat is onbekend of moet nagekeken worden.Volgende stapBewaar de oorspronkelijke identificatoren en headers; raadpleeg enkel ondersteunde statusgegevens of bibliotheekrecords. Dien het aanmaakverzoek niet opnieuw in.

Aliasnamen

Modelaliasnamen

Ailoot Ultra happyhorse-1.0-t2v

Aliasnamen voor methodepaden

/v1/videos/generations

Gerelateerde aanroeper-ID’s

happyhorse-1.0-t2v

FAQ · happyhorse-1.0-t2v
Welke invoer en resultaten zijn beschikbaar?

POST /v1/videos · happyhorse-1.0-t2v: text → video

Welke velden gebruikt het verzoek?

POST /v1/videos · happyhorse-1.0-t2v: model, prompt, resolution, aspect_ratio, duration

Meer details

Verbind Ailoot met Claude Code, OpenCode, Hermes of je eigen applicatie.

Het bedrijf en zijn projectenportefeuille

Het bedrijf en zijn projectenportefeuille: miljoenen klanten; maandelijkse verkopen in de miljarden.

Koop tokens met korting.

Abonnementsvoordeel voor regelmatig gebruik. Promotiecodes geven tot 50% korting op tokens.

Abonnement
Kies een abonnement met korting voor je terugkerende verzoeken.
Promotiecode tot 50%
Vul de code bij aankoop in. De prijs wordt volgens de lopende actie herberekend.
Kosten in de geschiedenis
Model, tokens en bedrag worden per verzoek bewaard.

Kies een abonnement · Bekijk modelprijzen

Verbind de API met het product dat je verkoopt.

SaaS, apps en bots volgens de openbare aanbodvoorwaarden en licentieovereenkomst van Ailoot. Vraag voor doorverkoop een resellerlicentie aan.

Commerciële applicatie
Voeg tekst-, beeld-, video- en geluidsgeneratie aan betaalde functies van je service toe.
Resellerlicentie
Stuur een projectbeschrijving en toegangsschema. Vraag schriftelijke voorwaarden voor gebruik en doorverkoop.
Documenten op de site
Aanbodvoorwaarden, licentieovereenkomst en gegevensbeleid zijn vóór het verbinden beschikbaar.

Vraag een resellerlicentie aan · Aanbodvoorwaarden en licentieovereenkomst