modeller

happyhorse-1.1-i2v

Markdown · JSON

happyhorse-1.1-i2v

En modell som animerer et bilde: kildebildet bestemmer det første videobildet, og beskrivelsen styrer bevegelsen videre. Lager en kort video med mulighet for lyd.

Om modellen

Denne beskrivelsen dekker modellens funksjoner. Tilgjengelige inndata, utdata og alternativer i Ailoot er oppført nedenfor for den valgte metoden.

HappyHorse-1.1-I2V er en modell fra Alibaba som starter en videoscene med et ferdig bilde. Bildet blir det første videobildet, mens teksten kan bestemme hva som skjer videre: figurens bevegelser, endringer i scenen og kameraføringen. Dette egner seg til å animere en illustrasjon, et produktfoto eller et visuelt konsept som er laget på forhånd.

En tekstbeskrivelse er ikke påkrevd. Uten tekst utleder modellen selv en mulig bevegelse fra innholdet i startbildet. Når oppgaven er beskrevet eksplisitt, bestemmer kildebildet komposisjonen og objektenes utseende, mens ordene styrer hvordan scenen utvikler seg over tid.

Fra første bilde til bevegelse

Alibaba fremhever bevaring av figurens utseende, visuell sammenheng, jevne bevegelser og samspillet mellom bilde og lyd. Stabil gjengivelse av tekst og teksturer er også blant målene som oppgis. Dette beskriver hva modellen er utviklet for, og betyr ikke at hver piksel beholdes bokstavelig i alle genererte bilder.

Denne modusen bruker ett startbilde. Det bestemmer utgangsscenen og er ikke en samling uavhengige eksempler for en ny komposisjon. Muligheten til å angi et eget sluttbilde er ikke oppgitt for denne bestemte versjonen.

JPEG, JPG, PNG og WEBP godtas. Hver side av inndatabildet må være minst 300 piksler; tillatt sideforhold er fra 1:2,5 til 2,5:1, og filstørrelsen er opptil 20 MB. Sideforholdet i den ferdige videoen følger det første bildet.

Videoparametere

Varigheten velges som et heltall fra 3 til 15 sekunder. Oppløsningene 480P, 720P og 1080P er tilgjengelige; utdataformatet er MP4 med 24 bilder per sekund. Det er støtte for å lage lyd sammen med videoen.

Beskrivelsen kan være på hvilket som helst språk og inneholde opptil 5000 ikke-kinesiske eller 2500 kinesiske tegn. Dersom grensen overskrides, fjernes den overskytende delen. Viktige handlinger og bevegelsesdetaljer bør derfor beskrives innenfor denne grensen. Samme tilfeldige startverdi kan gi lignende videoer, men garanterer ikke at de blir identiske bilde for bilde.

Ailoot · Videogenerering POST /v1/videos/generations happyhorse-1.1-i2v

happyhorse-1.1-i2v

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

Start

En modell som animerer et bilde: kildebildet bestemmer det første videobildet, og beskrivelsen styrer bevegelsen videre. Lager en kort video med mulighet for lyd.

Godkjente inndata
Tekst · Bilder
Resultater
Video

Tilgjengelig i Ailoot · inndata & metoder

Ailoot · Videogenerering POST /v1/videos/generations
Inndatatyper
text, image
Utdatatyper
video
Utdataformat
mp4
FeltTypeKravVerdier & grenserStandard
FeltmodelTypestringKravPåkrevdVerdier & grenser
happyhorse-1.1-i2v
Standard—
FeltpromptTypestringKravValgfrittVerdier & grenser
Minste lengde: 1
Standard—
FeltdurationTypeintegerKravValgfrittVerdier & grenser
Minimum: 3
Maksimum: 15
Enhet: sekunder
Standard5
FeltresolutionTypestringKravValgfrittVerdier & grenser
480P, 720P, 1080P
Standard720P
FeltratioTypestringKravStøttes ikkeVerdier & grenserStandard—
Feltimage_urlsTypehttps_url|data_image_url[]KravPåkrevdVerdier & grenser
Minste antall elementer: 1
Maksimalt antall elementer: 1
Maksimalt antall dekodede byte: 20 971 520
MIME-typer: image/jpeg, image/png, image/webp
Standard—
Kombinasjoner av inngående materialer

