mallit

happyhorse-1.1-r2v

Markdown · JSON

happyhorse-1.1-r2v

Videogenerointimalli referenssikuville ja tekstikäsikirjoitukselle. Auttaa säilyttämään hahmojen ulkonäön, esineet ja visuaalisen tyylin uudessa kohtauksessa.

Tietoa mallista

Tämä kuvaus kattaa mallin ominaisuudet. Ailootissa saatavilla olevat syötteet, tulosteet ja asetukset luetellaan alla valitulle menetelmälle.

HappyHorse-1.1-R2V luo uuden videokohtauksen referenssikuvien ja tekstiohjeen perusteella. Alibaba suuntaa mallin tunnistettavien hahmojen, kohteiden ja visuaalisen tyylin säilyttämiseen liikettä luotaessa. Referenssit määrittävät kohtauksen sisällön ja ulkonäön, ja teksti kuvaa elementtien vuorovaikutuksen.

Visuaalisten esimerkkien roolit

Käytössä voi olla yhdestä yhdeksään kuvaa. Ne voivat määrittää hahmon, esineen, ympäristön tai taiteellisen ilmaisun. Kuvauksessa voidaan nimetä referenssin numero ja sen tietty kohde, jotta materiaali yhdistyy oikeaan toiminnan osaan. Tämä auttaa erityisesti yhdistämään useiden kuvien elementtejä samaan sommitteluun.

Toisin kuin aloitusruututilassa, referenssit tukevat uuden kohtauksen sisältöä. Tekstiohje on pakollinen: se yhdistää kohteiden ulkonäön toimintaan, kameran liikkeeseen ja kokonaisuuden ohjaukseen. Valmistaja korostaa visuaalista yhtenäisyyttä ja elokuvamaista liikettä; tulos on edelleen generointia, ei lähtökuvien leikkaamista yhteen.

JPEG, JPG, PNG ja WEBP hyväksytään enintään 20 Mt:n kokoisina kukin. Kuvan lyhyen sivun on oltava vähintään 400 pikseliä; 720P tai tarkempi materiaali on suositeltavaa. Tämän tilan syöte koostuu nimenomaan kuvista ja tekstistä.

Kesto, kuva ja ääni

Tulos tallennetaan MP4-muodossa kuvataajuudella 24 ruutua sekunnissa. Kesto asetetaan kokonaislukuna 3–15 sekuntia. Tarkkuudeksi voidaan valita 480P, 720P tai 1080P; myös mukana kulkevan äänen generointi on tuettu.

Vaaka-, pysty- ja neliökuvasuhteet ovat käytettävissä: 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21 ja 21:9. Muodon valinta auttaa määrittämään uuden kohtauksen sommittelutilan etukäteen.

Teksti voi olla millä tahansa kielellä. Raja on 5000 muuta kuin kiinalaista tai 2500 kiinalaista merkkiä; ylittävä osa poistetaan. Tärkeimpien referenssiroolien, toiminnan ja liikkeen on mahduttava tähän määrään. Satunnaissiementä määrittävä arvo voi ohjata vaihtoehtojen samankaltaisuutta, mutta ei takaa saman videon tarkkaa toistamista.

Ailoot · Videot POST /v1/videos/generations happyhorse-1.1-r2v

happyhorse-1.1-r2v

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

Aloitus

Videogenerointimalli referenssikuville ja tekstikäsikirjoitukselle. Auttaa säilyttämään hahmojen ulkonäön, esineet ja visuaalisen tyylin uudessa kohtauksessa.

Hyväksytyt syötteet
Teksti · Kuvat
Tulokset
Video

Saatavilla Ailootissa · syötteet & menetelmät

Ailoot · Videot POST /v1/videos/generations
Syötetyypit
text, image
Tulostyypit
video
Tulosteen muoto
mp4
KenttäTyyppiVaatimusArvot & rajatOletus
KenttämodelTyyppistringVaatimusPakollinenArvot & rajat
happyhorse-1.1-r2v
Oletus—
KenttäpromptTyyppistringVaatimusPakollinenArvot & rajat
Vähimmäispituus: 1
Oletus—
KenttädurationTyyppiintegerVaatimusValinnainenArvot & rajat
Vähimmäismäärä: 3
Enimmäismäärä: 15
Yksikkö: sekuntia
Oletus5
KenttäresolutionTyyppistringVaatimusValinnainenArvot & rajat
480P, 720P, 1080P
Oletus720P
KenttäratioTyyppistringVaatimusValinnainenArvot & rajat
16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9
Oletus16:9
Kenttäimage_urlsTyyppihttps_url|data_image_url[]VaatimusPakollinenArvot & rajat
Kohteiden vähimmäismäärä: 1
Kohteiden enimmäismäärä: 9
Purettujen tavujen enimmäismäärä: 20 971 520
MIME-tyypit: image/jpeg, image/png, image/webp
Oletus—
Syöteaineistojen yhdistelmät

