happyhorse-1.0-t2v
HappyHorse 1.0 T2V omgjør en tekstbeskrivelse av en scene til en video. Velg varighet, oppløsning og sideforhold gjennom Ailoot før du følger den opprinnelige operasjonen til fullføring.
Om modellen
Denne beskrivelsen dekker modellens funksjoner. Tilgjengelige inndata, utdata og alternativer i Ailoot er oppført nedenfor for den valgte metoden.
Bruk happyhorse-1.0-t2v med model og prompt i /v1/videos. Beskriv en scene direkte i tekst, og velg deretter 720P eller 1080P og en varighet fra 3 til 15 sekunder. Valgene for sideforhold dekker liggende, stående, kvadratisk og formatene 4:3 eller 3:4.
Bygg instruksjonen rundt et motiv, en synlig handling, omgivelser og kamerabevegelse. En nyttig beskrivelse kan begynne med et nærbilde av en keramikkopp, og deretter beskrive damp som stiger mens kameraet gradvis avdekker bordet. Angi ønsket sluttutsnitt og belysning, slik at opptaket har et tydelig visuelt mål.
Send inn opptaket én gang gjennom /v1/videos, behold den returnerte forespørsels-ID-en og poll den opprinnelige operasjonen gjennom /v1/videos/{request_id}. Lagre alle ferdige videoutdata og hele svaret før du vurderer handling, utsnitt og sluttilstand opp mot oppgavebeskrivelsen.
Ailoot Ultra · Video POST /v1/videos happyhorse-1.0-t2v
happyhorse-1.0-t2vStart
HappyHorse 1.0 T2V omgjør en tekstbeskrivelse av en scene til en video. Velg varighet, oppløsning og sideforhold gjennom Ailoot før du følger den opprinnelige operasjonen til fullføring.
- Godkjente inndata
- Tekst
- Resultater
- Video
Tilgjengelig i Ailoot · inndata & metoder
Ailoot Ultra · Video POST /v1/videos
- Inndatatyper
text- Utdatatyper
video
| Felt | Type | Krav | Verdier & grenser | Standard |
|---|---|---|---|---|
Feltmodel | Typestring | KravPåkrevd | Verdier & grenser happyhorse-1.0-t2v Vilkår: Bruk nøyaktig denne rutingsvelgeren for Ailoot. | Standard— |
Feltprompt | Typestring | KravPåkrevd | Verdier & grenser Vilkår: Bruk det dokumenterte feltet og de angitte alternativene for den valgte modellen; utelat en valgfri verdi som ikke er angitt. | Standard— |
Feltresolution | Typestring | KravValgfritt | Verdier & grenser 720P, 1080P Vilkår: Bruk det dokumenterte feltet og de angitte alternativene for den valgte modellen; utelat en valgfri verdi som ikke er angitt. | Standard720P |
Feltaspect_ratio | Typestring | KravValgfritt | Verdier & grenser 16:9, 9:16, 1:1, 4:3, 3:4 Vilkår: Bruk det dokumenterte feltet og de angitte alternativene for den valgte modellen; utelat en valgfri verdi som ikke er angitt. | Standard— |
Feltduration | Typeinteger | KravValgfritt | Verdier & grenser 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 Vilkår: Bruk det dokumenterte feltet og de angitte alternativene for den valgte modellen; utelat en valgfri verdi som ikke er angitt. | Standard5 |
Metodeparametere og livssyklus
| Parameter | Avtale |
|---|---|
Parametercontent_type | Avtaleapplication/json |
Parameterrequired | Avtalemodel, prompt |
Parameteroptional | Avtaleresolution, aspect_ratio, duration |
Parametermaterial_types | Avtaletext |
Parameterconditions | AvtaleBruk nøyaktig denne rutingsvelgeren for Ailoot., Bruk det dokumenterte feltet og de angitte alternativene for den valgte modellen; utelat en valgfri verdi som ikke er angitt., Bruk det dokumenterte feltet og de angitte alternativene for den valgte modellen; utelat en valgfri verdi som ikke er angitt., Bruk det dokumenterte feltet og de angitte alternativene for den valgte modellen; utelat en valgfri verdi som ikke er angitt., Bruk det dokumenterte feltet og de angitte alternativene for den valgte modellen; utelat en valgfri verdi som ikke er angitt. |
Metodealiaser: /v1/videos/generations
Livssyklus: 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
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 | Utdataoppløsning | Faktureringsenhet | Faktureringsvilkår | Kostnad |
|---|---|---|---|---|---|---|
| KonfigurasjonGrunnpriser for tokener | PrisplanGrunnsats | Forventet mengde— | Utdataoppløsning— | 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 |
| KonfigurasjonGenerert video | Prisplan— | Forventet mengde— | Utdataoppløsning1080P | Faktureringsenhetper videosekund | FaktureringsvilkårVeiledende anslag for generert video med oppløsningen 1080P. Den endelige belastningen følger den registrerte originalfakturaen. | Kostnad Utdata · Utdatavideo · Estimat kun for sammenligning $0.552 per videosekund Bare et veiledende anslag; den endelige belastningen følger den registrerte originalfakturaen. |
| KonfigurasjonGenerert video | Prisplan— | Forventet mengde— | Utdataoppløsning720P | Faktureringsenhetper videosekund | FaktureringsvilkårVeiledende anslag for generert video med oppløsningen 720P. Den endelige belastningen følger den registrerte originalfakturaen. | Kostnad Utdata · Utdatavideo · Estimat kun for sammenligning $0.312 per videosekund Bare et veiledende anslag; den endelige belastningen følger den registrerte originalfakturaen. |
| KonfigurasjonAnslått genereringskostnad | Prisplan— | Forventet mengdeestimat for én generering | Utdataoppløsning— | Faktureringsenhet— | Faktureringsvilkår— | Kostnad Utdata · Anslått genereringskostnad · Estimat kun for sammenligning $0.312 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 →
Eksempelforespørsler
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
Motta og lagre 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 ferdige resultater
Lagre hver ferdige video eller returnerte fil; hent hver faktisk returnerte ressurs-URL.
Behold hele svaret og alle svarhoder, opprinnelige identifikatorer, alle faktiske utdata og alle felt for forbruk og avregning. Lagre hver unike ressurs du eier, og behold alle roller som viser til den.
Hvis det opprinnelige svaret må kontrolleres
Behold den returnerte offentlige oppgave- eller operasjons-ID-en og alle svarhoder. Les bare den opprinnelige oppgaven; unknown eller result_pending_check gir ikke tillatelse til en ny opprettelse.
Svarfelter
| Felt | Type |
|---|---|
Feltid | Typestring |
Feltpolling_url | Typestring |
Feltprovider_task_id | Typestring |
Felttask_id | Typestring |
Feltstatus | Typestring |
Feltvideo_url | Typestring |
Feil og neste trinn
| Svar | Vilkår | Neste trinn |
|---|---|---|
Svar400 · invalid_request_error | VilkårEt obligatorisk felt, en modellvelger, en type eller en representasjon av inndata er ugyldig. | Neste trinnUndersøk de returnerte valideringsdetaljene før du forbereder en separat forespørsel. |
Svar | VilkårDen opprinnelige forespørselen eller resultatet er ukjent eller må kontrolleres. | Neste trinnBehold opprinnelige identifikatorer og hoder; les bare status- eller biblioteksposter som støttes. Ikke send opprettelsesforespørselen på nytt. |
Aliaser
Modellaliaser
Ailoot Ultra happyhorse-1.0-t2v
Aliaser for metodestier
/v1/videos/generations
Tilknyttede anroper-ID-er
FAQ · happyhorse-1.0-t2v
- Hvilke inndata og resultater er tilgjengelige?
POST /v1/videos·happyhorse-1.0-t2v:text→video- Hvilke felt bruker forespørselen?
POST /v1/videos·happyhorse-1.0-t2v:model,prompt,resolution,aspect_ratio,duration