first_frame_to_video · Påkrevd: image_urls

Metodeparametere og livssyklus
ParameterAvtale
Parametercontent_typeAvtaleapplication/json
ParameterrequiredAvtalemodel, image_urls
Parametermaterial_typesAvtaletext, image
ParameteroptionalAvtaleduration, resolution, ratio, prompt
Parameterduration_integer_rangeAvtale3, 15
Parameterdefault_durationAvtale5
ParameterresolutionAvtale480P, 720P, 1080P
Parameterdefault_resolutionAvtale720P
ParameterratioAvtale
Parameterratio_must_omitAvtaletrue
Parameterimage_urlsAvtale{"min_count":1,"max_count":1,"schemes":["https","Rasterdata i base64"],"max_data_image_bytes":20971520}

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

Metodestrukturer og ID-er er eksakte; leverandørens evne er adskilt fra godkjenning av forespørselen.

Priser

Satser for Ailoot-metoder

Ailoot VideogenereringPOST /v1/videos/generations
Utdata
0,18 USD per sekund ved 1080p
Utdata
0,07 USD per sekund ved 480p
Utdata
0,14 USD per sekund ved 720p

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

Bildereferanse
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_IMAGE_URL:?Set the HTTPS URL of your actual first-frame image}"
export AILOOT_IMAGE_URL
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "happyhorse-1.1-i2v", "prompt": "The subject walks slowly toward the camera.", "duration": 5, "resolution": "720P"}')
from urllib.parse import urlsplit
u=os.environ["AILOOT_IMAGE_URL"]
z=urlsplit(u)
if z.scheme!="https" or not z.netloc or z.username or z.password:raise SystemExit("Set the actual HTTPS image URL")
p["image_urls"]=[u]
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
r=json.loads(Path("result.json").read_text())
print(json.dumps(r))
PY_RESULT

Motta og lagre resultater

Ailoot · Videogenerering

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
Kontroller 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
Lagre alle ferdige ressurser
GET alle ferdige ressurser
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
Andre innholdslesinger
GET innhold
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
Behold alle ferdige resultater

Lagre hver ferdige video eller returnerte fil; hent hver faktisk returnerte ressurs-URL.

Bevar hvert returnert dataelement og hver utdataindeks. content_url viser bare til det første; hent hver faktiske innholdssti og ressurs. GET for innhold uten index omfatter ikke alle utdata.

Hvis det opprinnelige svaret må kontrolleres

Les den eksisterende opprinnelige jobben; send aldri en forespørsel med ukjent utfall på nytt.

Svarfelter
FeltType
FeltidTypestring
FeltobjectTypestring
FeltmodelTypestring
FeltstatusTypestring
Feltcontent_urlTypesigned URL
Feltdata[]Typesigned URL
FeltusageTypeobject
Feltresult_pending_checkTypeboolean
Feil og neste trinn
SvarVilkårNeste trinn
Svar400 · invalid_request_errorVilkårUgyldige påkrevde felter, materialrepresentasjon eller parameterverdiNeste trinnKorriger de angitte feltene før en ny opprettelsesforespørsel.
Svar409 · video_not_readyVilkårDet opprinnelige resultatinnholdet er ennå ikke tilgjengeligNeste trinnSpør jevnlig etter den opprinnelige returnerte ID-en og følg Retry-After.
Svarserver_errorVilkårDet returnerte svaret angir at operasjonen eller resultatet må kontrolleresNeste trinnBevar den opprinnelige returnerte operasjons-/oppgave-ID-en, forespørselshodene og svaret; fortsett å lese den opprinnelige operasjonen på de støttede måtene. Ikke send opprettelsesforespørselen på nytt.

Aliaser