reference_images_to_video · Pakollinen: prompt, image_urls

Menetelmän parametrit ja elinkaari
ParametriSopimus
Parametricontent_typeSopimusapplication/json
ParametrirequiredSopimusmodel, prompt, image_urls
Parametrimaterial_typesSopimustext, image
ParametrioptionalSopimusduration, resolution, ratio
Parametriduration_integer_rangeSopimus3, 15
Parametridefault_durationSopimus5
ParametriresolutionSopimus480P, 720P, 1080P
Parametridefault_resolutionSopimus720P
ParametriratioSopimus16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9
Parametriratio_must_omitSopimusfalse
Parametriimage_urlsSopimus{"min_count":1,"max_count":9,"schemes":["https","rasterikuvan data base64-muodossa"],"max_data_image_bytes":20971520}

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

Menetelmien rakenteet ja ID:t ovat täsmällisiä; toimittajan kyvykkyys on erillinen pyynnön hyväksymisestä.

Hinnoittelu

Ailoot-menetelmien hinnat

Ailoot VideotPOST /v1/videos/generations
Tuloste
0,18 $ sekuntia kohden 1080p-tarkkuudella
Tuloste
0,07 $ sekuntia kohden 480p-tarkkuudella
Tuloste
0,14 $ sekuntia kohden 720p-tarkkuudella

Ailoot varaa arvioidun summan ennen pyyntöä. Tuloksen jälkeen lopullinen veloitus toteutetaan mitatun käytön perusteella. Suoratoiston veloituksessa käytetään lopullista käyttötietuetta. Varauksen ja lopullisen veloituksen toiminta →

Esimerkkipyynnöt

Ailoot · Videot

Kuvaviite
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

Vastaanota ja tallenna tulokset

Ailoot · Videot

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
Tarkista työn tila
GET tila
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
Tallenna kaikki valmistuneet aineistot
GET kaikki valmistuneet aineistot
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
Muut sisällön lukukerrat
GET sisältö
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
Säilytä kaikki valmistuneet tulokset

Tallenna jokainen valmistunut video tai palautettu tiedosto; nouda jokainen todellinen palautettu aineiston URL.

Säilytä jokainen palautettu data-alkio ja tulosindeksi. content_url tarkoittaa vain ensimmäistä; nouda jokainen todellinen sisältöpolku tai aineisto. Sisällön GET ilman index-arvoa ei tarkoita kaikkia tuloksia.

Jos alkuperäinen vastaus on tarkistettava

Lue olemassa olevan alkuperäisen työn tietoja; älä koskaan lähetä tuntemattomaan tilaan jäänyttä pyyntöä uudelleen.

Vastauksen kentät
KenttäTyyppi
KenttäidTyyppistring
KenttäobjectTyyppistring
KenttämodelTyyppistring
KenttästatusTyyppistring
Kenttäcontent_urlTyyppisigned URL
Kenttädata[]Tyyppisigned URL
KenttäusageTyyppiobject
Kenttäresult_pending_checkTyyppiboolean
Virheet ja seuraavat vaiheet
VastausEhtoSeuraava vaihe
Vastaus400 · invalid_request_errorEhtoVirheelliset pakolliset kentät, aineiston esitysmuoto tai parametrin arvoSeuraava vaiheKorjaa ilmoitetut kentät ennen uutta luontipyyntöä.
Vastaus409 · video_not_readyEhtoAlkuperäisen tuloksen sisältö ei ole vielä saatavillaSeuraava vaiheKysy tilaa alkuperäisellä palautetulla tunnisteella ja noudata Retry-After-otsaketta.
Vastausserver_errorEhtoPalautettu vastaus ilmoittaa, että operaatio tai tulos edellyttää tarkistustaSeuraava vaiheSäilytä alkuperäinen palautettu operaation tai tehtävän ID, pyynnön otsakkeet ja vastaus; jatka kyseisen alkuperäisen operaation tuettuja lukutoimintoja. Älä lähetä luontipyyntöä uudelleen.

