modeli

happyhorse-1.1-i2v

Markdown · JSON

happyhorse-1.1-i2v

Model za oživljanje slike: izvirna slika določa prvi kader, opis pa usmerja nadaljnje gibanje. Ustvari kratek videoposnetek z možnostjo zvočne spremljave.

O modelu

Ta opis zajema zmožnosti modela. Vhodi, izhodi in možnosti, ki so na voljo v Ailoot, so spodaj navedeni za izbrano metodo.

HappyHorse-1.1-I2V je model družbe Alibaba, ki videosceno začne z že pripravljeno sliko. Ta postane prvi kader, besedilo pa lahko določi nadaljnje dogajanje: gibanje lika, spremembe v sceni in smer kamere. Primeren je za oživljanje ilustracije, fotografije izdelka ali vnaprej pripravljenega vizualnega koncepta.

Besedilni opis ni obvezen. Če ga ni, model sam iz vsebine začetne slike izpelje možno gibanje. Če opis podate, izvirna slika določa kompozicijo in videz objektov, besede pa usmerjajo razvoj scene skozi čas.

Od prvega kadra do gibanja

Alibaba izpostavlja ohranjanje videza lika, vizualno skladnost, tekoče gibanje ter povezovanje slike in zvoka. Med navedenimi razvojnimi cilji je tudi obstojnost napisov in tekstur. Te lastnosti opisujejo zasnovo modela in ne pomenijo dobesednega ohranjanja vsake slikovne pike v vseh ustvarjenih kadrih.

Ta način uporablja eno začetno sliko. Ta določa izhodiščno sceno in ne predstavlja nabora neodvisnih vzorcev za novo kompozicijo. Za to konkretno različico možnost določitve ločenega zaključnega kadra ni navedena.

Sprejeti so formati JPEG, JPG, PNG in WEBP. Vsaka stranica vhodne slike mora imeti najmanj 300 slikovnih pik; dovoljeno razmerje stranic je od 1:2,5 do 2,5:1, velikost datoteke pa do 20 MB. Razmerje stranic končnega videa sledi prvemu kadru.

Parametri posnetka

Trajanje izberete kot celo število od 3 do 15 sekund. Na voljo so ločljivosti 480P, 720P in 1080P; izhodni format je MP4, hitrost pa 24 sličic na sekundo. Podprto je ustvarjanje zvočne spremljave skupaj z videom.

Opis je lahko v katerem koli jeziku in vsebuje do 5000 nekitajskih ali 2500 kitajskih znakov. Če to mejo preseže, se presežni del zavrže, zato naj bodo pomembna dejanja in značilnosti gibanja opisana znotraj omejitve. Enako začetno naključno seme lahko da podobne posnetke, ne zagotavlja pa njihovega ujemanja sličico za sličico.

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

happyhorse-1.1-i2v

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

Začetek

Model za oživljanje slike: izvirna slika določa prvi kader, opis pa usmerja nadaljnje gibanje. Ustvari kratek videoposnetek z možnostjo zvočne spremljave.

Dovoljeni vhodi
Besedilo · Slike
Rezultati
Video

Na voljo v Ailoot · vhodi in metode

Ailoot · Videoposnetki POST /v1/videos/generations
Vhod
text, image
Izhod
video
Izhodni format
mp4
PoljeVrstaZahtevaVrednosti in omejitvePrivzeto
PoljemodelVrstastringZahtevaObveznoVrednosti in omejitve
happyhorse-1.1-i2v
Privzeto—
PoljepromptVrstastringZahtevaIzbirnoVrednosti in omejitve
Najmanjša dolžina: 1
Privzeto—
PoljedurationVrstaintegerZahtevaIzbirnoVrednosti in omejitve
Najmanj: 3
Največ: 15
Enota: sekunde
Privzeto5
PoljeresolutionVrstastringZahtevaIzbirnoVrednosti in omejitve
480P, 720P, 1080P
Privzeto720P
PoljeratioVrstastringZahtevaNi podprtoVrednosti in omejitvePrivzeto—
Poljeimage_urlsVrstahttps_url|data_image_url[]ZahtevaObveznoVrednosti in omejitve
Najmanjše število elementov: 1
Največ elementov: 1
Največ dekodiranih bajtov: 20.971.520
Vrste MIME: image/jpeg, image/png, image/webp
Privzeto—
Kombinacije vhodnih gradiv

first_frame_to_video · Obvezno: image_urls

