modeller

happyhorse-1.1-t2v

Markdown · JSON

happyhorse-1.1-t2v

Modell för att skapa korta videor med ljud utifrån en textbeskrivning. Passar för scener där rörelser, komposition och visuell stil anges med ord.

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.

HappyHorse-1.1-T2V är en modell från Alibaba för att skapa korta videoscener utifrån text. Beskrivningen anger karaktärer, handlingar, miljö och visuellt uttryck. Det här läget behöver ingen startbild. Modellen skapar en videosekvens och kan även skapa tillhörande ljud.

Tillverkaren framhåller förståelse av scenens innebörd, filmisk iscensättning och uttrycksfulla rörelser. Texten kan ange stämningen, karaktärens handlingar, objektens beteende och den fysiska dynamiken. Det gör det möjligt att bygga scenen kring det som ska hända och sedan styra den med ljus, bildvinkel och kamerarörelser.

Iscensättning med ord

Instruktionen är obligatorisk och kan vara på vilket språk som helst. Den kan innehålla upp till 5000 icke-kinesiska eller 2500 kinesiska tecken. Den överskjutande delen tas bort. Handlingen, omgivningen och viktiga visuella detaljer behöver beskrivas inom denna gräns. En sådan iscensättning lämnar utrymme för modellen att skapa en ny scen i stället för att ange en färdig första bildruta.

I det här läget är texten det huvudsakliga styrmaterialet. En karaktärs eller ett föremåls specifika utseende kan beskrivas med ord. Möjligheten att överföra utseendet med separata bilder hör till ett annat läge i modellfamiljen. Resultatet beror på hela instruktionen, så samma inledande slumpfrö hjälper till att få liknande varianter men garanterar inte en exakt upprepning.

Video och ljud

För HappyHorse-1.1 väljs videons längd som ett heltal från 3 till 15 sekunder. Upplösningarna 480P, 720P och 1080P stöds. Den färdiga filen har formatet MP4 och 24 bildrutor per sekund. Modellen kan generera ljud tillsammans med bilden och knyta ljudet till det som händer i scenen.

Bildens form kan anges i förväg. Tillgängliga bildförhållanden är 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21 och 21:9, från en bred filmisk bild till en långsmal stående video. Upplösning, format och längd avgör resultatets dimensioner. Innehåll och rörelser anges med texten.

Den här varianten är avsedd att skapa en ny scen utifrån en idé uttryckt i ord. Den passar för en kort episod, en visuell idé eller en stämningsfull video där iscensättningen behöver formuleras i text.

Ailoot · Videor POST /v1/videos/generations happyhorse-1.1-t2v

happyhorse-1.1-t2v

Alibaba /happyhorse-1.1-t2v
Modell-ID
  • happyhorse-1.1-t2v
  • happyhorse-t2v
  • happyhorse-t2v-latest

Start

Modell för att skapa korta videor med ljud utifrån en textbeskrivning. Passar för scener där rörelser, komposition och visuell stil anges med ord.

Godkända indata
Text
Resultat
Video

Tillgängligt i Ailoot · indata & metoder

Ailoot · Videor POST /v1/videos/generations
Indatatyper
text
Utdatatyper
video
Utdataformat
mp4
FältTypKravVärden & gränserStandard
FältmodelTypstringKravObligatorisktVärden & gränser
happyhorse-1.1-t2v
Standard—
FältpromptTypstringKravObligatorisktVärden & gränser
Minsta längd: 1
Standard—
FältdurationTypintegerKravValfrittVärden & gränser
Minimum: 3
Maximum: 15
Enhet: sekunder
Standard5
FältresolutionTypstringKravValfrittVärden & gränser
480P, 720P, 1080P
Standard720P
FältratioTypstringKravValfrittVärden & gränser
16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9
Standard16:9
Fältimage_urlsTyphttps_url|data_image_url[]KravValfrittVärden & gränser
Minsta antal objekt: 0
Maximalt antal objekt: 0
Maximalt antal avkodade byte: 20 971 520
MIME-typer: image/jpeg, image/png, image/webp
Standard—
Kombinationer av indatamaterial

