modele

Runway: Gen-4.5

Markdown · JSON

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.5

Runway /runway/gen-4.5

Start

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
PoleTypWymaganieWartości i limityDomyślnie
PolemodelTypstringWymaganieWymaganeWartości i limity
runway/gen-4.5
Domyślnie—
PolepromptTypstringWymaganieWymaganeWartości i limityDomyślnie—
PoledurationTypintegerWymaganieWymaganeWartości i limity
2, 3, 4, 5, 6, 7, 8, 9, 10
Minimum: 1
Maksimum: 600
Domyślnie—
PoleresolutionTypstringWymaganieOpcjonalneWartości i limity
720p
Domyślnie—
Poleaspect_ratioTypstringWymaganieOpcjonalneWartości i limity
16:9, 9:16
Domyślnie—
Polegenerate_audioTypbooleanWymaganieOpcjonalneWartości i limity
false
Domyślnie—
Poleframe_imagesTyparrayWymaganieOpcjonalneWartoś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_referencesTyparrayWymaganieOpcjonalneWartości i limityDomyślnie—
PolesizeTypstringWymaganieOpcjonalneWartości i limity
1280x720, 720x1280
Wzorzec: ^[1-9][0-9]*x[1-9][0-9]*$
Domyślnie—
PoleseedTypintegerWymaganieOpcjonalneWartości i limity
Minimum: -9 223 372 036 854 775 808
Maksimum: 9 223 372 036 854 775 807
Domyślnie—
Polecallback_urlTypstringWymaganieOpcjonalneWartości i limity
Wzorzec: ^https://
Domyślnie—
Polesession_idTypstringWymaganieOpcjonalneWartości i limityDomyślnie—
PoletraceTypobjectWymaganieOpcjonalneWartości i limityDomyślnie—
PoleuserTypstringWymaganieOpcjonalneWartości i limityDomyś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
ParametrKontrakt
Parametrcontent_typeKontraktapplication/json
ParametrrequiredKontraktmodel, prompt, duration
Parametrmaterial_typesKontrakttext, image
Parametradditional_propertiesKontraktfalse
Parametroptional_controlsKontraktresolution, 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.

KonfiguracjaTabela stawekPrzewidywana ilośćJednostka rozliczeniowaWarunki rozliczaniaOpłata
KonfiguracjaBazowe stawki za tokenyTabela stawekStawka podstawowaPrzewidywana 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 wideoTabela stawek—Przewidywana ilość—Jednostka rozliczeniowaza sekundę wideoWarunki 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 generowaniaTabela stawek—Przewidywana ilośćszacunek dla jednego generowaniaJednostka 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

KonfiguracjaWarunki rozliczaniaOpłata
KonfiguracjaCena wideoWarunki 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

curl · utwórz film
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
Pobierz status pierwotnej operacji przez GET
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
Zapisz każdy ukończony wynik, który należy do Ciebie
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
PoleTypZnaczenie
PoleindexTypintegerZnaczeniePozycja tego wideo na liście wyników, liczona od zera.
Polecontent_urlTypstringZnaczeniePodpisany URL HTTPS do pobrania tego ukończonego wideo.
Polesha256Typstring | nullZnaczenieSkrót SHA-256 oryginalnych bajtów wideo; null, jeśli jest niedostępny.
Polesize_bytesTypinteger | nullZnaczenieRozmiar oryginalnego pliku wideo w bajtach; null, jeśli jest niedostępny.
Poleduration_msTypinteger | nullZnaczenieZmierzony czas trwania wideo w milisekundach; null, jeśli jest niedostępny.
PolewidthTypinteger | nullZnaczenieSzerokość wideo w pikselach; null, jeśli jest niedostępna.
PoleheightTypinteger | nullZnaczenieWysokość wideo w pikselach; null, jeśli jest niedostępna.
Polevideo_codecTypstring | nullZnaczenieIdentyfikator kodeka wideo; null, jeśli go nie zapisano.
Polehas_audioTypboolean | nullZnaczenieCzy wideo zawiera ścieżkę dźwiękową; null, jeśli tego nie zmierzono.
Poleaudio_codecTypstring | nullZnaczenieIdentyfikator kodeka dźwięku; null, gdy nie zapisano identyfikatora.
Błędy i dalsze kroki
OdpowiedźWarunekNastępny krok
Odpowiedź404 · not_found_errorWarunekNie 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_errorWarunekKlucz API nie odpowiada uwierzytelnionemu kontu.Następny krokSprawdź swój klucz API i dostęp do konta przed wysłaniem.
Odpowiedź400 · invalid_request_errorWarunekNie 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_unavailableWarunekNie 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_errorWarunekWejś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_errorWarunekDostępne saldo lub limity nie pozwalają na rezerwację.Następny krokSprawdź dostępne saldo i limity przed wysłaniem nowego żądania.
Odpowiedź503 · server_errorWarunekWeryfikacja 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_checkWarunekWynik 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_unavailableWarunekPobieranie 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_readyWarunekTreść 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

runway/gen-4.5

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

Więcej szczegółów

Połącz Ailoot z Claude Code, OpenCode, Hermes albo własną aplikacją.

Firma i jej portfel projektów

Firma i jej portfel projektów: miliony klientów; miesięczna sprzedaż liczona w miliardach.

Kupuj tokeny z rabatem.

Rabat subskrypcji do regularnej pracy. Kody promocyjne — do 50% na tokeny.

Subskrypcja
Wybierz plan z rabatem do regularnych żądań.
Kod promocyjny do 50%
Wpisz kod przy zakupie. Cena zostanie przeliczona według aktualnej promocji.
Koszty w historii
Model, tokeny i kwota są zapisywane dla każdego żądania.

Wybierz subskrypcję · Sprawdź ceny modeli

Połącz API z produktem, który sprzedajesz.

SaaS, aplikacje i boty na warunkach oferty i umowy licencyjnej Ailoot. Do odsprzedaży poproś o licencję resellerską.

Aplikacja komercyjna
Wbuduj generowanie tekstu, obrazów, wideo i dźwięku w płatne funkcje usługi.
Licencja resellerska
Prześlij opis projektu i schemat dostępu. Poproś o pisemne warunki używania i odsprzedaży.
Dokumenty na stronie
Oferta, umowa licencyjna i polityka przetwarzania danych są dostępne przed połączeniem.

Poproś o licencję resellerską · Oferta i umowa licencyjna