Parametri in življenjski cikel metode
ParameterSpecifikacija
Parametercontent_typeSpecifikacijaapplication/json
ParameterrequiredSpecifikacijamodel, image_urls
Parametermaterial_typesSpecifikacijatext, image
ParameteroptionalSpecifikacijaduration, resolution, ratio, prompt
Parameterduration_integer_rangeSpecifikacija3, 15
Parameterdefault_durationSpecifikacija5
ParameterresolutionSpecifikacija480P, 720P, 1080P
Parameterdefault_resolutionSpecifikacija720P
ParameterratioSpecifikacija
Parameterratio_must_omitSpecifikacijatrue
Parameterimage_urlsSpecifikacija{"min_count":1,"max_count":1,"schemes":["https","data za rastrsko sliko v base64"],"max_data_image_bytes":20971520}

Življenjski cikel: 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

Strukture metod in ID so natančno določeni; zmožnost ponudnika je ločena od sprejema zahteve.

Cenik

Cene metod Ailoot

Ailoot VideoposnetkiPOST /v1/videos/generations
Izhod
0,18 $ na sekundo pri 1080p
Izhod
0,07 $ na sekundo pri 480p
Izhod
0,14 $ na sekundo pri 720p

Ailoot pred zahtevo rezervira ocenjeni znesek. Po rezultatu obračuna končni strošek na podlagi izmerjene porabe. Obračun pretakanja uporablja končni zapis porabe. Kako delujeta rezervacija in obračun →

Primeri zahtev

Ailoot · Videoposnetki

Referenčna slika
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

Prejmi in shrani rezultate

Ailoot · Videoposnetki

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
Preveri stanje opravila
GET stanje
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
Shrani vsa dokončana gradiva
GET vsa dokončana gradiva
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
Branje druge vsebine
GET vsebina
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
Ohrani vse dokončane rezultate

Shranite vsak dokončan video ali vrnjeno datoteko; pridobite vsebino z vsake dejansko vrnjene URL gradiva.

Ohranite vsak vrnjeni element data/indeks izhoda. content_url je samo prvi; pridobite vsako dejansko pot vsebine/sredstvo. GET vsebine brez index ne pomeni vseh izhodov.

Če je treba preveriti izvirni odgovor

Berite obstoječe prvotno opravilo; neznane oddaje nikoli ne ponovite.

Polja odgovora
PoljeVrsta
PoljeidVrstastring
PoljeobjectVrstastring
PoljemodelVrstastring
PoljestatusVrstastring
Poljecontent_urlVrstasigned URL
Poljedata[]Vrstasigned URL
PoljeusageVrstaobject
Poljeresult_pending_checkVrstaboolean
Napake in naslednji koraki
OdgovorPogojNaslednji korak
Odgovor400 · invalid_request_errorPogojNeveljavna obvezna polja, predstavitev gradiva ali vrednost parametraNaslednji korakPred novo zahtevo za ustvarjanje popravite navedena polja.
Odgovor409 · video_not_readyPogojPrvotna vsebina rezultata še ni na voljoNaslednji korakPreverjajte prvotni vrnjeni ID in upoštevajte Retry-After.
Odgovorserver_errorPogojVrnjeni odgovor navaja, da je treba operacijo ali rezultat preveritiNaslednji korakShranite izvirni vrnjeni ID operacije/opravila, glave zahteve in odgovor; nadaljujte s podprtimi branji te izvirne operacije. Zahteve za ustvarjanje ne pošiljajte znova.

Druga imena

Druga imena modelov

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

Druga imena poti metod

Uporabite zgoraj navedene poti metod.

Povezani ID-ji za klic

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

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

happyhorse-i2v

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

Začetek

Model za oživljanje slike: izvirna slika določa prvi kader, opis pa usmerja nadaljnje gibanje. Ustvari kratek videoposnetek z možnostjo zvočne spremljave.

Dovoljeni vhodi
Besedilo · Slike
Rezultati
Video

Na voljo v Ailoot · vhodi in metode

Ailoot · Videoposnetki POST /v1/videos/generations
Vhod
text, image
Izhod
video
Izhodni format
mp4
PoljeVrstaZahtevaVrednosti in omejitvePrivzeto
PoljemodelVrstastringZahtevaObveznoVrednosti in omejitve
happyhorse-i2v
Privzeto—
PoljepromptVrstastringZahtevaIzbirnoVrednosti in omejitve
Najmanjša dolžina: 1
Privzeto—
PoljedurationVrstaintegerZahtevaIzbirnoVrednosti in omejitve
Najmanj: 3
Največ: 15
Enota: sekunde
Privzeto5
PoljeresolutionVrstastringZahtevaIzbirnoVrednosti in omejitve
480P, 720P, 1080P
Privzeto720P
PoljeratioVrstastringZahtevaNi podprtoVrednosti in omejitvePrivzeto—
Poljeimage_urlsVrstahttps_url|data_image_url[]ZahtevaObveznoVrednosti in omejitve
Najmanjše število elementov: 1
Največ elementov: 1
Največ dekodiranih bajtov: 20.971.520
Vrste MIME: image/jpeg, image/png, image/webp
Privzeto—
Kombinacije vhodnih gradiv

