models

happyhorse-1.1-i2v

Markdown · JSON

happyhorse-1.1-i2v

Modelis, suteikiantis judesio vaizdui: pradinis vaizdas nustato pirmąjį kadrą, o aprašymas nukreipia tolesnį judėjimą. Kuria trumpą vaizdo įrašą su galimu garso takeliu.

Apie modelį

Šis aprašas apima modelio galimybes. Pasirinktam metodui Ailoot prieinamos įvestys, išvestys ir parinktys nurodytos toliau.

HappyHorse-1.1-I2V — Alibaba modelis, pradedantis vaizdo sceną nuo paruošto vaizdo. Vaizdas tampa pirmuoju kadru, o tekstas gali nurodyti tolesnį veiksmą: veikėjo judėjimą, scenos pokyčius ir kameros kryptį. Tai tinka iliustracijai, daikto nuotraukai ar iš anksto parengtai vizualinei koncepcijai pagyvinti.

Tekstinis aprašymas neprivalomas. Jei jo nėra, modelis pats numato galimą judesį pagal pradinio vaizdo turinį. Kai užduotis pateikiama aiškiai, pradinis vaizdas nustato kompoziciją ir objektų išvaizdą, o žodžiai nukreipia scenos raidą laike.

Nuo pirmojo kadro iki judesio

Alibaba pabrėžia veikėjo išvaizdos išlaikymą, vizualinį nuoseklumą, judesio sklandumą ir vaizdo bei garso derinimą. Tarp deklaruojamų krypčių taip pat yra užrašų ir tekstūrų stabilumas. Šios savybės apibūdina modelio paskirtį ir nereiškia, kad kiekvienas pikselis bus tiksliai išlaikytas visuose sugeneruotuose kadruose.

Šiuo režimu naudojamas vienas pradinis vaizdas. Jis nustato pradinę sceną, o ne pateikia nepriklausomų pavyzdžių rinkinį naujai kompozicijai. Galimybė šiai konkrečiai versijai nustatyti atskirą baigiamąjį kadrą nėra deklaruota.

Priimami JPEG, JPG, PNG ir WEBP. Kiekviena įvesties vaizdo kraštinė turi būti ne trumpesnė kaip 300 pikselių; leidžiamas kraštinių santykis — nuo 1:2,5 iki 2,5:1, failo dydis — iki 20 MB. Galutinio vaizdo įrašo kraštinių santykis atitinka pirmąjį kadrą.

Vaizdo įrašo parametrai

Trukmė pasirenkama sveikuoju skaičiumi nuo 3 iki 15 sekundžių. Galima rinktis 480P, 720P ir 1080P raišką; išvesties formatas — MP4, dažnis — 24 kadrai per sekundę. Palaikomas garso takelio kūrimas kartu su vaizdu.

Aprašymas gali būti bet kuria kalba ir turėti iki 5000 ne kinų arba 2500 kinų rašmenų. Viršijus ribą, perteklinė dalis atmetama, todėl svarbius veiksmus ir judėjimo ypatybes verta suformuluoti neviršijant užduoties apimties. Ta pati pradinė atsitiktinumo reikšmė gali duoti panašių vaizdo įrašų, tačiau negarantuoja, kad jų kadrai tiksliai sutaps.

Ailoot · Vaizdo įrašai POST /v1/videos/generations happyhorse-1.1-i2v

happyhorse-1.1-i2v

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

Pradžia

Modelis, suteikiantis judesio vaizdui: pradinis vaizdas nustato pirmąjį kadrą, o aprašymas nukreipia tolesnį judėjimą. Kuria trumpą vaizdo įrašą su galimu garso takeliu.

Leidžiamos įvestys
Tekstas · Vaizdai
Rezultatai
Vaizdo įrašai

Prieinama Ailoot · įvestys ir metodai

