happyhorse-1.0-t2v
HappyHorse 1.0 T2V omdanner en tekstlig scenebeskrivelse til en video. Vælg varighed, opløsning og billedformat via Ailoot, før du følger den oprindelige operation til afslutning.
Om modellen
Denne beskrivelse dækker modellens funktioner. Tilgængelige input, output og indstillinger i Ailoot står nedenfor for den valgte metode.
Brug happyhorse-1.0-t2v med model og prompt på /v1/videos. Beskriv en scene direkte i tekst, og vælg derefter 720P eller 1080P samt en varighed fra 3 til 15 sekunder. Valgene af billedformat dækker liggende, stående, kvadratisk samt formaterne 4:3 eller 3:4.
Byg prompten omkring et motiv, synlig handling, omgivelser og kamerabevægelse. En nyttig beskrivelse kan begynde med et nærbillede af en keramikkop og derefter beskrive damp, der stiger op, mens kameraet gradvist afslører bordet. Angiv det ønskede slutudsnit og belysningen, så optagelsen har et klart visuelt slutmål.
Indsend optagelsen én gang via /v1/videos, gem det returnerede request-ID, og forespørg på den oprindelige operation via /v1/videos/{request_id}. Gem alle færdige videoresultater og hele svaret, før du vurderer handling, billedudsnit og sluttilstand ud fra beskrivelsen.
Ailoot Ultra · Video POST /v1/videos happyhorse-1.0-t2v
happyhorse-1.0-t2vStart
HappyHorse 1.0 T2V omdanner en tekstlig scenebeskrivelse til en video. Vælg varighed, opløsning og billedformat via Ailoot, før du følger den oprindelige operation til afslutning.
- Accepterede input
- Tekst
- Resultater
- Video
Tilgængelig i Ailoot · input og metoder
Ailoot Ultra · Video POST /v1/videos
- Inputtyper
text- Outputtyper
video
| Felt | Type | Krav | Værdier og grænser | Standard |
|---|---|---|---|---|
Feltmodel | Typestring | KravPåkrævet | Værdier og grænser happyhorse-1.0-t2v Betingelser: Brug præcis denne routingvælger for Ailoot. | Standard— |
Feltprompt | Typestring | KravPåkrævet | Værdier og grænser Betingelser: Brug det dokumenterede felt og de angivne valgmuligheder for den valgte model; udelad en valgfri værdi, hvis den ikke er angivet. | Standard— |
Feltresolution | Typestring | KravValgfrit | Værdier og grænser 720P, 1080P Betingelser: Brug det dokumenterede felt og de angivne valgmuligheder for den valgte model; udelad en valgfri værdi, hvis den ikke er angivet. | Standard720P |
Feltaspect_ratio | Typestring | KravValgfrit | Værdier og grænser 16:9, 9:16, 1:1, 4:3, 3:4 Betingelser: Brug det dokumenterede felt og de angivne valgmuligheder for den valgte model; udelad en valgfri værdi, hvis den ikke er angivet. | Standard— |
Feltduration | Typeinteger | KravValgfrit | Værdier og grænser 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 Betingelser: Brug det dokumenterede felt og de angivne valgmuligheder for den valgte model; udelad en valgfri værdi, hvis den ikke er angivet. | Standard5 |
Metodeparametre og livscyklus
| Parameter | Kontrakt |
|---|---|
Parametercontent_type | Kontraktapplication/json |
Parameterrequired | Kontraktmodel, prompt |
Parameteroptional | Kontraktresolution, aspect_ratio, duration |
Parametermaterial_types | Kontrakttext |
Parameterconditions | KontraktBrug præcis denne routingvælger for Ailoot., Brug det dokumenterede felt og de angivne valgmuligheder for den valgte model; udelad en valgfri værdi, hvis den ikke er angivet., Brug det dokumenterede felt og de angivne valgmuligheder for den valgte model; udelad en valgfri værdi, hvis den ikke er angivet., Brug det dokumenterede felt og de angivne valgmuligheder for den valgte model; udelad en valgfri værdi, hvis den ikke er angivet., Brug det dokumenterede felt og de angivne valgmuligheder for den valgte model; udelad en valgfri værdi, hvis den ikke er angivet. |
Metodealiaser: /v1/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/media/assets
GET /v1/media/assets/{asset_id}
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 | Outputopløsning | Afregningsenhed | Afregningsbetingelser | Beløb |
|---|---|---|---|---|---|---|
| KonfigurationGrundpriser for tokens | TakstplanGrundtakst | Forventet mængde— | Outputopløsning— | 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 |
| KonfigurationResulterende video | Takstplan— | Forventet mængde— | Outputopløsning1080P | Afregningsenhedpr. videosekund | AfregningsbetingelserVejledende estimat for den resulterende video i 1080P-opløsning. Den endelige afregning følger den registrerede originalfaktura. | Beløb Output · Resulterende video · Estimat kun til sammenligning $0.552 pr. videosekund Kun et vejledende estimat; den endelige afregning følger den registrerede originalfaktura. |
| KonfigurationResulterende video | Takstplan— | Forventet mængde— | Outputopløsning720P | Afregningsenhedpr. videosekund | AfregningsbetingelserVejledende estimat for den resulterende video i 720P-opløsning. Den endelige afregning følger den registrerede originalfaktura. | Beløb Output · Resulterende video · Estimat kun til sammenligning $0.312 pr. videosekund Kun et vejledende estimat; den endelige afregning følger den registrerede originalfaktura. |
| KonfigurationAnslået genereringsomkostning | Takstplan— | Forventet mængdeestimat for én generering | Outputopløsning— | Afregningsenhed— | Afregningsbetingelser— | Beløb Output · Anslået genereringsomkostning · Estimat kun til sammenligning $0.312 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 →
Eksempelanmodninger
Ailoot Ultra · Video
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
Hent og gem resultater
Ailoot Ultra · Video
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Behold alle færdige resultater
Gem hver færdig video eller returneret fil; hent hver faktisk returneret fil-URL.
Behold hele svaret og alle headere, de oprindelige identifikatorer, hvert faktisk output og alle felter til forbrug og afregning. Gem hvert entydigt aktiv, du ejer, og behold alle roller, der henviser til det.
Hvis det oprindelige svar skal kontrolleres
Behold det returnerede offentlige opgave- eller operations-id og alle headere. Læs kun den oprindelige opgave; unknown eller result_pending_check giver ikke tilladelse til en ny oprettelse.
Svarfelter
| Felt | Type |
|---|---|
Feltid | Typestring |
Feltpolling_url | Typestring |
Feltprovider_task_id | Typestring |
Felttask_id | Typestring |
Feltstatus | Typestring |
Feltvideo_url | Typestring |
Fejl og næste trin
| Svar | Betingelse | Næste trin |
|---|---|---|
Svar400 · invalid_request_error | BetingelseEt påkrævet felt, en modelvælger, en type eller en inputrepræsentation er ugyldig. | Næste trinUndersøg de returnerede valideringsoplysninger, før du forbereder en separat anmodning. |
Svar | BetingelseDen oprindelige anmodning eller resultatet er ukendt eller skal kontrolleres. | Næste trinBevar de oprindelige identifikatorer og headere; læs kun understøttede status- eller biblioteksposter. Indsend ikke oprettelsesanmodningen igen. |
Aliaser
Modelaliaser
Ailoot Ultra happyhorse-1.0-t2v
Aliaser for metodestier
/v1/videos/generations
Relaterede kalder-ID’er
FAQ · happyhorse-1.0-t2v
- Hvilke input og resultater er tilgængelige?
POST /v1/videos·happyhorse-1.0-t2v:text→video- Hvilke felter bruger anmodningen?
POST /v1/videos·happyhorse-1.0-t2v:model,prompt,resolution,aspect_ratio,duration