modeller

happyhorse-1.1-r2v

Markdown · JSON

happyhorse-1.1-r2v

Model til videogenerering ud fra referencebilleder og et tekstbaseret scenarie. Hjælper med at bevare figurernes udseende, genstande og visuel stil i en ny scene.

Om modellen

Denne beskrivelse dækker modellens funktioner. Tilgængelige input, output og indstillinger i Ailoot står nedenfor for den valgte metode.

HappyHorse-1.1-R2V skaber en ny videoscene ud fra referencebilleder og en tekstinstruktion. Alibaba retter modellen mod at bevare genkendelige figurer, objekter og visuel stil ved generering af bevægelse. Referencerne fastlægger scenens indhold og udseende, mens teksten beskriver, hvordan elementerne skal samspille.

De visuelle eksemplers roller

Der kan bruges fra ét til ni billeder. De kan fastlægge en figur, en genstand, omgivelserne eller det kunstneriske udtryk. Beskrivelsen kan angive referencens nummer og et bestemt objekt i den, så det visuelle materiale knyttes til den rette del af handlingen. Det er især nyttigt, når elementer fra flere billeder skal samles i én komposition.

I modsætning til tilstanden med en startframe fungerer referencerne her som grundlag for en ny scenes indhold. Tekstinstruktionen er obligatorisk: den forbinder objekternes udseende med handling, kamerabevægelse og samlet iscenesættelse. Producenten fremhæver visuel sammenhæng og filmisk bevægelse; resultatet er stadig en generering, ikke en montage af udgangsbillederne.

JPEG, JPG, PNG og WEBP på højst 20 MB hver accepteres. Billedets korte side skal være mindst 400 pixels; materiale i 720P eller højere anbefales. Input til denne tilstand består netop af billeder og tekst.

Varighed, billedformat og lyd

Resultatet gemmes som MP4 med 24 frames i sekundet. Varigheden angives som et heltal fra 3 til 15 sekunder. Opløsningen kan vælges mellem 480P, 720P og 1080P; generering af ledsagende lyd understøttes.

Vandrette, lodrette og kvadratiske billedformater er tilgængelige: 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21 og 21:9. Formatvalget hjælper med at fastlægge den nye scenes kompositionsrum på forhånd.

Teksten kan være på ethvert sprog. Grænsen er 5000 ikke-kinesiske eller 2500 kinesiske tegn; den overskydende del kasseres. Referencernes vigtigste roller, handlingen og bevægelsen skal kunne beskrives inden for denne mængde. Tilfældighedsseedet kan styre ligheden mellem varianter, men garanterer ikke en nøjagtig gentagelse af en video.

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

happyhorse-1.1-r2v

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

Start

Model til videogenerering ud fra referencebilleder og et tekstbaseret scenarie. Hjælper med at bevare figurernes udseende, genstande og visuel stil i en ny scene.

Accepterede input
Tekst · Billeder
Resultater
Video

Tilgængelig i Ailoot · input og metoder

Ailoot · Videoer POST /v1/videos/generations
Inputtyper
text, image
Outputtyper
video
Outputformat
mp4
FeltTypeKravVærdier og grænserStandard
FeltmodelTypestringKravPåkrævetVærdier og grænser
happyhorse-1.1-r2v
Standard—
FeltpromptTypestringKravPåkrævetVærdier og grænser
Minimumslængde: 1
Standard—
FeltdurationTypeintegerKravValgfritVærdier og grænser
Minimum: 3
Maksimum: 15
Enhed: sekunder
Standard5
FeltresolutionTypestringKravValgfritVærdier og grænser
480P, 720P, 1080P
Standard720P
FeltratioTypestringKravValgfritVærdier og grænser
16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9
Standard16:9
Feltimage_urlsTypehttps_url|data_image_url[]KravPåkrævetVærdier og grænser
Minimumsantal elementer: 1
Maksimalt antal elementer: 9
Maksimalt antal afkodede bytes: 20.971.520
MIME-typer: image/jpeg, image/png, image/webp
Standard—
Kombinationer af inputmaterialer

reference_images_to_video · Påkrævet: prompt, image_urls