first_frame_to_video · Obvezno: image_urls

Parametri in življenjski cikel metode
ParameterSpecifikacija
Parametermaterial_typesSpecifikacijatext, image
ParameterrequiredSpecifikacijanull
Parameteroptional_controlsSpecifikacijanull

Življenjski cikel: 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

Strukture metod in ID so natančno določeni; zmožnost ponudnika je ločena od sprejema zahteve.

Cenik

Cene metod Ailoot

Ailoot VideoposnetkiPOST /v1/videos/generations
Izhod
0,18 $ na sekundo pri 1080p
Izhod
0,07 $ na sekundo pri 480p
Izhod
0,14 $ na sekundo pri 720p

Ailoot pred zahtevo rezervira ocenjeni znesek. Po rezultatu obračuna končni strošek na podlagi izmerjene porabe. Obračun pretakanja uporablja končni zapis porabe. Kako delujeta rezervacija in obračun →

Primeri zahtev

Ailoot · Videoposnetki

Referenčna slika
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

Prejmi in shrani rezultate

Ailoot · Videoposnetki

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
Preveri stanje opravila
GET stanje
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
Shrani vsa dokončana gradiva
GET vsa dokončana gradiva
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
Branje druge vsebine
GET vsebina
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
Ohrani vse dokončane rezultate

Shranite vsak dokončan video ali vrnjeno datoteko; pridobite vsebino z vsake dejansko vrnjene URL gradiva.

Ohranite vsak vrnjeni element data/indeks izhoda. content_url je samo prvi; pridobite vsako dejansko pot vsebine/sredstvo. GET vsebine brez index ne pomeni vseh izhodov.

Če je treba preveriti izvirni odgovor

Berite obstoječe prvotno opravilo; neznane oddaje nikoli ne ponovite.

Polja odgovora
PoljeVrsta
PoljeidVrstastring
PoljeobjectVrstastring
PoljemodelVrstastring
PoljestatusVrstastring
Poljecontent_urlVrstasigned URL
Poljedata[]Vrstasigned URL
PoljeusageVrstaobject
Poljeresult_pending_checkVrstaboolean
Napake in naslednji koraki
OdgovorPogojNaslednji korak
Odgovor400 · invalid_request_errorPogojNeveljavna obvezna polja, predstavitev gradiva ali vrednost parametraNaslednji korakPred novo zahtevo za ustvarjanje popravite navedena polja.
Odgovor409 · video_not_readyPogojPrvotna vsebina rezultata še ni na voljoNaslednji korakPreverjajte prvotni vrnjeni ID in upoštevajte Retry-After.
Odgovorserver_errorPogojVrnjeni odgovor navaja, da je treba operacijo ali rezultat preveritiNaslednji korakShranite izvirni vrnjeni ID operacije/opravila, glave zahteve in odgovor; nadaljujte s podprtimi branji te izvirne operacije. Zahteve za ustvarjanje ne pošiljajte znova.

Druga imena

Druga imena modelov

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

Druga imena poti metod

Uporabite zgoraj navedene poti metod.

Povezani ID-ji za klic

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

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

happyhorse-i2v-latest

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

Začetek

Model za oživljanje slike: izvirna slika določa prvi kader, opis pa usmerja nadaljnje gibanje. Ustvari kratek videoposnetek z možnostjo zvočne spremljave.

Dovoljeni vhodi
Besedilo · Slike
Rezultati
Video

Na voljo v Ailoot · vhodi in metode

Ailoot · Videoposnetki POST /v1/videos/generations
Vhod
text, image
Izhod
video
Izhodni format
mp4
PoljeVrstaZahtevaVrednosti in omejitvePrivzeto
PoljemodelVrstastringZahtevaObveznoVrednosti in omejitve
happyhorse-i2v-latest
Privzeto—
PoljepromptVrstastringZahtevaIzbirnoVrednosti in omejitve
Najmanjša dolžina: 1
Privzeto—
PoljedurationVrstaintegerZahtevaIzbirnoVrednosti in omejitve
Najmanj: 3
Največ: 15
Enota: sekunde
Privzeto5
PoljeresolutionVrstastringZahtevaIzbirnoVrednosti in omejitve
480P, 720P, 1080P
Privzeto720P
PoljeratioVrstastringZahtevaNi podprtoVrednosti in omejitvePrivzeto—
Poljeimage_urlsVrstahttps_url|data_image_url[]ZahtevaObveznoVrednosti in omejitve
Najmanjše število elementov: 1
Največ elementov: 1
Največ dekodiranih bajtov: 20.971.520
Vrste MIME: image/jpeg, image/png, image/webp
Privzeto—
Kombinacije vhodnih gradiv

