models

happyhorse-1.1-i2v

Markdown · JSON

happyhorse-1.1-i2v

Képanimáló modell: a kiinduló kép adja az első képkockát, a leírás pedig a további mozgást irányítja. Rövid videót készít, igény szerint hanggal.

A modellről

Ez a leírás a modell képességeit ismerteti. Az Ailootban elérhető bemenetek, kimenetek és lehetőségek alább, a kiválasztott metódusnál láthatók.

A HappyHorse-1.1-I2V az Alibaba modellje, amely egy kész képből indítja a videojelenetet. A kép lesz az első képkocka, a szöveg pedig meghatározhatja az ezt követő történéseket: a szereplő mozgását, a jelenet változásait és a kamera irányát. Illusztrációk, termékfotók vagy előre elkészített vizuális koncepciók animálására alkalmas.

A szöveges leírás nem kötelező. Ha nincs megadva, a modell a kezdőkép tartalmából következtet a lehetséges mozgásra. Kifejezett utasítás esetén a kiinduló kép határozza meg a kompozíciót és az objektumok megjelenését, a szavak pedig a jelenet időbeli alakulását irányítják.

Az első képkockától a mozgásig

Az Alibaba a szereplők megjelenésének megőrzését, a vizuális összhangot, a folyamatos mozgást, valamint a kép és a hang összehangolását emeli ki. A megjelölt célok között szerepel a feliratok és textúrák stabilitása is. Ezek a tulajdonságok a modell tervezett működésére vonatkoznak, és nem jelentik minden egyes pixel változatlan megőrzését az összes generált képkockán.

Ehhez a módhoz egy kezdőkép használható. Ez a kiinduló jelenetet adja meg, nem pedig egymástól független mintákat egy új kompozícióhoz. Ennél a konkrét verziónál nincs feltüntetve külön záróképkocka megadásának lehetősége.

JPEG, JPG, PNG és WEBP fogadható el. A bemeneti kép mindkét oldalának legalább 300 pixelesnek kell lennie; a megengedett képarány 1:2,5 és 2,5:1 közötti, a fájlméret legfeljebb 20 MB. Az elkészült videó képaránya az első képkockáéhoz igazodik.

A videó paraméterei

Az időtartam 3 és 15 másodperc közötti egész számként választható meg. Az elérhető felbontások: 480P, 720P és 1080P; a kimeneti formátum MP4, a képkockasebesség 24 képkocka másodpercenként. A videóval együtt hang is generálható.

A leírás bármilyen nyelvű lehet, és legfeljebb 5000 nem kínai vagy 2500 kínai karaktert tartalmazhat. A határ túllépésekor a többlet levágásra kerül, ezért a fontos történéseket és a mozgás jellemzőit ezen a kereten belül érdemes megfogalmazni. Azonos kezdő véletlenmaggal hasonló videók készülhetnek, de a képkockáról képkockára egyező eredmény nem garantált.

Ailoot · Videó POST /v1/videos/generations happyhorse-1.1-i2v

happyhorse-1.1-i2v

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

Kezdő lépések

Képanimáló modell: a kiinduló kép adja az első képkockát, a leírás pedig a további mozgást irányítja. Rövid videót készít, igény szerint hanggal.

Elfogadott bemenetek
Szöveg · Képek
Eredmények
Videó

Elérhető az Ailootban · bemenetek és metódusok

Ailoot · Videó POST /v1/videos/generations
Bemenet
text, image
Kimenet
video
Kimeneti formátum
mp4
MezőTípusKövetelményÉrtékek és korlátokAlapértelmezett
MezőmodelTípusstringKövetelményKötelezőÉrtékek és korlátok
happyhorse-1.1-i2v
Alapértelmezett—
MezőpromptTípusstringKövetelményOpcionálisÉrtékek és korlátok
Minimális hossz: 1
Alapértelmezett—
MeződurationTípusintegerKövetelményOpcionálisÉrtékek és korlátok
Minimum: 3
Maximum: 15
Egység: másodperc
Alapértelmezett5
MezőresolutionTípusstringKövetelményOpcionálisÉrtékek és korlátok
480P, 720P, 1080P
Alapértelmezett720P
MezőratioTípusstringKövetelményNem támogatottÉrtékek és korlátokAlapértelmezett—
Mezőimage_urlsTípushttps_url|data_image_url[]KövetelményKötelezőÉrtékek és korlátok
Minimális elemszám: 1
Maximális elemszám: 1
Maximális dekódolt bájtszám: 20 971 520
MIME-típusok: image/jpeg, image/png, image/webp
Alapértelmezett—
Bemeneti anyagok kombinációi

