modeller

happyhorse-1.0-i2v

Markdown · JSON

happyhorse-1.0-i2v

HappyHorse 1.0 I2V kombinerar en bild och en rörelseprompt för att skapa en video. Välj längd och upplösning och följ sedan den ursprungliga klippbegäran via Ailoot.

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.

Använd happyhorse-1.0-i2v med model, prompt och image i /v1/videos. Den bifogade bilden ger det visuella utgångsmaterialet; prompten beskriver hur motivet och kameran ska röra sig. Välj en längd på 3 till 15 sekunder och upplösningen 720P eller 1080P.

Förbered en bild med ett tydligt motiv och tillräckligt med utrymme för den avsedda handlingen. En rörelsebeskrivning kan be motivet vända sig mot kameran medan bakgrunden står stilla, eller begära en gradvis kamerarörelse runt en produkt. Ange slutposen och de element som ska bevaras i stället för att packa in orelaterade scenbyten i klippet.

Skicka in klippet en gång via /v1/videos, spara det returnerade begärans-ID:t och kontrollera statusen för samma ursprungliga operation via /v1/videos/{request_id} med återkommande förfrågningar. Spara alla färdiga videoutdata och hela svaret innan du granskar handlingen, bildutsnittet och sluttillståndet mot uppgiftsbeskrivningen.

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

happyhorse-1.0-i2v

Annat /happyhorse-1.0-i2v

Start

HappyHorse 1.0 I2V kombinerar en bild och en rörelseprompt för att skapa en video. Välj längd och upplösning och följ sedan den ursprungliga klippbegäran via Ailoot.

Godkända indata
Text · Bilder
Resultat
Video

Tillgängligt i Ailoot · indata & metoder

Ailoot Ultra · Video POST /v1/videos
Indatatyper
text, image
Utdatatyper
video
FältTypKravVärden & gränserStandard
FältmodelTypstringKravObligatorisktVärden & gränser
happyhorse-1.0-i2v
Villkor: Använd exakt denna routningsväljare för Ailoot.
Standard—
FältpromptTypstringKravObligatorisktVärden & gränser
Villkor: Använd det dokumenterade fältet och de angivna alternativen för den valda modellen; utelämna ett valfritt värde som inte har angetts.
Standard—
FältimageTypstringKravObligatorisktVärden & gränser
Villkor: Ange bildens verkliga, tillgängliga URL. En lista godtas endast där parameterschemat anger en array.
Standard—
FältresolutionTypstringKravValfrittVärden & gränser
720P, 1080P
Villkor: Använd det dokumenterade fältet och de angivna alternativen för den valda modellen; utelämna ett valfritt värde som inte har angetts.
Standard720P
FältdurationTypintegerKravValfrittVärden & gränser
3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
Villkor: Använd det dokumenterade fältet och de angivna alternativen för den valda modellen; utelämna ett valfritt värde som inte har angetts.
Standard5
Metodparametrar och livscykel
ParameterAvtal
Parametercontent_typeAvtalapplication/json
ParameterrequiredAvtalmodel, prompt, image
ParameteroptionalAvtalresolution, duration
Parametermaterial_typesAvtaltext, image
ParameterconditionsAvtalAnvänd exakt denna routningsväljare för Ailoot., Använd det dokumenterade fältet och de angivna alternativen för den valda modellen; utelämna ett valfritt värde som inte har angetts., Ange bildens verkliga, tillgängliga URL. En lista godtas endast där parameterschemat anger en array., Använd det dokumenterade fältet och de angivna alternativen för den valda modellen; utelämna ett valfritt värde som inte har angetts., Använd det dokumenterade fältet och de angivna alternativen för den valda modellen; utelämna ett valfritt värde som inte har angetts.

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

GET /v1/media/assets/{asset_id}

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.

KonfigurationPrislistaPrognostiserad mängdUtdataupplösningDebiteringsenhetDebiteringsvillkorAvgift
KonfigurationGrundpriser för tokenPrislistaGrundprisPrognostiserad mängd—Utdataupplösning—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
KonfigurationGenererad videoPrislista—Prognostiserad mängd—Utdataupplösning1080PDebiteringsenhetper videosekundDebiteringsvillkorVägledande uppskattning för genererad video med upplösningen 1080P. Den slutliga debiteringen följer den registrerade originalfakturan.Avgift
Utdata · Utgående video · Uppskattning endast för jämförelse $0.552 per videosekund

Endast en vägledande uppskattning; den slutliga debiteringen följer den registrerade originalfakturan.