Text till video · Krävs: prompt

Metodparametrar och livscykel
ParameterAvtal
Parametercontent_typeAvtalapplication/json
ParameterrequiredAvtalmodel, prompt
Parametermaterial_typesAvtaltext
ParameteroptionalAvtalduration, resolution, ratio
Parameterduration_integer_rangeAvtal3, 15
Parameterdefault_durationAvtal5
ParameterresolutionAvtal480P, 720P, 1080P
Parameterdefault_resolutionAvtal720P
ParameterratioAvtal16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9
Parameterratio_must_omitAvtalfalse
Parameterimage_urlsAvtal{"max_count":0}

Livscykel: 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

Metodernas strukturer och ID:n är exakta; leverantörens funktioner är åtskilda från att begäran tillåts.

Priser

Priser för Ailoot-metoder

Ailoot VideorPOST /v1/videos/generations
Utdata
0,18 US$ per sekund vid 1080p
Utdata
0,07 US$ per sekund vid 480p
Utdata
0,14 US$ per sekund vid 720p

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 · Videor

Scenexempel
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_PROMPT_FILE:?Set your actual UTF-8 scene brief}"
export AILOOT_PROMPT_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "happyhorse-1.1-t2v", "prompt": "", "duration": 5, "resolution": "720P", "ratio": "16:9"}')
f=Path(os.environ["AILOOT_PROMPT_FILE"])
if not f.is_file():raise SystemExit("Choose your actual UTF-8 brief")
p['prompt']=f.read_text(encoding="utf-8")
if not p['prompt'].strip():raise SystemExit("Brief must contain text")
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/generations \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
print(json.dumps(json.loads(Path("result.json").read_text()),ensure_ascii=False,indent=2))
PY_RESULT

Ta emot och spara resultat

Ailoot · Videor

mp4

  • GET /v1/videos/{request_id}
  • GET /v1/videos/generations/{request_id}
  • GET /v1/videos/{request_id}/content
  • GET /v1/videos/generations/{request_id}/content
Kontrollera jobbstatus
GET status
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/generations/$operation_id" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o status.json
python3 - <<'PY_STATUS'
import json
from pathlib import Path
r=json.loads(Path("status.json").read_text())
print(json.dumps(r))
if r.get("status")=="completed":
    for x in r.get("data",[]):print(x)
PY_STATUS
Spara alla färdiga resurser
GET alla färdiga resurser
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}"
export AILOOT_STATUS_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
from urllib.parse import urlsplit,urljoin
f=Path(os.environ["AILOOT_STATUS_FILE"])
if not f.is_file():raise SystemExit("Choose the actual completed status file")
r=json.loads(f.read_text())
if r.get("status")!="completed" or not isinstance(r.get("data"),list) or not r["data"]:raise SystemExit("Wait for a completed status with asset paths")
urls=[]
for x in r["data"]:
    if not isinstance(x,str) or "\n" in x or "\r" in x:raise SystemExit("Invalid asset path")
    u=urljoin("https://api.ailoot.ai",x)
    z=urlsplit(u)
    if z.scheme!="https" or z.netloc!="api.ailoot.ai" or z.username or z.password:raise SystemExit("Use the actual Ailoot asset paths from status")
    urls.append(u)
Path("asset-urls.txt").write_text("\n".join(urls)+"\n")
PY_REQUEST
index=0
while IFS= read -r asset_url; do
  curl --fail-with-body --silent --show-error "$asset_url" \
    -H "Authorization: Bearer $AILOOT_API_KEY" -o "video-${index}.mp4"
  index=$((index + 1))
done < asset-urls.txt
Andra innehållsläsningar
GET innehåll
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/generations/$operation_id/content" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o video.mp4
Behåll alla färdiga resultat

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