Ailoot · Vaizdo įrašai POST /v1/videos/generations
Įvestis
text, image
Išvestis
video
Išvesties formatas
mp4
LaukasTipasReikalavimasReikšmės ir ribosNumatyta
LaukasmodelTipasstringReikalavimasPrivalomaReikšmės ir ribos
happyhorse-1.1-i2v
Numatyta—
LaukaspromptTipasstringReikalavimasNeprivalomaReikšmės ir ribos
Mažiausias ilgis: 1
Numatyta—
LaukasdurationTipasintegerReikalavimasNeprivalomaReikšmės ir ribos
Mažiausia reikšmė: 3
Didžiausia reikšmė: 15
Vienetas: sekundės
Numatyta5
LaukasresolutionTipasstringReikalavimasNeprivalomaReikšmės ir ribos
480P, 720P, 1080P
Numatyta720P
LaukasratioTipasstringReikalavimasNepalaikomaReikšmės ir ribosNumatyta—
Laukasimage_urlsTipashttps_url|data_image_url[]ReikalavimasPrivalomaReikšmės ir ribos
Mažiausias elementų skaičius: 1
Didžiausias elementų skaičius: 1
Didžiausias dekoduotų baitų skaičius: 20 971 520
MIME tipai: image/jpeg, image/png, image/webp
Numatyta—
Įvesties medžiagos deriniai

first_frame_to_video · Privaloma: image_urls

Metodo parametrai ir gyvavimo ciklas
ParametrasSpecifikacija
Parametrascontent_typeSpecifikacijaapplication/json
ParametrasrequiredSpecifikacijamodel, image_urls
Parametrasmaterial_typesSpecifikacijatext, image
ParametrasoptionalSpecifikacijaduration, resolution, ratio, prompt
Parametrasduration_integer_rangeSpecifikacija3, 15
Parametrasdefault_durationSpecifikacija5
ParametrasresolutionSpecifikacija480P, 720P, 1080P
Parametrasdefault_resolutionSpecifikacija720P
ParametrasratioSpecifikacija
Parametrasratio_must_omitSpecifikacijatrue
Parametrasimage_urlsSpecifikacija{"min_count":1,"max_count":1,"schemes":["https","rastriniai data duomenys base64 formatu"],"max_data_image_bytes":20971520}

Gyvavimo ciklas: 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

Metodų struktūros ir ID yra tikslūs; tiekėjo galimybės yra atskirtos nuo užklausos priėmimo.

Planai

Ailoot metodų įkainiai

Ailoot Vaizdo įrašaiPOST /v1/videos/generations
Išvestis
0,18 USD už sekundę 1080p raiška
Išvestis
0,07 USD už sekundę 480p raiška
Išvestis
0,14 USD už sekundę 720p raiška

Ailoot prieš užklausą rezervuoja numatomą sumą. Gavus rezultatą, galutinis mokestis nuskaitomas pagal išmatuotą naudojimą. Srautinio atsakymo atsiskaitymui naudojamas galutinis naudojimo įrašas. Kaip veikia rezervavimas ir atsiskaitymas →

Užklausų pavyzdžiai

Ailoot · Vaizdo įrašai

Pavyzdinis vaizdas
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

Gauti ir išsaugoti rezultatus

Ailoot · Vaizdo įrašai

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
Tikrinti užduoties būseną
GET būsena
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
Išsaugoti visą baigtą medžiagą
GET visa baigta medžiaga
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
Kito turinio skaitymas
GET turinys
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
Išsaugoti visus baigtus rezultatus

Išsaugokite kiekvieną baigtą vaizdo įrašą arba grąžintą failą; gaukite turinį iš kiekvieno faktiškai grąžinto medžiagos URL.

Išsaugokite kiekvieną grąžintą data elementą ir išvesties indeksą. content_url nurodo tik pirmąjį; gaukite kiekvieną tikrą turinio kelią ar išteklių. GET content be index negrąžina visų rezultatų.

Jei reikia patikrinti pradinį atsakymą

Skaitykite esamos pradinės užduoties duomenis; niekada nekartokite siuntimo, kurio baigtis nežinoma.

Atsakymo laukai
LaukasTipas
LaukasidTipasstring
LaukasobjectTipasstring
LaukasmodelTipasstring
LaukasstatusTipasstring
Laukascontent_urlTipassigned URL
Laukasdata[]Tipassigned URL
LaukasusageTipasobject
Laukasresult_pending_checkTipasboolean
Klaidos ir tolesni veiksmai
AtsakymasSąlygaKitas žingsnis
Atsakymas400 · invalid_request_errorSąlygaNetinkami privalomi laukai, medžiagos pateikimo forma arba parametro reikšmėKitas žingsnisPrieš naują kūrimo užklausą pataisykite nurodytus laukus.
Atsakymas409 · video_not_readySąlygaPradinio rezultato turinys dar nepasiekiamasKitas žingsnisPeriodiškai tikrinkite pradinį grąžintą ID ir laikykitės Retry-After.
Atsakymasserver_errorSąlygaGrąžintame atsakyme nurodoma, kad operaciją arba rezultatą reikia patikrintiKitas žingsnisIšsaugokite pradinį grąžintą operacijos ar užduoties ID, užklausos antraštes ir atsakymą; toliau tikrinkite tos pačios pradinės operacijos duomenis palaikomais būdais. Kūrimo užklausos pakartotinai neteikite.