Modellaliaser

Ailoot happyhorse-1.1-i2v, happyhorse-i2v, happyhorse-i2v-latest

Aliaser for metodestier

Bruk metodestiene som vises ovenfor.

Tilknyttede anroper-ID-er

happyhorse-1.1-i2v, happyhorse-i2v, happyhorse-i2v-latest

Ailoot · Videogenerering POST /v1/videos/generations happyhorse-i2v

happyhorse-i2v

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

Start

En modell som animerer et bilde: kildebildet bestemmer det første videobildet, og beskrivelsen styrer bevegelsen videre. Lager en kort video med mulighet for lyd.

Godkjente inndata
Tekst · Bilder
Resultater
Video

Tilgjengelig i Ailoot · inndata & metoder

Ailoot · Videogenerering POST /v1/videos/generations
Inndatatyper
text, image
Utdatatyper
video
Utdataformat
mp4
FeltTypeKravVerdier & grenserStandard
FeltmodelTypestringKravPåkrevdVerdier & grenser
happyhorse-i2v
Standard—
FeltpromptTypestringKravValgfrittVerdier & grenser
Minste lengde: 1
Standard—
FeltdurationTypeintegerKravValgfrittVerdier & grenser
Minimum: 3
Maksimum: 15
Enhet: sekunder
Standard5
FeltresolutionTypestringKravValgfrittVerdier & grenser
480P, 720P, 1080P
Standard720P
FeltratioTypestringKravStøttes ikkeVerdier & grenserStandard—
Feltimage_urlsTypehttps_url|data_image_url[]KravPåkrevdVerdier & grenser
Minste antall elementer: 1
Maksimalt antall elementer: 1
Maksimalt antall dekodede byte: 20 971 520
MIME-typer: image/jpeg, image/png, image/webp
Standard—
Kombinasjoner av inngående materialer

first_frame_to_video · Påkrevd: image_urls

Metodeparametere og livssyklus
ParameterAvtale
Parametermaterial_typesAvtaletext, image
ParameterrequiredAvtalenull
Parameteroptional_controlsAvtalenull

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

Metodestrukturer og ID-er er eksakte; leverandørens evne er adskilt fra godkjenning av forespørselen.

Priser

Satser for Ailoot-metoder

Ailoot VideogenereringPOST /v1/videos/generations
Utdata
0,18 USD per sekund ved 1080p
Utdata
0,07 USD per sekund ved 480p
Utdata
0,14 USD per sekund ved 720p

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

Bildereferanse
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_IMAGE_URL:?Set the HTTPS URL of your actual first-frame image}"
export AILOOT_IMAGE_URL
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "happyhorse-i2v", "prompt": "The subject walks slowly toward the camera.", "duration": 5, "resolution": "720P"}')
from urllib.parse import urlsplit
u=os.environ["AILOOT_IMAGE_URL"]
z=urlsplit(u)
if z.scheme!="https" or not z.netloc or z.username or z.password:raise SystemExit("Set the actual HTTPS image URL")
p["image_urls"]=[u]
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
r=json.loads(Path("result.json").read_text())
print(json.dumps(r))
PY_RESULT

Motta og lagre resultater

Ailoot · Videogenerering

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
Kontroller 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
Lagre alle ferdige ressurser
GET alle ferdige ressurser
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
Andre innholdslesinger
GET innhold
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
Behold alle ferdige resultater

Lagre hver ferdige video eller returnerte fil; hent hver faktisk returnerte ressurs-URL.

Bevar hvert returnert dataelement og hver utdataindeks. content_url viser bare til det første; hent hver faktiske innholdssti og ressurs. GET for innhold uten index omfatter ikke alle utdata.

Hvis det opprinnelige svaret må kontrolleres

Les den eksisterende opprinnelige jobben; send aldri en forespørsel med ukjent utfall på nytt.