Bevara varje returnerad datapost och utdataindex. content_url avser endast det första; hämta varje faktisk innehållssökväg och tillgång. GET av innehåll utan index omfattar inte alla resultat.

Om det ursprungliga svaret behöver kontrolleras

Läs det befintliga ursprungliga jobbet; skicka aldrig en oklar sändning igen.

Svarsfält
FältTyp
FältidTypstring
FältobjectTypstring
FältmodelTypstring
FältstatusTypstring
Fältcontent_urlTypsigned URL
Fältdata[]Typsigned URL
FältusageTypobject
Fältresult_pending_checkTypboolean
Fel och nästa steg
SvarVillkorNästa steg
Svar400 · invalid_request_errorVillkorOgiltiga obligatoriska fält, ogiltig representation av underlaget eller ogiltigt parametervärdeNästa stegKorrigera de angivna fälten före en ny begäran om att skapa.
Svar409 · video_not_readyVillkorDet ursprungliga resultatinnehållet är ännu inte tillgängligtNästa stegKontrollera det ursprungliga returnerade ID:t och följ Retry-After.
Svarserver_errorVillkorDet returnerade svaret anger att operationen eller resultatet behöver kontrollerasNästa stegSpara det ursprungliga operations- eller uppgifts-ID som returnerades, förfrågans headers och svaret. Fortsätt att läsa den ursprungliga operationen med de läsmetoder som stöds. Skicka inte skapandeförfrågan igen.

Alias

Modellalias

Ailoot happyhorse-1.1-t2v, happyhorse-t2v, happyhorse-t2v-latest

Alias för metodsökvägar

Använd metodsökvägarna som visas ovan.

Relaterade anropar-ID:n

happyhorse-1.1-t2v, happyhorse-t2v, happyhorse-t2v-latest

Ailoot · Videor POST /v1/videos/generations happyhorse-t2v

happyhorse-t2v

Alibaba /happyhorse-t2v
Modell-ID
  • happyhorse-1.1-t2v
  • happyhorse-t2v
  • happyhorse-t2v-latest

Start

Modell för att skapa korta videor med ljud utifrån en textbeskrivning. Passar för scener där rörelser, komposition och visuell stil anges med ord.

Godkända indata
Text
Resultat
Video

Tillgängligt i Ailoot · indata & metoder

Ailoot · Videor POST /v1/videos/generations
Indatatyper
text
Utdatatyper
video
Utdataformat
mp4
FältTypKravVärden & gränserStandard
FältmodelTypstringKravObligatorisktVärden & gränser
happyhorse-t2v
Standard—
FältpromptTypstringKravObligatorisktVärden & gränser
Minsta längd: 1
Standard—
FältdurationTypintegerKravValfrittVärden & gränser
Minimum: 3
Maximum: 15
Enhet: sekunder
Standard5
FältresolutionTypstringKravValfrittVärden & gränser
480P, 720P, 1080P
Standard720P
FältratioTypstringKravValfrittVärden & gränser
16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9
Standard16:9
Fältimage_urlsTyphttps_url|data_image_url[]KravValfrittVärden & gränser
Minsta antal objekt: 0
Maximalt antal objekt: 0
Maximalt antal avkodade byte: 20 971 520
MIME-typer: image/jpeg, image/png, image/webp
Standard—
Kombinationer av indatamaterial

Text till video · Krävs: prompt

Metodparametrar och livscykel
ParameterAvtal
Parametermaterial_typesAvtaltext
ParameterrequiredAvtalnull
Parameteroptional_controlsAvtalnull

Livscykel: 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

Metodernas strukturer och ID:n är exakta; leverantörens funktioner är åtskilda från att begäran tillåts.

Priser

Priser för Ailoot-metoder

Ailoot VideorPOST /v1/videos/generations
Utdata
0,18 US$ per sekund vid 1080p
Utdata
0,07 US$ per sekund vid 480p
Utdata
0,14 US$ per sekund vid 720p

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 · Videor