Pseudonimai

Modelių pseudonimai

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

Metodų kelių pseudonimai

Naudokite aukščiau nurodytus metodų kelius.

Susiję ID iškvietimui

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

Ailoot · Vaizdo įrašai POST /v1/videos/generations happyhorse-i2v

happyhorse-i2v

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

Pradžia

Modelis, suteikiantis judesio vaizdui: pradinis vaizdas nustato pirmąjį kadrą, o aprašymas nukreipia tolesnį judėjimą. Kuria trumpą vaizdo įrašą su galimu garso takeliu.

Leidžiamos įvestys
Tekstas · Vaizdai
Rezultatai
Vaizdo įrašai

Prieinama Ailoot · įvestys ir metodai

Ailoot · Vaizdo įrašai POST /v1/videos/generations
Įvestis
text, image
Išvestis
video
Išvesties formatas
mp4
LaukasTipasReikalavimasReikšmės ir ribosNumatyta
LaukasmodelTipasstringReikalavimasPrivalomaReikšmės ir ribos
happyhorse-i2v
Numatyta—
LaukaspromptTipasstringReikalavimasNeprivalomaReikšmės ir ribos
Mažiausias ilgis: 1
Numatyta—
LaukasdurationTipasintegerReikalavimasNeprivalomaReikšmės ir ribos
Mažiausia reikšmė: 3
Didžiausia reikšmė: 15
Vienetas: sekundės
Numatyta5
LaukasresolutionTipasstringReikalavimasNeprivalomaReikšmės ir ribos
480P, 720P, 1080P
Numatyta720P
LaukasratioTipasstringReikalavimasNepalaikomaReikšmės ir ribosNumatyta—
Laukasimage_urlsTipashttps_url|data_image_url[]ReikalavimasPrivalomaReikšmės ir ribos
Mažiausias elementų skaičius: 1
Didžiausias elementų skaičius: 1
Didžiausias dekoduotų baitų skaičius: 20 971 520
MIME tipai: image/jpeg, image/png, image/webp
Numatyta—
Įvesties medžiagos deriniai

first_frame_to_video · Privaloma: image_urls

Metodo parametrai ir gyvavimo ciklas
ParametrasSpecifikacija
Parametrasmaterial_typesSpecifikacijatext, image
ParametrasrequiredSpecifikacijanull
Parametrasoptional_controlsSpecifikacijanull

Gyvavimo ciklas: 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

Metodų struktūros ir ID yra tikslūs; tiekėjo galimybės yra atskirtos nuo užklausos priėmimo.

Planai

Ailoot metodų įkainiai

Ailoot Vaizdo įrašaiPOST /v1/videos/generations
Išvestis
0,18 USD už sekundę 1080p raiška
Išvestis
0,07 USD už sekundę 480p raiška
Išvestis
0,14 USD už sekundę 720p raiška

Ailoot prieš užklausą rezervuoja numatomą sumą. Gavus rezultatą, galutinis mokestis nuskaitomas pagal išmatuotą naudojimą. Srautinio atsakymo atsiskaitymui naudojamas galutinis naudojimo įrašas. Kaip veikia rezervavimas ir atsiskaitymas →

Užklausų pavyzdžiai

Ailoot · Vaizdo įrašai

Pavyzdinis vaizdas
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

Gauti ir išsaugoti rezultatus

Ailoot · Vaizdo įrašai

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
Tikrinti užduoties būseną
GET būsena
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
Išsaugoti visą baigtą medžiagą
GET visa baigta medžiaga
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
Kito turinio skaitymas
GET turinys
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
Išsaugoti visus baigtus rezultatus

Išsaugokite kiekvieną baigtą vaizdo įrašą arba grąžintą failą; gaukite turinį iš kiekvieno faktiškai grąžinto medžiagos URL.

Išsaugokite kiekvieną grąžintą data elementą ir išvesties indeksą. content_url nurodo tik pirmąjį; gaukite kiekvieną tikrą turinio kelią ar išteklių. GET content be index negrąžina visų rezultatų.

Jei reikia patikrinti pradinį atsakymą