first_frame_to_video · Kötelező: image_urls

Metódus paraméterei és életciklusa
ParaméterSzerződés
Paramétercontent_typeSzerződésapplication/json
ParaméterrequiredSzerződésmodel, image_urls
Paramétermaterial_typesSzerződéstext, image
ParaméteroptionalSzerződésduration, resolution, ratio, prompt
Paraméterduration_integer_rangeSzerződés3, 15
Paraméterdefault_durationSzerződés5
ParaméterresolutionSzerződés480P, 720P, 1080P
Paraméterdefault_resolutionSzerződés720P
ParaméterratioSzerződés
Paraméterratio_must_omitSzerződéstrue
Paraméterimage_urlsSzerződés{"min_count":1,"max_count":1,"schemes":["https","raszteres képadatok base64 formában"],"max_data_image_bytes":20971520}

Életciklus: 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

A metódusok szerkezete és azonosítói pontosak; a beszállítói képesség különbözik a kérelmek befogadásától.

Díjcsomagok

Ailoot-metódusok díjai

Ailoot VideóPOST /v1/videos/generations
Kimenet
0,18 USD másodpercenként, 1080p felbontáson
Kimenet
0,07 USD másodpercenként, 480p felbontáson
Kimenet
0,14 USD másodpercenként, 720p felbontáson

Az Ailoot a kérés előtt becsült összeget foglal le. Az eredmény után a mért használat alapján elszámolja a végső díjat. Folyamatos átvitel esetén a végső használati rekordot használja. A foglalás és az elszámolás működése →

Példakérések

Ailoot · Videó

Referenciakép
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

Eredmények fogadása és mentése

Ailoot · Videó

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
Feladatállapot ellenőrzése
Állapot lekérése GET-tel
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
Mentsen minden elkészült médiafájlt
Az összes elkészült médiafájl lekérése GET-tel
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
További tartalomlekérések
Tartalom lekérése GET-tel
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
Őrizzen meg minden elkészült eredményt

Mentsen minden elkészült videót és visszaadott fájlt; töltse le az összes ténylegesen visszaadott médiafájl URL-jének tartalmát.

Őrizzen meg minden visszaadott adatelemet és kimeneti indexet. A content_url csak az elsőt jelöli; kérje le az összes tényleges tartalomútvonalat és médiaállományt. Az index nélküli GET content nem adja vissza az összes kimenetet.

Ha az eredeti választ ellenőrizni kell

A meglévő eredeti feladatot kérdezze le; ismeretlen kimenetelű küldést soha ne küldjön be újra.

Válaszmezők
MezőTípus
MezőidTípusstring
MezőobjectTípusstring
MezőmodelTípusstring
MezőstatusTípusstring
Mezőcontent_urlTípussigned URL
Meződata[]Típussigned URL
MezőusageTípusobject
Mezőresult_pending_checkTípusboolean
Hibák és következő lépések
VálaszFeltételKövetkező lépés
Válasz400 · invalid_request_errorFeltételÉrvénytelen kötelező mezők, az anyag érvénytelen reprezentációja vagy érvénytelen paraméterértékKövetkező lépésJavítsa a jelzett mezőket egy új létrehozási kérés előtt.
Válasz409 · video_not_readyFeltételAz eredeti eredmény tartalma még nem érhető elKövetkező lépésKérdezze le az eredetileg visszaadott azonosítót, és tartsa be a Retry-After előírását.
Válaszserver_errorFeltételA visszaadott válasz szerint a művelet vagy az eredmény ellenőrzést igényelKövetkező lépésŐrizze meg az eredetileg visszaadott művelet- vagy feladatazonosítót, a kérés fejléceit és a választ; folytassa az eredeti művelet támogatott lekérdezéseit. Ne küldje be újra a létrehozási kérést.