Scenexempel
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_PROMPT_FILE:?Set your actual UTF-8 scene brief}"
export AILOOT_PROMPT_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "happyhorse-t2v", "prompt": "", "duration": 5, "resolution": "720P", "ratio": "16:9"}')
f=Path(os.environ["AILOOT_PROMPT_FILE"])
if not f.is_file():raise SystemExit("Choose your actual UTF-8 brief")
p['prompt']=f.read_text(encoding="utf-8")
if not p['prompt'].strip():raise SystemExit("Brief must contain text")
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/generations \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
print(json.dumps(json.loads(Path("result.json").read_text()),ensure_ascii=False,indent=2))
PY_RESULT

Ta emot och spara resultat

Ailoot · Videor

mp4

  • GET /v1/videos/{request_id}
  • GET /v1/videos/generations/{request_id}
  • GET /v1/videos/{request_id}/content
  • GET /v1/videos/generations/{request_id}/content
Kontrollera jobbstatus
GET status
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/generations/$operation_id" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o status.json
python3 - <<'PY_STATUS'
import json
from pathlib import Path
r=json.loads(Path("status.json").read_text())
print(json.dumps(r))
if r.get("status")=="completed":
    for x in r.get("data",[]):print(x)
PY_STATUS
Spara alla färdiga resurser
GET alla färdiga resurser
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}"
export AILOOT_STATUS_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
from urllib.parse import urlsplit,urljoin
f=Path(os.environ["AILOOT_STATUS_FILE"])
if not f.is_file():raise SystemExit("Choose the actual completed status file")
r=json.loads(f.read_text())
if r.get("status")!="completed" or not isinstance(r.get("data"),list) or not r["data"]:raise SystemExit("Wait for a completed status with asset paths")
urls=[]
for x in r["data"]:
    if not isinstance(x,str) or "\n" in x or "\r" in x:raise SystemExit("Invalid asset path")
    u=urljoin("https://api.ailoot.ai",x)
    z=urlsplit(u)
    if z.scheme!="https" or z.netloc!="api.ailoot.ai" or z.username or z.password:raise SystemExit("Use the actual Ailoot asset paths from status")
    urls.append(u)
Path("asset-urls.txt").write_text("\n".join(urls)+"\n")
PY_REQUEST
index=0
while IFS= read -r asset_url; do
  curl --fail-with-body --silent --show-error "$asset_url" \
    -H "Authorization: Bearer $AILOOT_API_KEY" -o "video-${index}.mp4"
  index=$((index + 1))
done < asset-urls.txt
Andra innehållsläsningar
GET innehåll
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/generations/$operation_id/content" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o video.mp4
Behåll alla färdiga resultat

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

Bevara varje returnerad datapost och utdataindex. content_url avser endast det första; hämta varje faktisk innehållssökväg och tillgång. GET av innehåll utan index omfattar inte alla resultat.

Om det ursprungliga svaret behöver kontrolleras

Läs det befintliga ursprungliga jobbet; skicka aldrig en oklar sändning igen.

Svarsfält
FältTyp
FältidTypstring
FältobjectTypstring
FältmodelTypstring
FältstatusTypstring
Fältcontent_urlTypsigned URL
Fältdata[]Typsigned URL
FältusageTypobject
Fältresult_pending_checkTypboolean
Fel och nästa steg
SvarVillkorNästa steg
Svar400 · invalid_request_errorVillkorOgiltiga obligatoriska fält, ogiltig representation av underlaget eller ogiltigt parametervärdeNästa stegKorrigera de angivna fälten före en ny begäran om att skapa.
Svar409 · video_not_readyVillkorDet ursprungliga resultatinnehållet är ännu inte tillgängligtNästa stegKontrollera det ursprungliga returnerade ID:t och följ Retry-After.
Svarserver_errorVillkorDet returnerade svaret anger att operationen eller resultatet behöver kontrollerasNästa stegSpara det ursprungliga operations- eller uppgifts-ID som returnerades, förfrågans headers och svaret. Fortsätt att läsa den ursprungliga operationen med de läsmetoder som stöds. Skicka inte skapandeförfrågan igen.