Aliakset

Mallin aliakset

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

Menetelmäpolkujen aliakset

Käytä yllä näytettyjä menetelmäpolkuja.

Liittyvät kutsujan ID:t

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

Ailoot · Videot POST /v1/videos/generations happyhorse-r2v

happyhorse-r2v

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

Aloitus

Videogenerointimalli referenssikuville ja tekstikäsikirjoitukselle. Auttaa säilyttämään hahmojen ulkonäön, esineet ja visuaalisen tyylin uudessa kohtauksessa.

Hyväksytyt syötteet
Teksti · Kuvat
Tulokset
Video

Saatavilla Ailootissa · syötteet & menetelmät

Ailoot · Videot POST /v1/videos/generations
Syötetyypit
text, image
Tulostyypit
video
Tulosteen muoto
mp4
KenttäTyyppiVaatimusArvot & rajatOletus
KenttämodelTyyppistringVaatimusPakollinenArvot & rajat
happyhorse-r2v
Oletus—
KenttäpromptTyyppistringVaatimusPakollinenArvot & rajat
Vähimmäispituus: 1
Oletus—
KenttädurationTyyppiintegerVaatimusValinnainenArvot & rajat
Vähimmäismäärä: 3
Enimmäismäärä: 15
Yksikkö: sekuntia
Oletus5
KenttäresolutionTyyppistringVaatimusValinnainenArvot & rajat
480P, 720P, 1080P
Oletus720P
KenttäratioTyyppistringVaatimusValinnainenArvot & rajat
16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9
Oletus16:9
Kenttäimage_urlsTyyppihttps_url|data_image_url[]VaatimusPakollinenArvot & rajat
Kohteiden vähimmäismäärä: 1
Kohteiden enimmäismäärä: 9
Purettujen tavujen enimmäismäärä: 20 971 520
MIME-tyypit: image/jpeg, image/png, image/webp
Oletus—
Syöteaineistojen yhdistelmät

reference_images_to_video · Pakollinen: prompt, image_urls

Menetelmän parametrit ja elinkaari
ParametriSopimus
Parametrimaterial_typesSopimustext, image
ParametrirequiredSopimusnull
Parametrioptional_controlsSopimusnull

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

Menetelmien rakenteet ja ID:t ovat täsmällisiä; toimittajan kyvykkyys on erillinen pyynnön hyväksymisestä.

Hinnoittelu

Ailoot-menetelmien hinnat

Ailoot VideotPOST /v1/videos/generations
Tuloste
0,18 $ sekuntia kohden 1080p-tarkkuudella
Tuloste
0,07 $ sekuntia kohden 480p-tarkkuudella
Tuloste
0,14 $ sekuntia kohden 720p-tarkkuudella

Ailoot varaa arvioidun summan ennen pyyntöä. Tuloksen jälkeen lopullinen veloitus toteutetaan mitatun käytön perusteella. Suoratoiston veloituksessa käytetään lopullista käyttötietuetta. Varauksen ja lopullisen veloituksen toiminta →

Esimerkkipyynnöt

Ailoot · Videot

Kuvaviite
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

Vastaanota ja tallenna tulokset

Ailoot · Videot

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
Tarkista työn tila
GET tila
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
Tallenna kaikki valmistuneet aineistot
GET kaikki valmistuneet aineistot
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
Muut sisällön lukukerrat
GET sisältö
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
Säilytä kaikki valmistuneet tulokset

Tallenna jokainen valmistunut video tai palautettu tiedosto; nouda jokainen todellinen palautettu aineiston URL.

Säilytä jokainen palautettu data-alkio ja tulosindeksi. content_url tarkoittaa vain ensimmäistä; nouda jokainen todellinen sisältöpolku tai aineisto. Sisällön GET ilman index-arvoa ei tarkoita kaikkia tuloksia.

Jos alkuperäinen vastaus on tarkistettava

Lue olemassa olevan alkuperäisen työn tietoja; älä koskaan lähetä tuntemattomaan tilaan jäänyttä pyyntöä uudelleen.