Metodeparametre og livscyklus
ParameterKontrakt
Parametercontent_typeKontraktapplication/json
ParameterrequiredKontraktmodel, prompt, image_urls
Parametermaterial_typesKontrakttext, image
ParameteroptionalKontraktduration, resolution, ratio
Parameterduration_integer_rangeKontrakt3, 15
Parameterdefault_durationKontrakt5
ParameterresolutionKontrakt480P, 720P, 1080P
Parameterdefault_resolutionKontrakt720P
ParameterratioKontrakt16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9
Parameterratio_must_omitKontraktfalse
Parameterimage_urlsKontrakt{"min_count":1,"max_count":9,"schemes":["https","base64-kodede rasterdata"],"max_data_image_bytes":20971520}

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

Metodernes strukturer og ID’er er præcise; leverandørens muligheder er adskilt fra adgangstilladelse.

Priser

Ailoot-metodetakster

Ailoot VideoerPOST /v1/videos/generations
Output
0,18 US$ pr. sekund ved 1080p
Output
0,07 US$ pr. sekund ved 480p
Output
0,14 US$ pr. sekund ved 720p

Ailoot reserverer et estimeret beløb før en anmodning. Efter resultatet afregnes det endelige beløb ud fra det målte forbrug. Ved streaming bruges den endelige forbrugsregistrering til afregningen. Sådan fungerer reservation og afregning →

Eksempelanmodninger

Ailoot · Videoer

Billedreference
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

Hent og gem resultater

Ailoot · Videoer

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
Kontrollér opgavestatus
GET · Status
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
Gem alle færdige filer
GET · Alle færdige filer
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
Læsning af andet indhold
GET · Indhold
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
Behold alle færdige resultater

Gem hver færdig video eller returneret fil; hent hver faktisk returneret fil-URL.

Bevar hvert returneret dataelement og outputindeks. content_url omfatter kun det første; hent hver faktisk indholdssti og hvert aktiv. GET af indhold uden index giver ikke alle output.

Hvis det oprindelige svar skal kontrolleres

Læs det eksisterende oprindelige job; indsend aldrig en afsendelse med ukendt udfald igen.

Svarfelter
FeltType
FeltidTypestring
FeltobjectTypestring
FeltmodelTypestring
FeltstatusTypestring
Feltcontent_urlTypesigned URL
Feltdata[]Typesigned URL
FeltusageTypeobject
Feltresult_pending_checkTypeboolean
Fejl og næste trin
SvarBetingelseNæste trin
Svar400 · invalid_request_errorBetingelseUgyldige obligatoriske felter, materialerepræsentation eller parameterværdiNæste trinRet de angivne felter før en ny oprettelsesanmodning.
Svar409 · video_not_readyBetingelseDet oprindelige resultatindhold er endnu ikke tilgængeligtNæste trinForespørg på status med det oprindeligt returnerede ID, og overhold Retry-After.
Svarserver_errorBetingelseDet returnerede svar angiver, at operationen eller resultatet skal kontrolleresNæste trinGem det oprindeligt returnerede operations-/opgave-ID, anmodningens headere og svaret; fortsæt med de understøttede læseanmodninger for den oprindelige operation. Send ikke oprettelsesanmodningen igen.

Aliaser

Modelaliaser

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

Aliaser for metodestier

Brug metodestierne vist ovenfor.

Relaterede kalder-ID’er

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

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

happyhorse-r2v

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

Start

Model til videogenerering ud fra referencebilleder og et tekstbaseret scenarie. Hjælper med at bevare figurernes udseende, genstande og visuel stil i en ny scene.

Accepterede input
Tekst · Billeder
Resultater
Video

Tilgængelig i Ailoot · input og metoder

Ailoot · Videoer POST /v1/videos/generations
Inputtyper
text, image
Outputtyper
video
Outputformat
mp4
FeltTypeKravVærdier og grænserStandard
FeltmodelTypestringKravPåkrævetVærdier og grænser
happyhorse-r2v
Standard—
FeltpromptTypestringKravPåkrævetVærdier og grænser
Minimumslængde: 1
Standard—
FeltdurationTypeintegerKravValgfritVærdier og grænser
Minimum: 3
Maksimum: 15
Enhed: sekunder
Standard5
FeltresolutionTypestringKravValgfritVærdier og grænser
480P, 720P, 1080P
Standard720P
FeltratioTypestringKravValgfritVærdier og grænser
16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9
Standard16:9
Feltimage_urlsTypehttps_url|data_image_url[]KravPåkrævetVærdier og grænser
Minimumsantal elementer: 1
Maksimalt antal elementer: 9
Maksimalt antal afkodede bytes: 20.971.520
MIME-typer: image/jpeg, image/png, image/webp
Standard—
Kombinationer af inputmaterialer