Alias

Modellalias

Ailoot happyhorse-1.1-t2v, happyhorse-t2v, happyhorse-t2v-latest

Alias för metodsökvägar

Använd metodsökvägarna som visas ovan.

Relaterade anropar-ID:n

happyhorse-1.1-t2v, happyhorse-t2v, happyhorse-t2v-latest

Ailoot · Videor POST /v1/videos/generations happyhorse-t2v-latest

happyhorse-t2v-latest

Alibaba /happyhorse-t2v-latest
Modell-ID
  • happyhorse-1.1-t2v
  • happyhorse-t2v
  • happyhorse-t2v-latest

Start

Modell för att skapa korta videor med ljud utifrån en textbeskrivning. Passar för scener där rörelser, komposition och visuell stil anges med ord.

Godkända indata
Text
Resultat
Video

Tillgängligt i Ailoot · indata & metoder

Ailoot · Videor POST /v1/videos/generations
Indatatyper
text
Utdatatyper
video
Utdataformat
mp4
FältTypKravVärden & gränserStandard
FältmodelTypstringKravObligatorisktVärden & gränser
happyhorse-t2v-latest
Standard—
FältpromptTypstringKravObligatorisktVärden & gränser
Minsta längd: 1
Standard—
FältdurationTypintegerKravValfrittVärden & gränser
Minimum: 3
Maximum: 15
Enhet: sekunder
Standard5
FältresolutionTypstringKravValfrittVärden & gränser
480P, 720P, 1080P
Standard720P
FältratioTypstringKravValfrittVärden & gränser
16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9
Standard16:9
Fältimage_urlsTyphttps_url|data_image_url[]KravValfrittVärden & gränser
Minsta antal objekt: 0
Maximalt antal objekt: 0
Maximalt antal avkodade byte: 20 971 520
MIME-typer: image/jpeg, image/png, image/webp
Standard—
Kombinationer av indatamaterial

Text till video · Krävs: prompt

Metodparametrar och livscykel
ParameterAvtal
Parametermaterial_typesAvtaltext
ParameterrequiredAvtalnull
Parameteroptional_controlsAvtalnull

Livscykel: 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

Metodernas strukturer och ID:n är exakta; leverantörens funktioner är åtskilda från att begäran tillåts.

Priser

Priser för Ailoot-metoder

Ailoot VideorPOST /v1/videos/generations
Utdata
0,18 US$ per sekund vid 1080p
Utdata
0,07 US$ per sekund vid 480p
Utdata
0,14 US$ per sekund vid 720p

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 · Videor

Scenexempel
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_PROMPT_FILE:?Set your actual UTF-8 scene brief}"
export AILOOT_PROMPT_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "happyhorse-t2v-latest", "prompt": "", "duration": 5, "resolution": "720P", "ratio": "16:9"}')
f=Path(os.environ["AILOOT_PROMPT_FILE"])
if not f.is_file():raise SystemExit("Choose your actual UTF-8 brief")
p['prompt']=f.read_text(encoding="utf-8")
if not p['prompt'].strip():raise SystemExit("Brief must contain text")
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/generations \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
print(json.dumps(json.loads(Path("result.json").read_text()),ensure_ascii=False,indent=2))
PY_RESULT

Ta emot och spara resultat

Ailoot · Videor

mp4

  • GET /v1/videos/{request_id}
  • GET /v1/videos/generations/{request_id}
  • GET /v1/videos/{request_id}/content
  • GET /v1/videos/generations/{request_id}/content
Kontrollera jobbstatus
GET status
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/generations/$operation_id" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o status.json
python3 - <<'PY_STATUS'
import json
from pathlib import Path
r=json.loads(Path("status.json").read_text())
print(json.dumps(r))
if r.get("status")=="completed":
    for x in r.get("data",[]):print(x)