Vastauksen kentät
KenttäTyyppi
KenttäidTyyppistring
KenttäobjectTyyppistring
KenttämodelTyyppistring
KenttästatusTyyppistring
Kenttäcontent_urlTyyppisigned URL
Kenttädata[]Tyyppisigned URL
KenttäusageTyyppiobject
Kenttäresult_pending_checkTyyppiboolean
Virheet ja seuraavat vaiheet
VastausEhtoSeuraava vaihe
Vastaus400 · invalid_request_errorEhtoVirheelliset pakolliset kentät, aineiston esitysmuoto tai parametrin arvoSeuraava vaiheKorjaa ilmoitetut kentät ennen uutta luontipyyntöä.
Vastaus409 · video_not_readyEhtoAlkuperäisen tuloksen sisältö ei ole vielä saatavillaSeuraava vaiheKysy tilaa alkuperäisellä palautetulla tunnisteella ja noudata Retry-After-otsaketta.
Vastausserver_errorEhtoPalautettu vastaus ilmoittaa, että operaatio tai tulos edellyttää tarkistustaSeuraava vaiheSäilytä alkuperäinen palautettu operaation tai tehtävän ID, pyynnön otsakkeet ja vastaus; jatka kyseisen alkuperäisen operaation tuettuja lukutoimintoja. Älä lähetä luontipyyntöä uudelleen.

Aliakset

Mallin aliakset

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

Menetelmäpolkujen aliakset

Käytä yllä näytettyjä menetelmäpolkuja.

Liittyvät kutsujan ID:t

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

Ailoot · Videot POST /v1/videos/generations happyhorse-r2v-latest

happyhorse-r2v-latest

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

Aloitus

Videogenerointimalli referenssikuville ja tekstikäsikirjoitukselle. Auttaa säilyttämään hahmojen ulkonäön, esineet ja visuaalisen tyylin uudessa kohtauksessa.

Hyväksytyt syötteet
Teksti · Kuvat
Tulokset
Video

Saatavilla Ailootissa · syötteet & menetelmät

Ailoot · Videot POST /v1/videos/generations
Syötetyypit
text, image
Tulostyypit
video
Tulosteen muoto
mp4
KenttäTyyppiVaatimusArvot & rajatOletus
KenttämodelTyyppistringVaatimusPakollinenArvot & rajat
happyhorse-r2v-latest
Oletus—
KenttäpromptTyyppistringVaatimusPakollinenArvot & rajat
Vähimmäispituus: 1
Oletus—
KenttädurationTyyppiintegerVaatimusValinnainenArvot & rajat
Vähimmäismäärä: 3
Enimmäismäärä: 15
Yksikkö: sekuntia
Oletus5
KenttäresolutionTyyppistringVaatimusValinnainenArvot & rajat
480P, 720P, 1080P
Oletus720P
KenttäratioTyyppistringVaatimusValinnainenArvot & rajat
16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9
Oletus16:9
Kenttäimage_urlsTyyppihttps_url|data_image_url[]VaatimusPakollinenArvot & rajat
Kohteiden vähimmäismäärä: 1
Kohteiden enimmäismäärä: 9
Purettujen tavujen enimmäismäärä: 20 971 520
MIME-tyypit: image/jpeg, image/png, image/webp
Oletus—
Syöteaineistojen yhdistelmät

reference_images_to_video · Pakollinen: prompt, image_urls

Menetelmän parametrit ja elinkaari
ParametriSopimus
Parametrimaterial_typesSopimustext, image
ParametrirequiredSopimusnull
Parametrioptional_controlsSopimusnull

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

Menetelmien rakenteet ja ID:t ovat täsmällisiä; toimittajan kyvykkyys on erillinen pyynnön hyväksymisestä.

Hinnoittelu

Ailoot-menetelmien hinnat

Ailoot VideotPOST /v1/videos/generations
Tuloste
0,18 $ sekuntia kohden 1080p-tarkkuudella
Tuloste
0,07 $ sekuntia kohden 480p-tarkkuudella
Tuloste
0,14 $ sekuntia kohden 720p-tarkkuudella

Ailoot varaa arvioidun summan ennen pyyntöä. Tuloksen jälkeen lopullinen veloitus toteutetaan mitatun käytön perusteella. Suoratoiston veloituksessa käytetään lopullista käyttötietuetta. Varauksen ja lopullisen veloituksen toiminta →

Esimerkkipyynnöt

Ailoot · Videot

Kuvaviite
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

Vastaanota ja tallenna tulokset