Skaitykite esamos pradinės užduoties duomenis; niekada nekartokite siuntimo, kurio baigtis nežinoma.

Atsakymo laukai
LaukasTipas
LaukasidTipasstring
LaukasobjectTipasstring
LaukasmodelTipasstring
LaukasstatusTipasstring
Laukascontent_urlTipassigned URL
Laukasdata[]Tipassigned URL
LaukasusageTipasobject
Laukasresult_pending_checkTipasboolean
Klaidos ir tolesni veiksmai
AtsakymasSąlygaKitas žingsnis
Atsakymas400 · invalid_request_errorSąlygaNetinkami privalomi laukai, medžiagos pateikimo forma arba parametro reikšmėKitas žingsnisPrieš naują kūrimo užklausą pataisykite nurodytus laukus.
Atsakymas409 · video_not_readySąlygaPradinio rezultato turinys dar nepasiekiamasKitas žingsnisPeriodiškai tikrinkite pradinį grąžintą ID ir laikykitės Retry-After.
Atsakymasserver_errorSąlygaGrąžintame atsakyme nurodoma, kad operaciją arba rezultatą reikia patikrintiKitas žingsnisIšsaugokite pradinį grąžintą operacijos ar užduoties ID, užklausos antraštes ir atsakymą; toliau tikrinkite tos pačios pradinės operacijos duomenis palaikomais būdais. Kūrimo užklausos pakartotinai neteikite.

Pseudonimai

Modelių pseudonimai

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

Metodų kelių pseudonimai

Naudokite aukščiau nurodytus metodų kelius.

Susiję ID iškvietimui

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

Ailoot · Vaizdo įrašai POST /v1/videos/generations happyhorse-i2v-latest

happyhorse-i2v-latest

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

Pradžia

Modelis, suteikiantis judesio vaizdui: pradinis vaizdas nustato pirmąjį kadrą, o aprašymas nukreipia tolesnį judėjimą. Kuria trumpą vaizdo įrašą su galimu garso takeliu.

Leidžiamos įvestys
Tekstas · Vaizdai
Rezultatai
Vaizdo įrašai

Prieinama Ailoot · įvestys ir metodai

Ailoot · Vaizdo įrašai POST /v1/videos/generations
Įvestis
text, image
Išvestis
video
Išvesties formatas
mp4
LaukasTipasReikalavimasReikšmės ir ribosNumatyta
LaukasmodelTipasstringReikalavimasPrivalomaReikšmės ir ribos
happyhorse-i2v-latest
Numatyta—
LaukaspromptTipasstringReikalavimasNeprivalomaReikšmės ir ribos
Mažiausias ilgis: 1
Numatyta—
LaukasdurationTipasintegerReikalavimasNeprivalomaReikšmės ir ribos
Mažiausia reikšmė: 3
Didžiausia reikšmė: 15
Vienetas: sekundės
Numatyta5
LaukasresolutionTipasstringReikalavimasNeprivalomaReikšmės ir ribos
480P, 720P, 1080P
Numatyta720P
LaukasratioTipasstringReikalavimasNepalaikomaReikšmės ir ribosNumatyta—
Laukasimage_urlsTipashttps_url|data_image_url[]ReikalavimasPrivalomaReikšmės ir ribos
Mažiausias elementų skaičius: 1
Didžiausias elementų skaičius: 1
Didžiausias dekoduotų baitų skaičius: 20 971 520
MIME tipai: image/jpeg, image/png, image/webp
Numatyta—
Įvesties medžiagos deriniai

first_frame_to_video · Privaloma: image_urls

Metodo parametrai ir gyvavimo ciklas
ParametrasSpecifikacija
Parametrasmaterial_typesSpecifikacijatext, image
ParametrasrequiredSpecifikacijanull
Parametrasoptional_controlsSpecifikacijanull

Gyvavimo ciklas: 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

Metodų struktūros ir ID yra tikslūs; tiekėjo galimybės yra atskirtos nuo užklausos priėmimo.

Planai

Ailoot metodų įkainiai

Ailoot Vaizdo įrašaiPOST /v1/videos/generations
Išvestis
0,18 USD už sekundę 1080p raiška
Išvestis
0,07 USD už sekundę 480p raiška
Išvestis
0,14 USD už sekundę 720p raiška