PY_STATUS
Spara alla färdiga resurser
GET alla färdiga resurser
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}"
export AILOOT_STATUS_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
from urllib.parse import urlsplit,urljoin
f=Path(os.environ["AILOOT_STATUS_FILE"])
if not f.is_file():raise SystemExit("Choose the actual completed status file")
r=json.loads(f.read_text())
if r.get("status")!="completed" or not isinstance(r.get("data"),list) or not r["data"]:raise SystemExit("Wait for a completed status with asset paths")
urls=[]
for x in r["data"]:
    if not isinstance(x,str) or "\n" in x or "\r" in x:raise SystemExit("Invalid asset path")
    u=urljoin("https://api.ailoot.ai",x)
    z=urlsplit(u)
    if z.scheme!="https" or z.netloc!="api.ailoot.ai" or z.username or z.password:raise SystemExit("Use the actual Ailoot asset paths from status")
    urls.append(u)
Path("asset-urls.txt").write_text("\n".join(urls)+"\n")
PY_REQUEST
index=0
while IFS= read -r asset_url; do
  curl --fail-with-body --silent --show-error "$asset_url" \
    -H "Authorization: Bearer $AILOOT_API_KEY" -o "video-${index}.mp4"
  index=$((index + 1))
done < asset-urls.txt
Andra innehållsläsningar
GET innehåll
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/generations/$operation_id/content" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o video.mp4
Behåll alla färdiga resultat

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

Bevara varje returnerad datapost och utdataindex. content_url avser endast det första; hämta varje faktisk innehållssökväg och tillgång. GET av innehåll utan index omfattar inte alla resultat.

Om det ursprungliga svaret behöver kontrolleras

Läs det befintliga ursprungliga jobbet; skicka aldrig en oklar sändning igen.

Svarsfält
FältTyp
FältidTypstring
FältobjectTypstring
FältmodelTypstring
FältstatusTypstring
Fältcontent_urlTypsigned URL
Fältdata[]Typsigned URL
FältusageTypobject
Fältresult_pending_checkTypboolean
Fel och nästa steg
SvarVillkorNästa steg
Svar400 · invalid_request_errorVillkorOgiltiga obligatoriska fält, ogiltig representation av underlaget eller ogiltigt parametervärdeNästa stegKorrigera de angivna fälten före en ny begäran om att skapa.
Svar409 · video_not_readyVillkorDet ursprungliga resultatinnehållet är ännu inte tillgängligtNästa stegKontrollera det ursprungliga returnerade ID:t och följ Retry-After.
Svarserver_errorVillkorDet returnerade svaret anger att operationen eller resultatet behöver kontrollerasNästa stegSpara det ursprungliga operations- eller uppgifts-ID som returnerades, förfrågans headers och svaret. Fortsätt att läsa den ursprungliga operationen med de läsmetoder som stöds. Skicka inte skapandeförfrågan igen.

Alias

Modellalias

Ailoot happyhorse-1.1-t2v, happyhorse-t2v, happyhorse-t2v-latest

Alias för metodsökvägar

Använd metodsökvägarna som visas ovan.

Relaterade anropar-ID:n

happyhorse-1.1-t2v, happyhorse-t2v, happyhorse-t2v-latest

FAQ · happyhorse-1.1-t2v
Vilka indata och resultat finns?

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

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

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

Vilka fält använder begäran?

POST /v1/videos/generations · happyhorse-1.1-t2v: model, prompt, duration, resolution, ratio, image_urls

POST /v1/videos/generations · happyhorse-t2v: model, prompt, duration, resolution, ratio, image_urls

POST /v1/videos/generations · happyhorse-t2v-latest: model, prompt, duration, resolution, ratio, image_urls

Vilka gränser gäller?

POST /v1/videos/generations · happyhorse-1.1-t2v: duration.minimum: 3; duration.maximum: 15

POST /v1/videos/generations · happyhorse-t2v: duration.minimum: 3; duration.maximum: 15

POST /v1/videos/generations · happyhorse-t2v-latest: duration.minimum: 3; duration.maximum: 15

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