Svarfelter
FeltType
FeltidTypestring
FeltobjectTypestring
FeltmodelTypestring
FeltstatusTypestring
Feltcontent_urlTypesigned URL
Feltdata[]Typesigned URL
FeltusageTypeobject
Feltresult_pending_checkTypeboolean
Feil og neste trinn
SvarVilkårNeste trinn
Svar400 · invalid_request_errorVilkårUgyldige påkrevde felter, materialrepresentasjon eller parameterverdiNeste trinnKorriger de angitte feltene før en ny opprettelsesforespørsel.
Svar409 · video_not_readyVilkårDet opprinnelige resultatinnholdet er ennå ikke tilgjengeligNeste trinnSpør jevnlig etter den opprinnelige returnerte ID-en og følg Retry-After.
Svarserver_errorVilkårDet returnerte svaret angir at operasjonen eller resultatet må kontrolleresNeste trinnBevar den opprinnelige returnerte operasjons-/oppgave-ID-en, forespørselshodene og svaret; fortsett å lese den opprinnelige operasjonen på de støttede måtene. Ikke send opprettelsesforespørselen på nytt.

Aliaser

Modellaliaser

Ailoot happyhorse-1.1-i2v, happyhorse-i2v, happyhorse-i2v-latest

Aliaser for metodestier

Bruk metodestiene som vises ovenfor.

Tilknyttede anroper-ID-er

happyhorse-1.1-i2v, happyhorse-i2v, happyhorse-i2v-latest

Ailoot · Videogenerering POST /v1/videos/generations happyhorse-i2v-latest

happyhorse-i2v-latest

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

Start

En modell som animerer et bilde: kildebildet bestemmer det første videobildet, og beskrivelsen styrer bevegelsen videre. Lager en kort video med mulighet for lyd.

Godkjente inndata
Tekst · Bilder
Resultater
Video

Tilgjengelig i Ailoot · inndata & metoder

Ailoot · Videogenerering POST /v1/videos/generations
Inndatatyper
text, image
Utdatatyper
video
Utdataformat
mp4
FeltTypeKravVerdier & grenserStandard
FeltmodelTypestringKravPåkrevdVerdier & grenser
happyhorse-i2v-latest
Standard—
FeltpromptTypestringKravValgfrittVerdier & grenser
Minste lengde: 1
Standard—
FeltdurationTypeintegerKravValgfrittVerdier & grenser
Minimum: 3
Maksimum: 15
Enhet: sekunder
Standard5
FeltresolutionTypestringKravValgfrittVerdier & grenser
480P, 720P, 1080P
Standard720P
FeltratioTypestringKravStøttes ikkeVerdier & grenserStandard—
Feltimage_urlsTypehttps_url|data_image_url[]KravPåkrevdVerdier & grenser
Minste antall elementer: 1
Maksimalt antall elementer: 1
Maksimalt antall dekodede byte: 20 971 520
MIME-typer: image/jpeg, image/png, image/webp
Standard—
Kombinasjoner av inngående materialer

first_frame_to_video · Påkrevd: image_urls

Metodeparametere og livssyklus
ParameterAvtale
Parametermaterial_typesAvtaletext, image
ParameterrequiredAvtalenull
Parameteroptional_controlsAvtalenull

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

Metodestrukturer og ID-er er eksakte; leverandørens evne er adskilt fra godkjenning av forespørselen.

Priser

Satser for Ailoot-metoder

Ailoot VideogenereringPOST /v1/videos/generations
Utdata
0,18 USD per sekund ved 1080p
Utdata
0,07 USD per sekund ved 480p
Utdata
0,14 USD per sekund ved 720p

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

Bildereferanse
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_IMAGE_URL:?Set the HTTPS URL of your actual first-frame image}"
export AILOOT_IMAGE_URL
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "happyhorse-i2v-latest", "prompt": "The subject walks slowly toward the camera.", "duration": 5, "resolution": "720P"}')
from urllib.parse import urlsplit
u=os.environ["AILOOT_IMAGE_URL"]
z=urlsplit(u)
if z.scheme!="https" or not z.netloc or z.username or z.password:raise SystemExit("Set the actual HTTPS image URL")
p["image_urls"]=[u]
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
r=json.loads(Path("result.json").read_text())
print(json.dumps(r))
PY_RESULT