Ailoot prieš užklausą rezervuoja numatomą sumą. Gavus rezultatą, galutinis mokestis nuskaitomas pagal išmatuotą naudojimą. Srautinio atsakymo atsiskaitymui naudojamas galutinis naudojimo įrašas. Kaip veikia rezervavimas ir atsiskaitymas →

Užklausų pavyzdžiai

Ailoot · Vaizdo įrašai

Pavyzdinis vaizdas
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

Gauti ir išsaugoti rezultatus

Ailoot · Vaizdo įrašai

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
Tikrinti užduoties būseną
GET būsena
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
Išsaugoti visą baigtą medžiagą
GET visa baigta medžiaga
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
Kito turinio skaitymas
GET turinys
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
Išsaugoti visus baigtus rezultatus

Išsaugokite kiekvieną baigtą vaizdo įrašą arba grąžintą failą; gaukite turinį iš kiekvieno faktiškai grąžinto medžiagos URL.

Išsaugokite kiekvieną grąžintą data elementą ir išvesties indeksą. content_url nurodo tik pirmąjį; gaukite kiekvieną tikrą turinio kelią ar išteklių. GET content be index negrąžina visų rezultatų.

Jei reikia patikrinti pradinį atsakymą

Skaitykite esamos pradinės užduoties duomenis; niekada nekartokite siuntimo, kurio baigtis nežinoma.

Atsakymo laukai
LaukasTipas
LaukasidTipasstring
LaukasobjectTipasstring
LaukasmodelTipasstring
LaukasstatusTipasstring
Laukascontent_urlTipassigned URL
Laukasdata[]Tipassigned URL
LaukasusageTipasobject
Laukasresult_pending_checkTipasboolean
Klaidos ir tolesni veiksmai
AtsakymasSąlygaKitas žingsnis
Atsakymas400 · invalid_request_errorSąlygaNetinkami privalomi laukai, medžiagos pateikimo forma arba parametro reikšmėKitas žingsnisPrieš naują kūrimo užklausą pataisykite nurodytus laukus.
Atsakymas409 · video_not_readySąlygaPradinio rezultato turinys dar nepasiekiamasKitas žingsnisPeriodiškai tikrinkite pradinį grąžintą ID ir laikykitės Retry-After.
Atsakymasserver_errorSąlygaGrąžintame atsakyme nurodoma, kad operaciją arba rezultatą reikia patikrintiKitas žingsnisIšsaugokite pradinį grąžintą operacijos ar užduoties ID, užklausos antraštes ir atsakymą; toliau tikrinkite tos pačios pradinės operacijos duomenis palaikomais būdais. Kūrimo užklausos pakartotinai neteikite.

Pseudonimai

Modelių pseudonimai

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

Metodų kelių pseudonimai

Naudokite aukščiau nurodytus metodų kelius.

Susiję ID iškvietimui

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

FAQ · happyhorse-1.1-i2v
Kokios įvestys ir rezultatai prieinami?

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

Kokius laukus naudoja užklausa?

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

Kokie apribojimai taikomi?

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

Išsamiau

Prijunkite Ailoot prie Claude Code, OpenCode, Hermes arba savo programos.

Įmonė ir jos projektų portfelis

Įmonė ir jos projektų portfelis: milijonai klientų; mėnesio pardavimai siekia milijardus.

Pirkite žetonus su nuolaida.

Prenumeratos nuolaida reguliariam darbui. Kodai — iki 50% žetonų pirkimui.

Prenumerata
Pasirinkite planą su nuolaida reguliarioms užklausoms.
Nuolaidos kodas iki 50%
Įveskite kodą perkant. Kaina perskaičiuojama pagal galiojančios akcijos sąlygas.
Išlaidos istorijoje
Kiekvienai užklausai išsaugomi modelis, žetonai ir suma.

Pasirinkti prenumeratą · Peržiūrėti modelių kainas

Prijunkite API prie produkto, kurį parduodate.

SaaS, programos ir botai pagal Ailoot ofertą bei licencijos sutartį. Perpardavimui paprašykite perpardavėjo licencijos.

Komercinė programa
Teksto, vaizdų, video ir garso kūrimą integruokite į mokamas paslaugos funkcijas.
Perpardavėjo licencija
Atsiųskite projekto aprašymą ir prieigos schemą. Paprašykite rašytinių naudojimo ir perpardavimo sąlygų.
Dokumentai svetainėje
Oferta, licencijos sutartis ir duomenų tvarkymo politika prieinamos prieš prisijungiant.

Paprašyti perpardavėjo licencijos · Oferta ir licencijos sutartis