reference_images_to_video · Påkrævet: prompt, image_urls

Metodeparametre og livscyklus
ParameterKontrakt
Parametermaterial_typesKontrakttext, image
ParameterrequiredKontraktnull
Parameteroptional_controlsKontraktnull

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

Metodernes strukturer og ID’er er præcise; leverandørens muligheder er adskilt fra adgangstilladelse.

Priser

Ailoot-metodetakster

Ailoot VideoerPOST /v1/videos/generations
Output
0,18 US$ pr. sekund ved 1080p
Output
0,07 US$ pr. sekund ved 480p
Output
0,14 US$ pr. sekund ved 720p

Ailoot reserverer et estimeret beløb før en anmodning. Efter resultatet afregnes det endelige beløb ud fra det målte forbrug. Ved streaming bruges den endelige forbrugsregistrering til afregningen. Sådan fungerer reservation og afregning →

Eksempelanmodninger

Ailoot · Videoer

Billedreference
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

Hent og gem resultater

Ailoot · Videoer

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
Kontrollér opgavestatus
GET · Status
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
Gem alle færdige filer
GET · Alle færdige filer
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
Læsning af andet indhold
GET · Indhold
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
Behold alle færdige resultater

Gem hver færdig video eller returneret fil; hent hver faktisk returneret fil-URL.

Bevar hvert returneret dataelement og outputindeks. content_url omfatter kun det første; hent hver faktisk indholdssti og hvert aktiv. GET af indhold uden index giver ikke alle output.

Hvis det oprindelige svar skal kontrolleres

Læs det eksisterende oprindelige job; indsend aldrig en afsendelse med ukendt udfald igen.

Svarfelter
FeltType
FeltidTypestring
FeltobjectTypestring
FeltmodelTypestring
FeltstatusTypestring
Feltcontent_urlTypesigned URL
Feltdata[]Typesigned URL
FeltusageTypeobject
Feltresult_pending_checkTypeboolean
Fejl og næste trin
SvarBetingelseNæste trin
Svar400 · invalid_request_errorBetingelseUgyldige obligatoriske felter, materialerepræsentation eller parameterværdiNæste trinRet de angivne felter før en ny oprettelsesanmodning.
Svar409 · video_not_readyBetingelseDet oprindelige resultatindhold er endnu ikke tilgængeligtNæste trinForespørg på status med det oprindeligt returnerede ID, og overhold Retry-After.
Svarserver_errorBetingelseDet returnerede svar angiver, at operationen eller resultatet skal kontrolleresNæste trinGem det oprindeligt returnerede operations-/opgave-ID, anmodningens headere og svaret; fortsæt med de understøttede læseanmodninger for den oprindelige operation. Send ikke oprettelsesanmodningen igen.

Aliaser

Modelaliaser

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

Aliaser for metodestier

Brug metodestierne vist ovenfor.

Relaterede kalder-ID’er

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

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

happyhorse-r2v-latest

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

Start

Model til videogenerering ud fra referencebilleder og et tekstbaseret scenarie. Hjælper med at bevare figurernes udseende, genstande og visuel stil i en ny scene.

Accepterede input
Tekst · Billeder
Resultater
Video

Tilgængelig i Ailoot · input og metoder

Ailoot · Videoer POST /v1/videos/generations
Inputtyper
text, image
Outputtyper
video
Outputformat
mp4
FeltTypeKravVærdier og grænserStandard
FeltmodelTypestringKravPåkrævetVærdier og grænser
happyhorse-r2v-latest
Standard—
FeltpromptTypestringKravPåkrævetVærdier og grænser
Minimumslængde: 1
Standard—
FeltdurationTypeintegerKravValgfritVærdier og grænser
Minimum: 3
Maksimum: 15
Enhed: sekunder
Standard5
FeltresolutionTypestringKravValgfritVærdier og grænser
480P, 720P, 1080P
Standard720P
FeltratioTypestringKravValgfritVærdier og grænser
16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9
Standard16:9
Feltimage_urlsTypehttps_url|data_image_url[]KravPåkrævetVærdier og grænser
Minimumsantal elementer: 1
Maksimalt antal elementer: 9
Maksimalt antal afkodede bytes: 20.971.520
MIME-typer: image/jpeg, image/png, image/webp
Standard—
Kombinationer af inputmaterialer

