Runway Gen 4
A Runway Gen 4 kép- és mozgásprompt-vezérlőkkel készít videót. Válassz öt- vagy tízmásodperces felvételt, és őrizd meg az eredeti Ailoot-kérést az elkészült eredményhez.
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.
Válaszd a runway-gen4 modellt a /v1/videos végponton. A kérés az image mezőben szövegláncot vagy legfeljebb tíz szövegláncból álló tömböt, prompt, end_image és öt- vagy tízmásodperces duration mezőt kínál. A megadott anyagot és az írásos utasítást a téma megjelenése és egy világosan meghatározott cselekvés köré készítsd elő.
Nevezd meg, a téma mely részleteit kell megőriznie a felvételnek, és minek kell idővel változnia. Adj egyértelmű irányt a kamerának, és írd le a kívánt végállapotot. Termékfelvétel fokozatos feltárást használhat; szereplős jelenet gesztust és végső pózt. Tartsd együtt a kiválasztott bemeneti képet, az opcionális záróképet és a mozgásleírást az elkészült klippel való összehasonlításhoz.
A felvételt egyszer küldd be a /v1/videos végponton, őrizd meg a visszaadott kérésazonosítót, és az eredeti műveletet kövesd a /v1/videos/{request_id} végponton. Ments el minden elkészült videókimenetet és a teljes választ, mielőtt összeveted a cselekményt, a képkivágást és a végállapotot a feladatleírással.
Ailoot Ultra · Video POST /v1/videos runway-gen4
runway-gen4Kezdő lépések
A Runway Gen 4 kép- és mozgásprompt-vezérlőkkel készít videót. Válassz öt- vagy tízmásodperces felvételt, és őrizd meg az eredeti Ailoot-kérést az elkészült eredményhez.
- Elfogadott bemenetek
- Szöveg · Képek
- Eredmények
- Videó
Elérhető az Ailootban · bemenetek és metódusok
Ailoot Ultra · Video POST /v1/videos
- Bemenet
text,image- Kimenet
video
| Mező | Típus | Követelmény | Értékek és korlátok | Alapértelmezett |
|---|---|---|---|---|
Mezőmodel | Típusstring | KövetelményKötelező | Értékek és korlátok runway-gen4 Feltételek: Pontosan ezt az Ailoot-útválasztási azonosítót használja. | Alapértelmezett— |
Meződuration | Típusinteger | KövetelményOpcionális | Értékek és korlátok 5, 10 Feltételek: Használja a kiválasztott modell dokumentált mezőjét és felsorolt értékeit; a meg nem adott választható értéket hagyja ki. | Alapértelmezett— |
Mezőend_image | Típusstring | KövetelményOpcionális | Értékek és korlátok Feltételek: Használja a kiválasztott modell dokumentált mezőjét és felsorolt értékeit; a meg nem adott választható értéket hagyja ki. | Alapértelmezett— |
Mezőimage | Típusstring or array<string> | KövetelményOpcionális | Értékek és korlátok Feltételek: Adja meg a képe ténylegesen elérhető URL-jét. Lista csak akkor fogadható el, ha a paraméterséma tömböt határoz meg. | Alapértelmezett— |
Mezőprompt | Típusstring | KövetelményOpcionális | Értékek és korlátok Feltételek: Használja a kiválasztott modell dokumentált mezőjét és felsorolt értékeit; a meg nem adott választható értéket hagyja ki. | Alapértelmezett— |
Metódus paraméterei és életciklusa
| Paraméter | Szerződés |
|---|---|
Paramétercontent_type | Szerződésapplication/json |
Paraméterrequired | Szerződésmodel |
Paraméteroptional | Szerződésduration, end_image, image, prompt |
Paramétermaterial_types | Szerződéstext, image |
Paraméterconditions | SzerződésPontosan ezt az Ailoot-útválasztási azonosítót használja., Használja a kiválasztott modell dokumentált mezőjét és felsorolt értékeit; a meg nem adott választható értéket hagyja ki., Használja a kiválasztott modell dokumentált mezőjét és felsorolt értékeit; a meg nem adott választható értéket hagyja ki., Adja meg a képe ténylegesen elérhető URL-jét. Lista csak akkor fogadható el, ha a paraméterséma tömböt határoz meg., Használja a kiválasztott modell dokumentált mezőjét és felsorolt értékeit; a meg nem adott választható értéket hagyja ki. |
Metódus álnevei: /v1/videos/generations
Életciklus: submit_once_poll_original
GET /v1/videos/{request_id}
GET /v1/videos/generations/{request_id}
GET /v1/videos/{request_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Díjcsomagok
A végső díj számítása
A megjelenített díjtételek a generálás előtti költségbecsléshez szolgálnak. A végleges díj az eredeti generáláshoz rögzített költségből számítódik. A kimenet mért időtartama és az előre jelzett mennyiségek nem azonosak a véglegesen elszámolandó mennyiséggel.
A díjszabás nem ad új kérési lehetőségeket. A támogatott paraméterek a kiválasztott módszernél szerepelnek.
- Gyors mód
- Nincs megadva Ha a gyors mód van kiválasztva
- Flex mód
- Nincs megadva Ha a flex mód van kiválasztva
- Maximális gondolkodási ráfordítás
- Nincs megadva Ha a maximális gondolkodási ráfordításra a default beállításhoz tartozó korrekció vonatkozik
Becsült díjak összehasonlításhoz
Árak beállításonként
Minden díjat a megjelenített feltételekhez rendeljen. Az alternatív beállítások minden csoportjához egy díjtételt használjon.
| Beállítás | Díjtáblázat | Előre jelzett mennyiség | Elszámolási mennyiség | Díj |
|---|---|---|---|---|
| BeállításTokenek alapdíjai | DíjtáblázatAlapdíj | Előre jelzett mennyiség— | Elszámolási mennyiség— | Díj Bemenet · Bemeneti tokenek · Becslés, csak összehasonlításra — / 1K token Kimenet · Kimeneti tokenek · Becslés, csak összehasonlításra — / 1K token Bemenet · Gyorsítótár olvasása · Becslés, csak összehasonlításra — / 1K token Bemenet · Írás a gyorsítótárba · Becslés, csak összehasonlításra — / 1K token Bemenet · Írás a gyorsítótárba, 1 óra · Becslés, csak összehasonlításra — / 1K token |
| BeállításKérésenként | Díjtáblázat— | Előre jelzett mennyiség— | Elszámolási mennyiségegy kérés | Díj Bemenet · Becslés, csak összehasonlításra $1 kérésenként |
| BeállításA generálás becsült költsége | Díjtáblázat— | Előre jelzett mennyiségbecslés egy generálásra | Elszámolási mennyiség— | Díj Kimenet · Becsült generálási költség · Becslés, csak összehasonlításra $1 becslés a generálás előtt Ez a becslés nem jelent további díjat, és nem rögzített díjszabás az elkészült generálásra. |
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 Ultra · Video
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
: "${AILOOT_IMAGE_URL:?Set an actual customer material or documented value}"
export AILOOT_IMAGE_URL
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "runway-gen4", "image": "YOUR_ACCESSIBLE_IMAGE_URL"}')
p['image']=os.environ['AILOOT_IMAGE_URL']
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 \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
# Submit once. Retain the complete result, original identifiers and every response header.
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_STATUS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path("result.json").read_text())
u=urljoin("https://api.ailoot.ai",r["polling_url"])
p=urlsplit(u)
if p.scheme!="https" or p.netloc!="api.ailoot.ai" or p.username or p.password:
raise SystemExit("Unexpected returned polling URL; preserve the response")
subprocess.run(["curl","--fail-with-body","--silent","--show-error",u,"-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"],"-D","status-headers.txt","-o","status.json"],check=True)
# Read this same original polling_url again while pending.
# Preserve unknown/result_pending_check; do not repeat creation.
PY_STATUS
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_ASSETS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path("status.json").read_text())
roles={}
def visit(v,path=""):
if isinstance(v,dict):
for k,x in v.items(): visit(x,path+"/"+k)
elif isinstance(v,list):
for i,x in enumerate(v): visit(x,path+"/"+str(i))
elif isinstance(v,str):
u=urljoin("https://api.ailoot.ai",v); p=urlsplit(u)
if p.scheme=="https" and p.netloc=="api.ailoot.ai" and not p.username and not p.password and p.path.startswith("/v1/media/assets/") and p.path.endswith("/content"):
roles.setdefault(u,[]).append(path)
visit(r)
if not roles: raise SystemExit("No completed owned assets; retain the original status")
manifest=[]
for i,(u,paths) in enumerate(roles.items()):
target=Path(f"asset-{i}.bin")
subprocess.run(["curl","--fail-with-body","--silent","--show-error",u,"-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"],"-o",str(target)],check=True)
raw=target.read_bytes()
if not raw: raise SystemExit("Empty asset; retain original status and metadata")
ext="glb" if raw[:4]==b"glTF" else "png" if raw[:8]==b"\x89PNG\r\n\x1a\n" else "jpg" if raw[:3]==b"\xff\xd8\xff" else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "mp4" if raw[4:8]==b"ftyp" else "bin"
name=f"asset-{i}.{ext}"
if target.name!=name: target.rename(name)
manifest.append({"file":name,"response_paths":paths,"bytes":len(raw)})
Path("asset-manifest.json").write_text(json.dumps(manifest,indent=2))
print("Saved",len(manifest),"unique owned assets; every response role retained")
PY_ASSETS
Eredmények fogadása és mentése
Ailoot Ultra · Video
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Ő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.
Őrizze meg a teljes választ és fejléceit, az eredeti azonosítókat, az összes tényleges kimenetet és minden felhasználási, illetve elszámolási mezőt. Mentsen el minden egyedi saját médiaállományt, és őrizzen meg minden rá mutató szerepet.
Ha az eredeti választ ellenőrizni kell
Őrizze meg a visszaadott nyilvános feladat- vagy műveletazonosítót és az összes fejlécet. Csak az eredeti feladatot kérdezze le; az unknown vagy result_pending_check nem jogosít fel újabb létrehozásra.
Válaszmezők
| Mező | Típus |
|---|---|
Mezőid | Típusstring |
Mezőpolling_url | Típusstring |
Mezőprovider_task_id | Típusstring |
Mezőtask_id | Típusstring |
Mezőstatus | Típusstring |
Mezővideo_url | Típusstring |
Hibák és következő lépések
| Válasz | Feltétel | Következő lépés |
|---|---|---|
Válasz400 · invalid_request_error | FeltételEgy kötelező mező, modellválasztó, típus vagy bemeneti ábrázolási forma érvénytelen. | Következő lépésKülön kérés előkészítése előtt vizsgálja meg a visszaadott érvényesítési részleteket. |
Válasz | FeltételAz eredeti kérés vagy eredmény ismeretlen, vagy ellenőrzést igényel. | Következő lépésŐrizze meg az eredeti azonosítókat és fejléceket; csak a támogatott állapot- és médiatárbejegyzéseket olvassa le. Ne küldje el újra a létrehozási kérelmet. |
Álnevek
Modell álnevei
Ailoot Ultra runway-gen4
Metódusútvonalak álnevei
/v1/videos/generations
Kapcsolódó modellazonosítók
FAQ · Runway Gen 4
- Milyen bemenetek és eredmények érhetők el?
POST /v1/videos·runway-gen4:text,image→video- Mely mezőket használja a kérés?
POST /v1/videos·runway-gen4:model,duration,end_image,image,prompt