Álnevek

Modell álnevei

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

Metódusútvonalak álnevei

Használja a fent látható metódusútvonalakat.

Kapcsolódó modellazonosítók

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

Ailoot · Videó POST /v1/videos/generations happyhorse-i2v

happyhorse-i2v

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

Kezdő lépések

Képanimáló modell: a kiinduló kép adja az első képkockát, a leírás pedig a további mozgást irányítja. Rövid videót készít, igény szerint hanggal.

Elfogadott bemenetek
Szöveg · Képek
Eredmények
Videó

Elérhető az Ailootban · bemenetek és metódusok

Ailoot · Videó POST /v1/videos/generations
Bemenet
text, image
Kimenet
video
Kimeneti formátum
mp4
MezőTípusKövetelményÉrtékek és korlátokAlapértelmezett
MezőmodelTípusstringKövetelményKötelezőÉrtékek és korlátok
happyhorse-i2v
Alapértelmezett—
MezőpromptTípusstringKövetelményOpcionálisÉrtékek és korlátok
Minimális hossz: 1
Alapértelmezett—
MeződurationTípusintegerKövetelményOpcionálisÉrtékek és korlátok
Minimum: 3
Maximum: 15
Egység: másodperc
Alapértelmezett5
MezőresolutionTípusstringKövetelményOpcionálisÉrtékek és korlátok
480P, 720P, 1080P
Alapértelmezett720P
MezőratioTípusstringKövetelményNem támogatottÉrtékek és korlátokAlapértelmezett—
Mezőimage_urlsTípushttps_url|data_image_url[]KövetelményKötelezőÉrtékek és korlátok
Minimális elemszám: 1
Maximális elemszám: 1
Maximális dekódolt bájtszám: 20 971 520
MIME-típusok: image/jpeg, image/png, image/webp
Alapértelmezett—
Bemeneti anyagok kombinációi

first_frame_to_video · Kötelező: image_urls

Metódus paraméterei és életciklusa
ParaméterSzerződés
Paramétermaterial_typesSzerződéstext, image
ParaméterrequiredSzerződésnull
Paraméteroptional_controlsSzerződésnull

Életciklus: 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

A metódusok szerkezete és azonosítói pontosak; a beszállítói képesség különbözik a kérelmek befogadásától.

Díjcsomagok

Ailoot-metódusok díjai

Ailoot VideóPOST /v1/videos/generations
Kimenet
0,18 USD másodpercenként, 1080p felbontáson
Kimenet
0,07 USD másodpercenként, 480p felbontáson
Kimenet
0,14 USD másodpercenként, 720p felbontáson

Az Ailoot a kérés előtt becsült összeget foglal le. Az eredmény után a mért használat alapján elszámolja a végső díjat. Folyamatos átvitel esetén a végső használati rekordot használja. A foglalás és az elszámolás működése →

Példakérések

Ailoot · Videó

Referenciakép
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

Eredmények fogadása és mentése

Ailoot · Videó

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
Feladatállapot ellenőrzése
Állapot lekérése GET-tel
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
Mentsen minden elkészült médiafájlt
Az összes elkészült médiafájl lekérése GET-tel
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
További tartalomlekérések
Tartalom lekérése GET-tel
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
Őrizzen meg minden elkészült eredményt

Mentsen minden elkészült videót és visszaadott fájlt; töltse le az összes ténylegesen visszaadott médiafájl URL-jének tartalmát.

Őrizzen meg minden visszaadott adatelemet és kimeneti indexet. A content_url csak az elsőt jelöli; kérje le az összes tényleges tartalomútvonalat és médiaállományt. Az index nélküli GET content nem adja vissza az összes kimenetet.

Ha az eredeti választ ellenőrizni kell

A meglévő eredeti feladatot kérdezze le; ismeretlen kimenetelű küldést soha ne küldjön be újra.