KonfigurationGenererad videoPrislista—Prognostiserad mängd—Utdataupplösning720PDebiteringsenhetper videosekundDebiteringsvillkorVägledande uppskattning för genererad video med upplösningen 720P. Den slutliga debiteringen följer den registrerade originalfakturan.Avgift
Utdata · Utgående video · Uppskattning endast för jämförelse $0.312 per videosekund

Endast en vägledande uppskattning; den slutliga debiteringen följer den registrerade originalfakturan.

KonfigurationUppskattad genereringskostnadPrislista—Prognostiserad mängduppskattning för en genereringUtdataupplösning—Debiteringsenhet—Debiteringsvillkor—Avgift
Utdata · Uppskattad genereringskostnad · Uppskattning endast för jämförelse $0.312 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 →

Exempelbegäranden

Ailoot Ultra · Video

curl · skapa en gång och bevara hela resultatetLäs den ursprungliga uppgiftenSpara varje färdig resurs som tillhör dig
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
: "${AILOOT_IMAGE_URL:?Set an actual customer material or documented value}"
export AILOOT_IMAGE_URL
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "happyhorse-1.0-i2v", "prompt": "A cat is walking on grass.", "image": "YOUR_ACCESSIBLE_IMAGE_URL"}')
p['image']=os.environ['AILOOT_IMAGE_URL']
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

Ta emot och spara resultat

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}
Behåll alla färdiga resultat

Spara varje färdig video eller returnerad fil; hämta varje faktiskt returnerad resurs-URL.

Behåll hela svaret och svarshuvudena, ursprungliga identifierare, varje faktiskt resultat och alla förbruknings- och redovisningsfält. Spara varje unik tillgång som du äger och behåll varje roll som pekar på den.

Om det ursprungliga svaret behöver kontrolleras

Behåll det returnerade offentliga uppgifts- eller operations-id:t och samtliga svarshuvuden. Läs endast den ursprungliga uppgiften; unknown eller result_pending_check ger inte tillstånd att skapa på nytt.

Svarsfält
FältTyp
FältidTypstring
Fältpolling_urlTypstring
Fältprovider_task_idTypstring
Fälttask_idTypstring
FältstatusTypstring
Fältvideo_urlTypstring
Fel och nästa steg
SvarVillkorNästa steg
Svar400 · invalid_request_errorVillkorEtt obligatoriskt fält, en modellväljare, en typ eller en representation av indata är ogiltig.Nästa stegGranska den returnerade valideringsinformationen innan du förbereder en separat begäran.
SvarVillkorDen ursprungliga begäran eller resultatet är okänt eller behöver kontrolleras.Nästa stegBehåll ursprungliga identifierare och huvuden; läs endast status- eller biblioteksposter som stöds. Skicka inte skapandebegäran igen.

Alias

Modellalias

Ailoot Ultra happyhorse-1.0-i2v

Alias för metodsökvägar

/v1/videos/generations

Relaterade anropar-ID:n

happyhorse-1.0-i2v

FAQ · happyhorse-1.0-i2v
Vilka indata och resultat finns?

POST /v1/videos · happyhorse-1.0-i2v: text, image → video

Vilka fält använder begäran?

POST /v1/videos · happyhorse-1.0-i2v: model, prompt, image, resolution, duration

Fler detaljer

Anslut Ailoot till Claude Code, OpenCode, Hermes eller din app.

Företaget och dess projektportfölj

Företaget och dess projektportfölj: miljontals kunder; månatlig försäljning för miljarder.

Köp token med rabatt.

Prenumerationsrabatt för återkommande arbete. Kampanjkoder ger upp till 50% vid tokenköp.

Prenumeration
Välj en rabatterad plan för återkommande anrop.
Kampanjkod upp till 50%
Ange koden vid köpet. Priset räknas om enligt kampanjen.
Kostnader i historiken
Modell, token och belopp sparas för varje anrop.

Välj prenumeration · Se modellpriser

Anslut API till produkten som du säljer.

SaaS, appar och botar enligt Ailoots officiella villkor och licensavtal. Begär återförsäljarlicens för vidareförsäljning.

Kommersiell applikation
Bygg text-, bild-, video- och ljudgenerering i tjänstens betalda funktioner.
Återförsäljarlicens
Skicka projektbeskrivning och åtkomstupplägg. Begär skriftliga villkor för användning och vidareförsäljning.
Dokument på webbplatsen
Officiella villkor, licensavtal och databehandlingspolicy finns tillgängliga före anslutning.

Begär återförsäljarlicens · Officiella villkor och licensavtal