Runway: Gen-4.5
Runway Gen-4.5 tworzy filmy z opisu sceny lub obrazu ze wskazówkami ruchu. Klipy 2–10 sekund, jawne promptowanie kamery i odrębne wybory kompozycji text-to-video i image-to-video wspierają koncepcje filmowe, przebitki i animowane sceny wizualne.
O modelu
Ten opis przedstawia możliwości modelu. Dane wejściowe, wyniki i opcje dostępne w Ailoot podano poniżej dla wybranej metody.
Runway Gen-4.5 to model generowania wideo z trybami text-to-video i image-to-video. Może realizować brief opisujący kompozycję sceny, działanie podmiotu, choreografię kamery i sekwencję zdarzeń. Użyteczny rezultat to krótkie wygenerowane ujęcie, które można ocenić, zachować lub złożyć z innym materiałem.
Wybierz tryb wejściowy dla ujęcia
Text-to-video zaczyna od pisemnego opisu sceny. Uwzględnij treść widoczną i ruch: podmiot, scenerię, światło, kadrowanie, akcję i zachowanie kamery. Tryb ten przydaje się do nowej sceny, przebitki, tła lub koncepcji wizualnej, gdy pierwsza klatka nie musi odtwarzać dostarczonego obrazu.
Image-to-video zaczyna od obrazu będącego pierwszą klatką. Obraz dostarcza kompozycję, temat, światło i styl. Skup pisemny prompt na dalszych zdarzeniach: działaniu podmiotu, ruchu w otoczeniu, ruchu kamery i rozwoju ujęcia.
Przygotuj wyraźny obraz z już widocznymi ważnymi szczegółami. Rozmyte twarze, dłonie lub inne artefakty mogą stać się bardziej zauważalne po animacji. Referencja sugerująca szybki ruch przez pył lub rozmycie ruchowe może też kolidować z promptem żądającym nieruchomego podmiotu.
Opisuj obraz i ruch bezpośrednio
Używaj jasnego języka naturalnego i pozytywnych opisów zamierzonego wyniku. Brief text-to-video może najpierw określić widok kamery, podmiot i akcję, a następnie opracowanie sceny. Szczegółowy opis jest użyteczny przy określonych wymaganiach ujęcia; prostszy daje więcej miejsca na eksplorację. Nie ma idealnej liczby słów zastępującej jasność.
Na przykład opisz bliski widok mosiężnej lampy biurkowej podczas włączania światła, a następnie powolny ruch kamery ujawniający notes obok. W text-to-video podaj widoczne materiały i światło. Jeśli dostarczony obraz już ustanawia te szczegóły, prompt image-to-video może skupić się na zmianie światła i odsłonięciu przez kamerę.
Unikaj sprzecznych wskazówek. Nieruchomy widok z subtelnym ruchem podmiotu różni się od energicznego ujęcia śledzącego z ręki. Dodawaj szczegóły definiujące użyteczne ujęcie, zamiast długiej listy niepowiązanych stylów wizualnych.
Terminy kamery i sekwencja działań
Przewodnik kamery producenta rozróżnia kadrowanie, kąty, ruch i ostrość. Zbliżenie zmienia zawartość wypełniającą kadr, niski kąt zmienia perspektywę, panorama obraca widok kamery, a ruch śledzący podąża za podmiotem. Instrukcja przeostrzenia przenosi ostrość między widocznymi podmiotami. Określ, co ma być widoczne lub ujawniane w miarę rozwoju ruchu.
Prompty sekwencyjne mogą wyrażać zdarzenia zwykłym językiem lub przybliżonymi znacznikami czasu. Znaczniki kierują kolejnością i orientacyjnym czasem; nie gwarantują wykonania z dokładnością do klatki. Daj żądanym działaniom wystarczająco dużo czasu na naturalny przebieg w wybranej długości klipu.
W statycznym ujęciu opisz ruch należący do wnętrza kadru i wzmocnij zamysł nieruchomej kamery. Producent zaznacza, że całkowicie nieruchome widoki bywają trudne, szczególnie niektóre plany szerokie lub ustanawiające. Sprawdzaj drobne niechciane ruchy w rzeczywistym wyniku, zamiast zakładać, że fraza o statycznej kamerze czyni je niemożliwymi.
Długość, wymiary i liczba klatek na sekundę
Gen-4.5 obsługuje długości klipu od 2 do 10 sekund. Dłuższy wybór pomieści kilka uporządkowanych działań, a krótka reakcja lub odsłonięcie mogą użyć krótszego ujęcia. Udokumentowane wyjście to 720p z 24 lub 25 klatkami na sekundę w procesie generacji producenta.
Specyfikacja text-to-video wymienia 16:9 przy 1280 × 720 pikseli. Image-to-video dodatkowo wymienia 9:16 przy 720 × 1280, 1:1 przy 960 × 960, 4:3 przy 1104 × 832, 3:4 przy 832 × 1104 i 21:9 przy 1584 × 672. Zachowuj razem tryb i rzeczywiste wymiary, zamiast zakładać ten sam zestaw proporcji dla obu trybów wejścia.
Proporcja obrazu może ustanawiać domyślną kompozycję, a jej zmiana może przycinać wejście. Sprawdź położenie podmiotu przed oceną ruchu: poprawna akcja nie jest użyteczna, gdy kluczowa część źródłowego obrazu została wycięta.
Buduj dłuższą sekwencję z ukończonych ujęć
W pracy opartej na obrazie producent opisuje kontynuowanie sekwencji przez użycie ostatniej klatki ukończonego klipu jako wejścia obrazowego następnej generacji. Klipy łączy się później w edytorze wideo, obsługując wspólną klatkę i czas w montażu. Jest to sekwencja osobnych ujęć, a nie jedna generacja o nieograniczonej długości.
Zachowaj klatkę końcową i odpowiadający brief, aby następne ujęcie zaczęło się od zamierzonego stanu wizualnego. Sprawdź ciągłość połączonego materiału, w tym wygląd podmiotu, kierunek kamery i przejście między klipami.
Zachowaj i oceń materiał produkcyjny
Po generacji oceń cały klip i zachowaj ukończone wyjście. Proces producenta zapewnia też osobne powiększanie i wybory eksportu produkcyjnego, takie jak ProRes lub sekwencja PNG. Są to dodatkowe opcje procesu; natywne wymiary generacji pozostają odrębne od późniejszego powiększonego wyniku.
Używaj Gen-4.5 do koncepcji filmowych, animowanych pomysłów wizualnych, przebitek i rozwijania krótkich scen. Zachowuj razem prompt, użyty obraz wejściowy, długość, tryb i zwrócony klip. Sprawdź kolejność działań, zachowanie kamery, detale podmiotu, niechciane cięcia i zamierzone kadrowanie, a następnie dokonaj ukierunkowanej korekty ujęcia.
Ailoot Ultra · Wideo POST /v1/videos runway/gen-4.5
runway/gen-4.5Start
Runway Gen-4.5 tworzy filmy z opisu sceny lub obrazu ze wskazówkami ruchu. Klipy 2–10 sekund, jawne promptowanie kamery i odrębne wybory kompozycji text-to-video i image-to-video wspierają koncepcje filmowe, przebitki i animowane sceny wizualne.
- Akceptowane dane wejściowe
- Tekst · Obrazy
- Wyniki
- Wideo
Dostępne w Ailoot · dane wejściowe i metody
Ailoot Ultra · Wideo POST /v1/videos
- Wejście
text,image- Wyjście
video- Format wyjściowy
- oryginalne bajty MP4; bez normalizacji i transkodowania
| Pole | Typ | Wymaganie | Wartości i limity | Domyślnie |
|---|---|---|---|---|
Polemodel | Typstring | WymaganieWymagane | Wartości i limity runway/gen-4.5 | Domyślnie— |
Poleprompt | Typstring | WymaganieWymagane | Wartości i limity | Domyślnie— |
Poleduration | Typinteger | WymaganieWymagane | Wartości i limity 2, 3, 4, 5, 6, 7, 8, 9, 10 Minimum: 1 Maksimum: 600 | Domyślnie— |
Poleresolution | Typstring | WymaganieOpcjonalne | Wartości i limity 720p | Domyślnie— |
Poleaspect_ratio | Typstring | WymaganieOpcjonalne | Wartości i limity 16:9, 9:16 | Domyślnie— |
Polegenerate_audio | Typboolean | WymaganieOpcjonalne | Wartości i limity false | Domyślnie— |
Poleframe_images | Typarray | WymaganieOpcjonalne | Wartości i limity Minimalna liczba elementów: 1 Maksymalna liczba elementów: 1 Treść wejściowa: Tablica obiektów klatek. Każdy obiekt zawiera type=image_url, image_url z polem url oraz frame_type. Użyj adresu URL obrazu przez HTTPS i ustaw frame_type na first_frame. Każda rola klatki może wystąpić najwyżej raz. Dokładne klucze: type, image_url, frame_type Warunki: Te klucze opisują każdy obiekt klatki; image_url zawiera wyłącznie url. Pomiń frame_images w żądaniu zawierającym wyłącznie tekst. | Domyślnie— |
Poleinput_references | Typarray | WymaganieOpcjonalne | Wartości i limity | Domyślnie— |
Polesize | Typstring | WymaganieOpcjonalne | Wartości i limity 1280x720, 720x1280 Wzorzec: ^[1-9][0-9]*x[1-9][0-9]*$ | Domyślnie— |
Poleseed | Typinteger | WymaganieOpcjonalne | Wartości i limity Minimum: -9 223 372 036 854 775 808 Maksimum: 9 223 372 036 854 775 807 | Domyślnie— |
Polecallback_url | Typstring | WymaganieOpcjonalne | Wartości i limity Wzorzec: ^https:// | Domyślnie— |
Polesession_id | Typstring | WymaganieOpcjonalne | Wartości i limity | Domyślnie— |
Poletrace | Typobject | WymaganieOpcjonalne | Wartości i limity | Domyślnie— |
Poleuser | Typstring | WymaganieOpcjonalne | Wartości i limity | Domyślnie— |
Kombinacje materiałów wejściowych
Tekst na wideo · Prompt tekstowy. · Wymagane: model, prompt, duration
Podaj prompt jako tekst, a czas trwania jako pełne sekundy. Wybierz obsługiwaną rozdzielczość; dodaj proporcje obrazu lub użyj rozmiaru z listy.
model: Typ: string · runway/gen-4.5
prompt: Typ: string · Maksymalna liczba bajtów UTF-8: 10 000 · Wymagana treść inna niż białe znaki: Tak
Obraz na wideo · Prompt tekstowy i obraz pierwszej klatki. · Wymagane: model, prompt, duration, frame_images
frame_images to tablica. Każdy obiekt klatki zawiera type, image_url i frame_type; image_url zawiera url. Ustaw type na image_url. Użyj first_frame. Każda rola klatki może wystąpić najwyżej raz. Dla każdej klatki podaj publiczny URL obrazu przez HTTPS. Wybierz obsługiwaną rozdzielczość; dodaj proporcje obrazu lub użyj rozmiaru z listy.
Dokładne klucze: type, image_url, frame_type
model: Typ: string · runway/gen-4.5
prompt: Typ: string · Maksymalna liczba bajtów UTF-8: 10 000 · Wymagana treść inna niż białe znaki: Tak
Parametry i cykl życia metody
| Parametr | Kontrakt |
|---|---|
Parametrcontent_type | Kontraktapplication/json |
Parametrrequired | Kontraktmodel, prompt, duration |
Parametrmaterial_types | Kontrakttext, image |
Parametradditional_properties | Kontraktfalse |
Parametroptional_controls | Kontraktresolution, aspect_ratio, generate_audio, frame_images, input_references, size, seed, callback_url, session_id, trace, user |
Cykl życia: submit_once_poll_original
GET /v1/videos/{public_id}
GET /v1/videos/{public_id}/content
Cennik
Jak obliczana jest ostateczna opłata
Wyświetlane stawki służą do oszacowania kosztu przed generowaniem. Ostateczna opłata jest obliczana na podstawie kosztu zarejestrowanego dla pierwotnego generowania. Zmierzony czas trwania wyniku i prognozowane ilości nie stanowią ostatecznej ilości podlegającej rozliczeniu.
Informacje taryfowe nie dodają opcji żądania. Obsługiwane parametry podano przy wybranej metodzie.
- Tryb szybki
- Nie określono Gdy wybrany jest tryb szybki
- Tryb flex
- Nie określono Gdy wybrany jest tryb flex
- Maksymalna intensywność rozumowania
- Nie określono Gdy dla maksymalnej intensywności rozumowania stosowana jest domyślna korekta (default)
Szacunkowe stawki do porównania
Ceny według konfiguracji
Dopasuj każdą opłatę do pokazanych warunków. Użyj jednej stawki dla każdego zestawu alternatywnych konfiguracji.
| Konfiguracja | Tabela stawek | Przewidywana ilość | Jednostka rozliczeniowa | Warunki rozliczania | Opłata |
|---|---|---|---|---|---|
| KonfiguracjaBazowe stawki za tokeny | Tabela stawekStawka podstawowa | Przewidywana ilość— | Jednostka rozliczeniowa— | Warunki rozliczania— | Opłata Wejście · Tokeny wejściowe · Szacunek tylko do porównania — / 1K tokenów Wyjście · Tokeny wyjściowe · Szacunek tylko do porównania — / 1K tokenów Wejście · Odczyt cache · Szacunek tylko do porównania — / 1K tokenów Wejście · Zapis do cache · Szacunek tylko do porównania — / 1K tokenów Wejście · Zapis do cache, 1 godz. · Szacunek tylko do porównania — / 1K tokenów |
| KonfiguracjaCena wideo | Tabela stawek— | Przewidywana ilość— | Jednostka rozliczeniowaza sekundę wideo | Warunki rozliczaniaW tym kluczu cenowym nie zadeklarowano dodatkowego warunku. | Opłata Wyjście · Cena wideo · Szacunek tylko do porównania $0.24 za sekundę wideo |
| KonfiguracjaSzacowany koszt generowania | Tabela stawek— | Przewidywana ilośćszacunek dla jednego generowania | Jednostka rozliczeniowa— | Warunki rozliczania— | Opłata Wyjście · Szacowany koszt generowania · Szacunek tylko do porównania $0.48 szacunek przed generowaniem Ten szacunek nie jest dodatkową opłatą ani stałą stawką za ukończone generowanie. |
Ailoot rezerwuje szacowaną kwotę przed żądaniem. Po otrzymaniu wyniku rozlicza ostateczną opłatę według zmierzonego użycia. Rozliczenie strumieniowania korzysta z końcowego rekordu użycia. Jak działają rezerwacja i rozliczenie →
Szczegóły taryfy referencyjnej
Referencyjne tabele modelu nie zmieniają wyboru metody, wyceny ani opłat. Naliczane opłaty korzystają ze stawek wybranej metody Ailoot.
Referencje cenowe konfiguracji wideo
Ceny według konfiguracji
| Konfiguracja | Warunki rozliczania | Opłata |
|---|---|---|
| KonfiguracjaCena wideo | Warunki rozliczaniaW tym kluczu cenowym nie zadeklarowano dodatkowego warunku. | Opłata Wyjście · Cena wideo $0.24 za sekundę wideo Opublikowana cena referencyjna dla pokazanej konfiguracji. Ostateczne opłaty wynikają z faktycznie rozliczonej konfiguracji. |
Przykładowe żądania
Ailoot Ultra · Wideo
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
from pathlib import Path
Path('request.json').write_text('{"aspect_ratio":"16:9","duration":8,"model":"runway/gen-4.5","prompt":"A serene mountain landscape at sunset","resolution":"720p"}', encoding='utf-8')
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
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('result.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
Odbieranie i zapisywanie wyników
Ailoot Ultra · Wideo
podpisane adresy URL treści należących do użytkownika
GET /v1/videos/{public_id}GET /v1/videos/{public_id}/content
Sprawdź status zadania
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_STATUS_URL'
import json
from pathlib import Path
from urllib.parse import quote
r=json.loads(Path('result.json').read_text())
if not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')
Path('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))
PY_STATUS_URL
curl --fail-with-body --silent --show-error "$(cat status-url.txt)" \
-H "Authorization: Bearer $AILOOT_API_KEY" -D status-headers.txt -o status.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('status.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
Inne odczyty treści
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())
if r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')
if not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')
urls=[]
for i,u in enumerate(r.get('data',[])):
if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')
urls.append((str(i),u))
for label,path in urls:
u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)
if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')
target=Path('owned-'+label+'.bin')
subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)
print('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')
PY_ASSETS
Zachowaj wszystkie ukończone wyniki
Zapisz każde ukończone wideo lub zwrócony plik; pobierz każdy faktycznie zwrócony URL zasobu.
Zachowaj wszystkie faktyczne wyniki należące do użytkownika oraz zwrócone metadane pomiarowe.
Jeśli trzeba sprawdzić pierwotną odpowiedź
503 result_pending_check + pierwotne id + X-Should-Retry:false; nigdy nie ponawiaj pierwotnego żądania
Pola odpowiedzi
| Pole | Typ | Znaczenie |
|---|---|---|
Poleindex | Typinteger | ZnaczeniePozycja tego wideo na liście wyników, liczona od zera. |
Polecontent_url | Typstring | ZnaczeniePodpisany URL HTTPS do pobrania tego ukończonego wideo. |
Polesha256 | Typstring | null | ZnaczenieSkrót SHA-256 oryginalnych bajtów wideo; null, jeśli jest niedostępny. |
Polesize_bytes | Typinteger | null | ZnaczenieRozmiar oryginalnego pliku wideo w bajtach; null, jeśli jest niedostępny. |
Poleduration_ms | Typinteger | null | ZnaczenieZmierzony czas trwania wideo w milisekundach; null, jeśli jest niedostępny. |
Polewidth | Typinteger | null | ZnaczenieSzerokość wideo w pikselach; null, jeśli jest niedostępna. |
Poleheight | Typinteger | null | ZnaczenieWysokość wideo w pikselach; null, jeśli jest niedostępna. |
Polevideo_codec | Typstring | null | ZnaczenieIdentyfikator kodeka wideo; null, jeśli go nie zapisano. |
Polehas_audio | Typboolean | null | ZnaczenieCzy wideo zawiera ścieżkę dźwiękową; null, jeśli tego nie zmierzono. |
Poleaudio_codec | Typstring | null | ZnaczenieIdentyfikator kodeka dźwięku; null, gdy nie zapisano identyfikatora. |
Błędy i dalsze kroki
| Odpowiedź | Warunek | Następny krok |
|---|---|---|
Odpowiedź404 · not_found_error | WarunekNie można uzyskać dostępu do wideo albo nie znaleziono tego identyfikatora wideo. | Następny krokSprawdź dostęp do wideo. W przypadku istniejącego wideo użyj jego pierwotnego publicznego identyfikatora i tego samego klucza API. |
Odpowiedź401 · authentication_error | WarunekKlucz API nie odpowiada uwierzytelnionemu kontu. | Następny krokSprawdź swój klucz API i dostęp do konta przed wysłaniem. |
Odpowiedź400 · invalid_request_error | WarunekNie można odczytać żądania lub indeks pobierania jest nieprawidłowy. | Następny krokPopraw treść żądania. Przy pobieraniu wybierz indeks wyniku zwrócony przez pierwotne zadanie. |
Odpowiedź422 · price_unavailable | WarunekNie można wycenić wybranej konfiguracji wideo. | Następny krokWybierz obsługiwaną konfigurację wideo i uzupełnij jej wymagane opcje przed wysłaniem poprawionego żądania. |
Odpowiedź422 · invalid_request_error | WarunekWejściowe wideo lub pierwotne zadanie kontynuacji są nieprawidłowe. | Następny krokUżywaj prawidłowych danych wejściowych przez HTTPS. Do kontynuacji użyj publicznego identyfikatora ukończonego pierwotnego wideo z tym samym kluczem API. |
Odpowiedź402 · billing_error | WarunekDostępne saldo lub limity nie pozwalają na rezerwację. | Następny krokSprawdź dostępne saldo i limity przed wysłaniem nowego żądania. |
Odpowiedź503 · server_error | WarunekWeryfikacja wideo, magazyn lub dostęp do usługi są chwilowo niedostępne. | Następny krokPoczekaj na dostępność usługi. Jeśli masz już identyfikator wideo, sprawdź to pierwotne zadanie zamiast tworzyć kolejne generowanie. |
Odpowiedź503 · result_pending_check | WarunekWynik pierwotnego wideo i opłata wymagają sprawdzenia. | Następny krokZachowaj zwrócony identyfikator wideo i sprawdzaj to zadanie. Nie wysyłaj zastępczego żądania generowania podczas jego sprawdzania. |
Odpowiedź503 · owned_result_unavailable | WarunekPobieranie istniejącego wideo jest chwilowo niedostępne. | Następny krokSprawdź później to samo zadanie wideo i pobierz jego istniejący wynik. Nowe generowanie tworzy osobną operację. |
Odpowiedź409 · video_not_ready | WarunekTreść wideo nie została opublikowana. | Następny krokSprawdź status pierwotnego zadania. Pobierz wynik po zgłoszeniu completed; jeśli zgłosi failed, postępuj zgodnie z komunikatem dotyczącym sprawdzenia opłaty. |
Aliasy
Aliasy modelu
Ailoot Ultra runway/gen-4.5
Aliasy ścieżek metod
Użyj ścieżek metod podanych powyżej.
Powiązane ID modeli
FAQ · Runway: Gen-4.5
- Jakie dane wejściowe i wyniki są dostępne?
POST /v1/videos·runway/gen-4.5:text,image→video- Jakich pól używa żądanie?
POST /v1/videos·runway/gen-4.5:model,prompt,duration,resolution,aspect_ratio,generate_audio,frame_images,input_references,size,seed,callback_url,session_id,trace,user- Jakie limity obowiązują?
POST /v1/videos·runway/gen-4.5:duration.minimum:1;duration.maximum:600;frame_images.max_items:1;frame_images.min_items:1;seed.minimum:-9223372036854775808;seed.maximum:9223372036854775807