Válaszmezők
MezőTípus
MezőidTípusstring
MezőobjectTípusstring
MezőmodelTípusstring
MezőstatusTípusstring
Mezőcontent_urlTípussigned URL
Meződata[]Típussigned URL
MezőusageTípusobject
Mezőresult_pending_checkTípusboolean
Hibák és következő lépések
VálaszFeltételKövetkező lépés
Válasz400 · invalid_request_errorFeltételÉrvénytelen kötelező mezők, az anyag érvénytelen reprezentációja vagy érvénytelen paraméterértékKövetkező lépésJavítsa a jelzett mezőket egy új létrehozási kérés előtt.
Válasz409 · video_not_readyFeltételAz eredeti eredmény tartalma még nem érhető elKövetkező lépésKérdezze le az eredetileg visszaadott azonosítót, és tartsa be a Retry-After előírását.
Válaszserver_errorFeltételA visszaadott válasz szerint a művelet vagy az eredmény ellenőrzést igényelKövetkező lépésŐrizze meg az eredetileg visszaadott művelet- vagy feladatazonosítót, a kérés fejléceit és a választ; folytassa az eredeti művelet támogatott lekérdezéseit. Ne küldje be újra a létrehozási kérést.

Álnevek

Modell álnevei

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

Metódusútvonalak álnevei

Használja a fent látható metódusútvonalakat.

Kapcsolódó modellazonosítók

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

Ailoot · Videó POST /v1/videos/generations happyhorse-i2v-latest

happyhorse-i2v-latest

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

Kezdő lépések

Képanimáló modell: a kiinduló kép adja az első képkockát, a leírás pedig a további mozgást irányítja. Rövid videót készít, igény szerint hanggal.

Elfogadott bemenetek
Szöveg · Képek
Eredmények
Videó

Elérhető az Ailootban · bemenetek és metódusok

Ailoot · Videó POST /v1/videos/generations
Bemenet
text, image
Kimenet
video
Kimeneti formátum
mp4
MezőTípusKövetelményÉrtékek és korlátokAlapértelmezett
MezőmodelTípusstringKövetelményKötelezőÉrtékek és korlátok
happyhorse-i2v-latest
Alapértelmezett—
MezőpromptTípusstringKövetelményOpcionálisÉrtékek és korlátok
Minimális hossz: 1
Alapértelmezett—
MeződurationTípusintegerKövetelményOpcionálisÉrtékek és korlátok
Minimum: 3
Maximum: 15
Egység: másodperc
Alapértelmezett5
MezőresolutionTípusstringKövetelményOpcionálisÉrtékek és korlátok
480P, 720P, 1080P
Alapértelmezett720P
MezőratioTípusstringKövetelményNem támogatottÉrtékek és korlátokAlapértelmezett—
Mezőimage_urlsTípushttps_url|data_image_url[]KövetelményKötelezőÉrtékek és korlátok
Minimális elemszám: 1
Maximális elemszám: 1
Maximális dekódolt bájtszám: 20 971 520
MIME-típusok: image/jpeg, image/png, image/webp
Alapértelmezett—
Bemeneti anyagok kombinációi

first_frame_to_video · Kötelező: image_urls

Metódus paraméterei és életciklusa
ParaméterSzerződés
Paramétermaterial_typesSzerződéstext, image
ParaméterrequiredSzerződésnull
Paraméteroptional_controlsSzerződésnull

Életciklus: 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

A metódusok szerkezete és azonosítói pontosak; a beszállítói képesség különbözik a kérelmek befogadásától.

Díjcsomagok

Ailoot-metódusok díjai

Ailoot VideóPOST /v1/videos/generations
Kimenet
0,18 USD másodpercenként, 1080p felbontáson
Kimenet
0,07 USD másodpercenként, 480p felbontáson
Kimenet
0,14 USD másodpercenként, 720p felbontáson

Az Ailoot a kérés előtt becsült összeget foglal le. Az eredmény után a mért használat alapján elszámolja a végső díjat. Folyamatos átvitel esetén a végső használati rekordot használja. A foglalás és az elszámolás működése →

Példakérések

Ailoot · Videó

Referenciakép
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

Eredmények fogadása és mentése