Motta og lagre resultater

Ailoot · Videogenerering

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
Kontroller 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
Lagre alle ferdige ressurser
GET alle ferdige ressurser
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
Andre innholdslesinger
GET innhold
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
Behold alle ferdige resultater

Lagre hver ferdige video eller returnerte fil; hent hver faktisk returnerte ressurs-URL.

Bevar hvert returnert dataelement og hver utdataindeks. content_url viser bare til det første; hent hver faktiske innholdssti og ressurs. GET for innhold uten index omfatter ikke alle utdata.

Hvis det opprinnelige svaret må kontrolleres

Les den eksisterende opprinnelige jobben; send aldri en forespørsel med ukjent utfall på nytt.

Svarfelter
FeltType
FeltidTypestring
FeltobjectTypestring
FeltmodelTypestring
FeltstatusTypestring
Feltcontent_urlTypesigned URL
Feltdata[]Typesigned URL
FeltusageTypeobject
Feltresult_pending_checkTypeboolean
Feil og neste trinn
SvarVilkårNeste trinn
Svar400 · invalid_request_errorVilkårUgyldige påkrevde felter, materialrepresentasjon eller parameterverdiNeste trinnKorriger de angitte feltene før en ny opprettelsesforespørsel.
Svar409 · video_not_readyVilkårDet opprinnelige resultatinnholdet er ennå ikke tilgjengeligNeste trinnSpør jevnlig etter den opprinnelige returnerte ID-en og følg Retry-After.
Svarserver_errorVilkårDet returnerte svaret angir at operasjonen eller resultatet må kontrolleresNeste trinnBevar den opprinnelige returnerte operasjons-/oppgave-ID-en, forespørselshodene og svaret; fortsett å lese den opprinnelige operasjonen på de støttede måtene. Ikke send opprettelsesforespørselen på nytt.

Aliaser

Modellaliaser

Ailoot happyhorse-1.1-i2v, happyhorse-i2v, happyhorse-i2v-latest

Aliaser for metodestier

Bruk metodestiene som vises ovenfor.

Tilknyttede anroper-ID-er

happyhorse-1.1-i2v, happyhorse-i2v, happyhorse-i2v-latest

FAQ · happyhorse-1.1-i2v
Hvilke inndata og resultater er tilgjengelige?

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

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

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

Hvilke felt bruker forespørselen?

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

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

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

Hvilke grenser gjelder?

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

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

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

Flere detaljer

Koble Ailoot til Claude Code, OpenCode, Hermes eller egen applikasjon.

Selskapet og dets prosjektportefølje

Selskapet og dets prosjektportefølje: millioner av kunder; månedlig salg for milliarder.

Kjøp tokener med rabatt.

Abonnementsrabatt for jevnlig bruk. Kampanjekoder gir opptil 50% på tokenkjøp.

Abonnement
Velg et rabattabonnement for faste forespørsler.
Kampanjekode opptil 50%
Oppgi kode ved kjøp. Prisen beregnes på nytt etter gjeldende kampanje.
Kostnader i historikken
Modell, tokener og beløp lagres for hver forespørsel.

Velg abonnement · Se modellpriser

Koble API-et til produktet du selger.

SaaS, apper og boter etter Ailoots offentlige tilbud og lisensavtale. Be om forhandlerlisens for videresalg.

Kommersiell applikasjon
Bygg tekst-, bilde-, video- og lydgenerering inn i betalte funksjoner i tjenesten.
Forhandlerlisens
Send prosjektbeskrivelse og tilgangsopplegg. Be om skriftlige vilkår for bruk og videresalg.
Dokumenter på nettstedet
Offentlig tilbud, lisensavtale og retningslinjer for databehandling er tilgjengelige før tilkobling.

Be om forhandlerlisens · Offentlig tilbud og lisensavtale