models

happyhorse-1.1-r2v

Markdown · JSON

happyhorse-1.1-r2v

Vaizdo įrašų generavimo modelis, naudojantis pavyzdinius vaizdus ir tekstinį scenarijų. Padeda naujoje scenoje išlaikyti veikėjų išvaizdą, daiktus ir vizualinį stilių.

Apie modelį

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

HappyHorse-1.1-R2V kuria naują vaizdo sceną pagal pavyzdinius vaizdus ir tekstinę užduotį. Alibaba šį modelį skiria atpažįstamiems veikėjams, objektams ir vizualiniam stiliui išlaikyti generuojant judesį. Pavyzdiniai vaizdai nustato scenos turinį ir išvaizdą, o tekstas aprašo, kaip šie elementai turi sąveikauti.

Vaizdinių pavyzdžių vaidmenys

Galima naudoti nuo vieno iki devynių vaizdų. Jie gali apibrėžti veikėją, daiktą, aplinką ar meninę išraišką. Aprašyme galima nurodyti pavyzdinio vaizdo numerį ir konkretų jame esantį objektą, kad vaizdinė medžiaga būtų susieta su reikiama veiksmo dalimi. Tai ypač naudinga, kai kelių vaizdų elementus reikia sujungti į vieną kompoziciją.

Skirtingai nuo režimo su pradiniu kadru, pavyzdiniai vaizdai čia yra naujos scenos turinio atramos. Tekstinė užduotis privaloma: ji susieja objektų išvaizdą su veiksmu, kameros judesiu ir bendru scenos pastatymu. Gamintojas pabrėžia vizualinį nuoseklumą ir kinematografišką judesį; rezultatas yra generuojamas, o ne sumontuojamas iš pradinių vaizdų.

Priimami JPEG, JPG, PNG ir WEBP, kurių kiekvieno dydis — iki 20 MB. Trumpesnioji vaizdo kraštinė turi būti ne trumpesnė kaip 400 pikselių; rekomenduojama 720P ar aukštesnės raiškos medžiaga. Šio režimo įvestį sudaro būtent vaizdai ir tekstas.

Trukmė, kadras ir garsas

Rezultatas išsaugomas MP4 formatu, 24 kadrų per sekundę dažniu. Trukmė nurodoma sveikuoju skaičiumi nuo 3 iki 15 sekundžių. Galima rinktis 480P, 720P ir 1080P raišką; palaikomas garso takelio generavimas.

Galimi horizontalūs, vertikalūs ir kvadratiniai kadrai: 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21 ir 21:9. Formato pasirinkimas padeda iš anksto nustatyti naujos scenos kompozicijos erdvę.

Tekstas gali būti bet kuria kalba. Riba — 5000 ne kinų arba 2500 kinų rašmenų, perteklinė dalis atmetama. Svarbiausi pavyzdinių vaizdų vaidmenys, veiksmas ir judėjimas turi tilpti į šią apimtį. Pradinė atsitiktinumo reikšmė gali padėti gauti panašių variantų, tačiau negarantuoja tikslaus to paties vaizdo įrašo pakartojimo.

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

happyhorse-1.1-r2v

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

Pradžia

Vaizdo įrašų generavimo modelis, naudojantis pavyzdinius vaizdus ir tekstinį scenarijų. Padeda naujoje scenoje išlaikyti veikėjų išvaizdą, daiktus ir vizualinį stilių.

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-r2v
Numatyta—
LaukaspromptTipasstringReikalavimasPrivalomaReikš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
LaukasratioTipasstringReikalavimasNeprivalomaReikšmės ir ribos
16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9
Numatyta16:9
Laukasimage_urlsTipashttps_url|data_image_url[]ReikalavimasPrivalomaReikšmės ir ribos
Mažiausias elementų skaičius: 1
Didžiausias elementų skaičius: 9
Didžiausias dekoduotų baitų skaičius: 20 971 520
MIME tipai: image/jpeg, image/png, image/webp
Numatyta—
Įvesties medžiagos deriniai

reference_images_to_video · Privaloma: prompt, image_urls

Metodo parametrai ir gyvavimo ciklas
ParametrasSpecifikacija
Parametrascontent_typeSpecifikacijaapplication/json
ParametrasrequiredSpecifikacijamodel, prompt, image_urls
Parametrasmaterial_typesSpecifikacijatext, image
ParametrasoptionalSpecifikacijaduration, resolution, ratio
Parametrasduration_integer_rangeSpecifikacija3, 15
Parametrasdefault_durationSpecifikacija5
ParametrasresolutionSpecifikacija480P, 720P, 1080P
Parametrasdefault_resolutionSpecifikacija720P
ParametrasratioSpecifikacija16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9
Parametrasratio_must_omitSpecifikacijafalse
Parametrasimage_urlsSpecifikacija{"min_count":1,"max_count":9,"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_URLS_FILE:?Set a JSON file containing your actual reference-image URLs}"
export AILOOT_IMAGE_URLS_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "happyhorse-1.1-r2v", "prompt": "The subject walks slowly toward the camera.", "duration": 5, "resolution": "720P"}')
from urllib.parse import urlsplit
f=Path(os.environ["AILOOT_IMAGE_URLS_FILE"])
if not f.is_file():raise SystemExit("Choose the actual reference URL JSON file")
urls=json.loads(f.read_text())
if not isinstance(urls,list) or not 1<=len(urls)<=9:raise SystemExit("Provide one to nine reference-image URLs")
for u in urls:
    z=urlsplit(u) if isinstance(u,str) else None
    if not z or z.scheme!="https" or not z.netloc or z.username or z.password:raise SystemExit("Each reference must be an actual HTTPS image URL")