Ailoot · Videó

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
Feladatállapot ellenőrzése
Állapot lekérése GET-tel
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
Mentsen minden elkészült médiafájlt
Az összes elkészült médiafájl lekérése GET-tel
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
További tartalomlekérések
Tartalom lekérése GET-tel
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
Őrizzen meg minden elkészült eredményt

Mentsen minden elkészült videót és visszaadott fájlt; töltse le az összes ténylegesen visszaadott médiafájl URL-jének tartalmát.

Őrizzen meg minden visszaadott adatelemet és kimeneti indexet. A content_url csak az elsőt jelöli; kérje le az összes tényleges tartalomútvonalat és médiaállományt. Az index nélküli GET content nem adja vissza az összes kimenetet.

Ha az eredeti választ ellenőrizni kell

A meglévő eredeti feladatot kérdezze le; ismeretlen kimenetelű küldést soha ne küldjön be újra.

Válaszmezők
MezőTípus
MezőidTípusstring
MezőobjectTípusstring
MezőmodelTípusstring
MezőstatusTípusstring
Mezőcontent_urlTípussigned URL
Meződata[]Típussigned URL
MezőusageTípusobject
Mezőresult_pending_checkTípusboolean
Hibák és következő lépések
VálaszFeltételKövetkező lépés
Válasz400 · invalid_request_errorFeltételÉrvénytelen kötelező mezők, az anyag érvénytelen reprezentációja vagy érvénytelen paraméterértékKövetkező lépésJavítsa a jelzett mezőket egy új létrehozási kérés előtt.
Válasz409 · video_not_readyFeltételAz eredeti eredmény tartalma még nem érhető elKövetkező lépésKérdezze le az eredetileg visszaadott azonosítót, és tartsa be a Retry-After előírását.
Válaszserver_errorFeltételA visszaadott válasz szerint a művelet vagy az eredmény ellenőrzést igényelKövetkező lépésŐrizze meg az eredetileg visszaadott művelet- vagy feladatazonosítót, a kérés fejléceit és a választ; folytassa az eredeti művelet támogatott lekérdezéseit. Ne küldje be újra a létrehozási kérést.

Álnevek

Modell álnevei

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

Metódusútvonalak álnevei

Használja a fent látható metódusútvonalakat.

Kapcsolódó modellazonosítók

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

FAQ · happyhorse-1.1-i2v
Milyen bemenetek és eredmények érhetők el?

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

Mely mezőket használja a kérés?

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

Milyen korlátok érvényesek?

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

További részletek

Csatlakoztassa az Ailootot a Claude Code-hoz, OpenCode-hoz, Hermeshez vagy saját alkalmazásához.

A vállalat és projektportfóliója

A vállalat és projektportfóliója: ügyfelek milliói; havi értékesítés milliárdos nagyságrendben.

Vásároljon tokeneket kedvezménnyel.

Előfizetési kedvezmény rendszeres munkához. Promókódok — akár 50% tokenvásárlási kedvezmény.

Előfizetés
Válasszon kedvezményes tarifát a rendszeres kéréseihez.
Promókód akár 50%-ig
Vásárláskor adja meg a kódot. Az ár az érvényes akció szerint újraszámolódik.
Költségek az előzményekben
Minden kéréshez megmarad a modell, a tokenek és az összeg.

Előfizetés kiválasztása · Modellárak megtekintése

Csatlakoztassa az API-t az értékesített termékéhez.

SaaS, alkalmazások és botok — az Ailoot ajánlati feltételei és licencszerződése alapján. Viszonteladáshoz kérjen viszonteladói licencet.

Kereskedelmi alkalmazás
Építsen szöveg-, kép-, videó- és hanggenerálást szolgáltatása fizetős funkcióiba.
Viszonteladói licenc
Küldje el a projekt leírását és a hozzáférés módját. Kérjen írásos használati és viszonteladási feltételeket.
Dokumentumok a weboldalon
Az ajánlati feltételek, licencszerződés és adatkezelési szabályzat már a csatlakoztatás előtt elérhető.

Viszonteladói licenc kérése · Ajánlati feltételek és licencszerződés