Ailoot · Videot

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
Tarkista työn tila
GET tila
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
Tallenna kaikki valmistuneet aineistot
GET kaikki valmistuneet aineistot
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
Muut sisällön lukukerrat
GET sisältö
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
Säilytä kaikki valmistuneet tulokset

Tallenna jokainen valmistunut video tai palautettu tiedosto; nouda jokainen todellinen palautettu aineiston URL.

Säilytä jokainen palautettu data-alkio ja tulosindeksi. content_url tarkoittaa vain ensimmäistä; nouda jokainen todellinen sisältöpolku tai aineisto. Sisällön GET ilman index-arvoa ei tarkoita kaikkia tuloksia.

Jos alkuperäinen vastaus on tarkistettava

Lue olemassa olevan alkuperäisen työn tietoja; älä koskaan lähetä tuntemattomaan tilaan jäänyttä pyyntöä uudelleen.

Vastauksen kentät
KenttäTyyppi
KenttäidTyyppistring
KenttäobjectTyyppistring
KenttämodelTyyppistring
KenttästatusTyyppistring
Kenttäcontent_urlTyyppisigned URL
Kenttädata[]Tyyppisigned URL
KenttäusageTyyppiobject
Kenttäresult_pending_checkTyyppiboolean
Virheet ja seuraavat vaiheet
VastausEhtoSeuraava vaihe
Vastaus400 · invalid_request_errorEhtoVirheelliset pakolliset kentät, aineiston esitysmuoto tai parametrin arvoSeuraava vaiheKorjaa ilmoitetut kentät ennen uutta luontipyyntöä.
Vastaus409 · video_not_readyEhtoAlkuperäisen tuloksen sisältö ei ole vielä saatavillaSeuraava vaiheKysy tilaa alkuperäisellä palautetulla tunnisteella ja noudata Retry-After-otsaketta.
Vastausserver_errorEhtoPalautettu vastaus ilmoittaa, että operaatio tai tulos edellyttää tarkistustaSeuraava vaiheSäilytä alkuperäinen palautettu operaation tai tehtävän ID, pyynnön otsakkeet ja vastaus; jatka kyseisen alkuperäisen operaation tuettuja lukutoimintoja. Älä lähetä luontipyyntöä uudelleen.

Aliakset

Mallin aliakset

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

Menetelmäpolkujen aliakset

Käytä yllä näytettyjä menetelmäpolkuja.

Liittyvät kutsujan ID:t

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

FAQ · happyhorse-1.1-r2v
Mitä syötteitä ja tuloksia on saatavilla?

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

Mitä kenttiä pyyntö käyttää?

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

Mitä rajoja sovelletaan?

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

Lisätietoja

Yhdistä Ailoot Claude Codeen, OpenCodeen, Hermesiin tai omaan sovellukseesi.

Yritys ja sen projektisalkku

Yritys ja sen projektisalkku: miljoonia asiakkaita; kuukausittainen myynti miljardiluokassa.

Osta tokenit alennuksella.

Tilausalennus säännölliseen käyttöön. Kampanjakoodit — jopa 50% tokeniostoista.

Tilaus
Valitse alennushintainen paketti säännöllisiä pyyntöjäsi varten.
Kampanjakoodi jopa 50%
Syötä koodi oston yhteydessä. Hinta lasketaan uudelleen voimassa olevan kampanjan mukaan.
Kulut historiassa
Malli, tokenit ja summa tallennetaan jokaiselle pyynnölle.

Valitse tilaus · Katso mallihinnat

Yhdistä API tuotteeseen, jonka myyt.

SaaS, sovellukset ja botit Ailootin palveluehtojen ja lisenssisopimuksen mukaisesti. Pyydä edelleenmyyntiin jälleenmyyjälisenssi.

Kaupallinen sovellus
Lisää tekstin, kuvien, videoiden ja äänen luonti palvelusi maksullisiin ominaisuuksiin.
Jälleenmyyjälisenssi
Lähetä projektikuvaus ja pääsyn toteutustapa. Pyydä kirjalliset käyttö- ja jälleenmyyntiehdot.
Asiakirjat verkkosivustolla
Palveluehdot, lisenssisopimus ja tietojenkäsittelykäytäntö ovat saatavilla ennen yhdistämistä.

Pyydä jälleenmyyjälisenssi · Palveluehdot ja lisenssisopimus