first_frame_to_video · Obvezno: image_urls

Parametri in življenjski cikel metode
ParameterSpecifikacija
Parametermaterial_typesSpecifikacijatext, image
ParameterrequiredSpecifikacijanull
Parameteroptional_controlsSpecifikacijanull

Življenjski cikel: 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

Strukture metod in ID so natančno določeni; zmožnost ponudnika je ločena od sprejema zahteve.

Cenik

Cene metod Ailoot

Ailoot VideoposnetkiPOST /v1/videos/generations
Izhod
0,18 $ na sekundo pri 1080p
Izhod
0,07 $ na sekundo pri 480p
Izhod
0,14 $ na sekundo pri 720p

Ailoot pred zahtevo rezervira ocenjeni znesek. Po rezultatu obračuna končni strošek na podlagi izmerjene porabe. Obračun pretakanja uporablja končni zapis porabe. Kako delujeta rezervacija in obračun →

Primeri zahtev

Ailoot · Videoposnetki

Referenčna slika
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

Prejmi in shrani rezultate

Ailoot · Videoposnetki

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
Preveri stanje opravila
GET stanje
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
Shrani vsa dokončana gradiva
GET vsa dokončana gradiva
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
Branje druge vsebine
GET vsebina
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
Ohrani vse dokončane rezultate

Shranite vsak dokončan video ali vrnjeno datoteko; pridobite vsebino z vsake dejansko vrnjene URL gradiva.

Ohranite vsak vrnjeni element data/indeks izhoda. content_url je samo prvi; pridobite vsako dejansko pot vsebine/sredstvo. GET vsebine brez index ne pomeni vseh izhodov.

Če je treba preveriti izvirni odgovor

Berite obstoječe prvotno opravilo; neznane oddaje nikoli ne ponovite.

Polja odgovora
PoljeVrsta
PoljeidVrstastring
PoljeobjectVrstastring
PoljemodelVrstastring
PoljestatusVrstastring
Poljecontent_urlVrstasigned URL
Poljedata[]Vrstasigned URL
PoljeusageVrstaobject
Poljeresult_pending_checkVrstaboolean
Napake in naslednji koraki
OdgovorPogojNaslednji korak
Odgovor400 · invalid_request_errorPogojNeveljavna obvezna polja, predstavitev gradiva ali vrednost parametraNaslednji korakPred novo zahtevo za ustvarjanje popravite navedena polja.
Odgovor409 · video_not_readyPogojPrvotna vsebina rezultata še ni na voljoNaslednji korakPreverjajte prvotni vrnjeni ID in upoštevajte Retry-After.
Odgovorserver_errorPogojVrnjeni odgovor navaja, da je treba operacijo ali rezultat preveritiNaslednji korakShranite izvirni vrnjeni ID operacije/opravila, glave zahteve in odgovor; nadaljujte s podprtimi branji te izvirne operacije. Zahteve za ustvarjanje ne pošiljajte znova.

Druga imena

Druga imena modelov

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

Druga imena poti metod

Uporabite zgoraj navedene poti metod.

Povezani ID-ji za klic

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

FAQ · happyhorse-1.1-i2v
Kateri vhodi in rezultati so na voljo?

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

Katera polja uporablja zahteva?

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

Katere omejitve veljajo?

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

Več podrobnosti

Ailoot povežite s Claude Code, OpenCode, Hermes ali svojo aplikacijo.

Podjetje in njegov portfelj projektov

Podjetje in njegov portfelj projektov: milijoni strank; mesečna prodaja v milijardah.

Žetone kupujte s popustom.

Naročniški popust za redno delo. Promocijske kode prinesejo do 50% popusta na nakup žetonov.

Naročnina
Za redne zahteve izberite paket s popustom.
Promocijska koda do 50%
Kodo vnesite ob nakupu. Cena se preračuna po veljavni akciji.
Poraba v zgodovini
Za vsako zahtevo se shranijo model, žetoni in znesek.

Izberite naročnino · Oglejte si cene modelov

API povežite z izdelkom, ki ga prodajate.

SaaS, aplikacije in boti po ponudbi in licenčni pogodbi Ailoot. Za nadaljnjo prodajo zaprosite za preprodajno licenco.

Komercialna aplikacija
Ustvarjanje besedila, slik, videa in zvoka vključite v plačljive funkcije svoje storitve.
Licenca za preprodajalca
Pošljite opis projekta in shemo dostopa. Zahtevajte pisne pogoje uporabe in nadaljnje prodaje.
Dokumenti na strani
Ponudba, licenčna pogodba in politika obdelave podatkov so dostopne pred povezavo.

Zaprosite za preprodajno licenco · Ponudba in licenčna pogodba