reference_images_to_video · Påkrævet: prompt, image_urls

Metodeparametre og livscyklus
ParameterKontrakt
Parametermaterial_typesKontrakttext, image
ParameterrequiredKontraktnull
Parameteroptional_controlsKontraktnull

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

Metodernes strukturer og ID’er er præcise; leverandørens muligheder er adskilt fra adgangstilladelse.

Priser

Ailoot-metodetakster

Ailoot VideoerPOST /v1/videos/generations
Output
0,18 US$ pr. sekund ved 1080p
Output
0,07 US$ pr. sekund ved 480p
Output
0,14 US$ pr. sekund ved 720p

Ailoot reserverer et estimeret beløb før en anmodning. Efter resultatet afregnes det endelige beløb ud fra det målte forbrug. Ved streaming bruges den endelige forbrugsregistrering til afregningen. Sådan fungerer reservation og afregning →

Eksempelanmodninger

Ailoot · Videoer

Billedreference
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

Hent og gem resultater

Ailoot · Videoer

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
Kontrollér opgavestatus
GET · Status
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
Gem alle færdige filer
GET · Alle færdige filer
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
Læsning af andet indhold
GET · Indhold
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
Behold alle færdige resultater

Gem hver færdig video eller returneret fil; hent hver faktisk returneret fil-URL.

Bevar hvert returneret dataelement og outputindeks. content_url omfatter kun det første; hent hver faktisk indholdssti og hvert aktiv. GET af indhold uden index giver ikke alle output.

Hvis det oprindelige svar skal kontrolleres

Læs det eksisterende oprindelige job; indsend aldrig en afsendelse med ukendt udfald igen.

Svarfelter
FeltType
FeltidTypestring
FeltobjectTypestring
FeltmodelTypestring
FeltstatusTypestring
Feltcontent_urlTypesigned URL
Feltdata[]Typesigned URL
FeltusageTypeobject
Feltresult_pending_checkTypeboolean
Fejl og næste trin
SvarBetingelseNæste trin
Svar400 · invalid_request_errorBetingelseUgyldige obligatoriske felter, materialerepræsentation eller parameterværdiNæste trinRet de angivne felter før en ny oprettelsesanmodning.
Svar409 · video_not_readyBetingelseDet oprindelige resultatindhold er endnu ikke tilgængeligtNæste trinForespørg på status med det oprindeligt returnerede ID, og overhold Retry-After.
Svarserver_errorBetingelseDet returnerede svar angiver, at operationen eller resultatet skal kontrolleresNæste trinGem det oprindeligt returnerede operations-/opgave-ID, anmodningens headere og svaret; fortsæt med de understøttede læseanmodninger for den oprindelige operation. Send ikke oprettelsesanmodningen igen.

Aliaser

Modelaliaser

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

Aliaser for metodestier

Brug metodestierne vist ovenfor.

Relaterede kalder-ID’er

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

FAQ · happyhorse-1.1-r2v
Hvilke input og resultater er tilgængelige?

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

Hvilke felter bruger anmodningen?

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

Hvilke grænser gælder?

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

Flere oplysninger

Tilslut Ailoot til Claude Code, OpenCode, Hermes eller din egen applikation.

Virksomheden og dens projektportefølje

Virksomheden og dens projektportefølje: millioner af kunder; månedligt salg for milliarder.

Køb tokens med rabat.

Abonnementsrabat til regelmæssigt arbejde. Rabatkoder giver op til 50% på tokenkøb.

Abonnement
Vælg et abonnement med rabat til dine regelmæssige anmodninger.
Rabatkode på op til 50%
Indtast koden ved købet. Prisen genberegnes efter den aktuelle kampagne.
Udgifter i historikken
Model, tokens og beløb gemmes for hver anmodning.

Vælg abonnement · Se modelpriser

Tilslut API’et til produktet, du sælger.

SaaS, apps og bots efter Ailoots tilbudsvilkår og licensaftale. Anmod om en forhandlerlicens til videresalg.

Kommerciel applikation
Byg generering af tekst, billeder, video og lyd ind i tjenestens betalte funktioner.
Licens til forhandlere
Send projektbeskrivelse og adgangsmodel. Bed om skriftlige vilkår for anvendelse og videresalg.
Dokumenter på websitet
Tilbudsvilkår, licensaftale og politik for behandling af data kan læses før tilslutning.

Anmod om forhandlerlicens · Tilbudsvilkår og licensaftale