p["image_urls"]=urls
p["ratio"]="16:9"
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-r2v, happyhorse-r2v, happyhorse-r2v-latest

Metodų kelių pseudonimai

Naudokite aukščiau nurodytus metodų kelius.

Susiję ID iškvietimui

happyhorse-1.1-r2v, happyhorse-r2v, happyhorse-r2v-latest

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

happyhorse-r2v

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

Pradžia

Vaizdo įrašų generavimo modelis, naudojantis pavyzdinius vaizdus ir tekstinį scenarijų. Padeda naujoje scenoje išlaikyti veikėjų išvaizdą, daiktus ir vizualinį stilių.

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-r2v
Numatyta—
LaukaspromptTipasstringReikalavimasPrivalomaReikš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
LaukasratioTipasstringReikalavimasNeprivalomaReikšmės ir ribos
16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9
Numatyta16:9
Laukasimage_urlsTipashttps_url|data_image_url[]ReikalavimasPrivalomaReikšmės ir ribos
Mažiausias elementų skaičius: 1
Didžiausias elementų skaičius: 9
Didžiausias dekoduotų baitų skaičius: 20 971 520
MIME tipai: image/jpeg, image/png, image/webp
Numatyta—
Įvesties medžiagos deriniai

reference_images_to_video · Privaloma: prompt, 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_URLS_FILE:?Set a JSON file containing your actual reference-image URLs}"
export AILOOT_IMAGE_URLS_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "happyhorse-r2v", "prompt": "The subject walks slowly toward the camera.", "duration": 5, "resolution": "720P"}')
from urllib.parse import urlsplit
f=Path(os.environ["AILOOT_IMAGE_URLS_FILE"])
if not f.is_file():raise SystemExit("Choose the actual reference URL JSON file")
urls=json.loads(f.read_text())
if not isinstance(urls,list) or not 1<=len(urls)<=9:raise SystemExit("Provide one to nine reference-image URLs")
for u in urls:
    z=urlsplit(u) if isinstance(u,str) else None
    if not z or z.scheme!="https" or not z.netloc or z.username or z.password:raise SystemExit("Each reference must be an actual HTTPS image URL")
p["image_urls"]=urls
p["ratio"]="16:9"
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-r2v, happyhorse-r2v, happyhorse-r2v-latest

Metodų kelių pseudonimai

Naudokite aukščiau nurodytus metodų kelius.

Susiję ID iškvietimui

happyhorse-1.1-r2v, happyhorse-r2v, happyhorse-r2v-latest

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

happyhorse-r2v-latest

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

Pradžia

Vaizdo įrašų generavimo modelis, naudojantis pavyzdinius vaizdus ir tekstinį scenarijų. Padeda naujoje scenoje išlaikyti veikėjų išvaizdą, daiktus ir vizualinį stilių.

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-r2v-latest
Numatyta—
LaukaspromptTipasstringReikalavimasPrivalomaReikš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
LaukasratioTipasstringReikalavimasNeprivalomaReikšmės ir ribos
16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9
Numatyta16:9
Laukasimage_urlsTipashttps_url|data_image_url[]ReikalavimasPrivalomaReikšmės ir ribos
Mažiausias elementų skaičius: 1
Didžiausias elementų skaičius: 9
Didžiausias dekoduotų baitų skaičius: 20 971 520
MIME tipai: image/jpeg, image/png, image/webp
Numatyta—
Įvesties medžiagos deriniai

reference_images_to_video · Privaloma: prompt, 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_URLS_FILE:?Set a JSON file containing your actual reference-image URLs}"
export AILOOT_IMAGE_URLS_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "happyhorse-r2v-latest", "prompt": "The subject walks slowly toward the camera.", "duration": 5, "resolution": "720P"}')
from urllib.parse import urlsplit
f=Path(os.environ["AILOOT_IMAGE_URLS_FILE"])
if not f.is_file():raise SystemExit("Choose the actual reference URL JSON file")
urls=json.loads(f.read_text())
if not isinstance(urls,list) or not 1<=len(urls)<=9:raise SystemExit("Provide one to nine reference-image URLs")
for u in urls:
    z=urlsplit(u) if isinstance(u,str) else None
    if not z or z.scheme!="https" or not z.netloc or z.username or z.password:raise SystemExit("Each reference must be an actual HTTPS image URL")
p["image_urls"]=urls
p["ratio"]="16:9"
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-r2v, happyhorse-r2v, happyhorse-r2v-latest

Metodų kelių pseudonimai

Naudokite aukščiau nurodytus metodų kelius.

Susiję ID iškvietimui

happyhorse-1.1-r2v, happyhorse-r2v, happyhorse-r2v-latest

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

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

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

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

Kokius laukus naudoja užklausa?

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

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

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

Kokie apribojimai taikomi?

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

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

POST /v1/videos/generations · happyhorse-r2v-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