model

Runway: Gen-4.5

Markdown · JSON

Runway: Gen-4.5

Runway Gen-4.5 menciptakan video dari deskripsi adegan atau gambar dengan arahan gerak. Klip 2–10 detik, prompt kamera eksplisit, dan pilihan komposisi teks ke video serta gambar ke video yang terpisah mendukung konsep sinematik, B-roll, dan adegan visual yang dianimasikan.

Tentang model

Deskripsi ini mencakup kemampuan model. Masukan, keluaran, dan opsi yang tersedia di Ailoot tercantum di bawah untuk metode yang dipilih.

Runway Gen-4.5 adalah model generasi video dengan mode teks ke video dan gambar ke video. Model ini dapat mengikuti arahan yang menjelaskan komposisi adegan, tindakan subjek, koreografi kamera, dan urutan peristiwa. Hasil yang berguna adalah shot pendek hasil generasi yang dapat ditinjau, disimpan, atau dirangkai dengan rekaman lain.

Pilih mode masukan untuk shot

Teks ke video dimulai dari deskripsi adegan tertulis. Sertakan konten yang terlihat sekaligus gerakannya: subjek, latar, pencahayaan, pembingkaian, tindakan, dan perilaku kamera. Mode ini berguna untuk adegan baru, B-roll, gambar latar, atau konsep visual yang bingkai awalnya tidak perlu mereproduksi gambar yang diberikan.

Gambar ke video dimulai dari gambar yang bertindak sebagai bingkai pertama. Gambar itu menyediakan komposisi, subjek, pencahayaan, dan gaya. Fokuskan prompt tertulis pada apa yang harus terjadi berikutnya: tindakan subjek, gerakan dalam lingkungan, gerak kamera, dan perkembangan shot.

Siapkan gambar jelas dengan detail penting yang sudah terlihat. Wajah, tangan, atau artefak lain yang kabur dapat semakin menonjol ketika dianimasikan. Referensi yang mengisyaratkan gerak cepat melalui debu atau keburaman gerak juga dapat bertentangan dengan prompt yang meminta subjek diam.

Jelaskan visual dan gerak secara langsung

Gunakan bahasa alami yang jelas dan deskripsi positif mengenai hasil yang dimaksud. Arahan teks ke video dapat menyatakan tampilan kamera, subjek, dan tindakan terlebih dahulu, lalu menambahkan perlakuan adegan. Deskripsi terperinci berguna ketika shot memiliki kebutuhan tertentu; deskripsi lebih sederhana memberi lebih banyak ruang eksplorasi. Tidak ada jumlah kata ideal yang menggantikan kejelasan.

Misalnya, jelaskan tampilan dekat lampu meja kuningan saat cahayanya menyala, disusul gerak kamera lambat yang mengungkap buku catatan di sampingnya. Nyatakan material dan cahaya yang terlihat untuk teks ke video. Jika gambar yang diberikan sudah menentukan detail itu, prompt gambar ke video dapat berfokus pada perubahan cahaya serta pengungkapan oleh kamera.

Hindari arahan yang bertentangan. Tampilan kamera terkunci dengan gerak subjek halus berbeda dari shot tracking handheld yang energik. Tambahkan detail yang menentukan shot yang berguna, alih-alih daftar panjang gaya visual yang tidak berkaitan.

Istilah kamera dan tindakan berurutan

Panduan kamera pembuatnya membedakan pembingkaian, sudut, gerakan, dan fokus. Close-up mengubah apa yang memenuhi bingkai, sudut rendah mengubah perspektif, pan memutar arah pandang kamera, dan gerak tracking mengikuti subjek. Instruksi rack-focus memindahkan fokus antar subjek yang terlihat. Nyatakan apa yang harus terlihat atau terungkap seiring perkembangan gerakan.

Prompt berurutan dapat menyatakan peristiwa dalam bahasa biasa atau dengan penanda waktu perkiraan. Penanda waktu tersebut memandu urutan dan waktu kira-kira; penanda itu bukan jaminan pelaksanaan yang persis pada bingkai tertentu. Berikan waktu yang cukup agar tindakan yang diminta berlangsung alami dalam durasi klip pilihan.

Untuk shot statis, jelaskan gerakan yang terjadi di dalam bingkai dan tegaskan kamera diam yang dimaksud. Pembuatnya mencatat bahwa tampilan yang sepenuhnya tanpa gerak dapat sulit, khususnya pada beberapa shot lebar atau pembuka. Tinjau gerakan kecil yang tidak diinginkan pada hasil sebenarnya, alih-alih berasumsi bahwa frasa kamera statis membuatnya mustahil.

Durasi, dimensi, dan laju bingkai

Gen-4.5 mendukung durasi klip dari 2 hingga 10 detik. Pilihan lebih panjang dapat memuat beberapa tindakan berurutan, sedangkan reaksi atau pengungkapan singkat dapat menggunakan shot lebih pendek. Keluaran yang didokumentasikan adalah 720p, dengan 24 atau 25 bingkai per detik dalam alur kerja generasi pembuatnya.

Spesifikasi teks ke video mencantumkan 16:9 pada 1280 × 720 piksel. Gambar ke video juga mencantumkan 9:16 pada 720 × 1280, 1:1 pada 960 × 960, 4:3 pada 1104 × 832, 3:4 pada 832 × 1104, dan 21:9 pada 1584 × 672. Simpan mode bersama dimensi sebenarnya, alih-alih berasumsi kedua mode masukan menawarkan kumpulan rasio aspek yang sama.

Rasio gambar dapat menentukan komposisi bawaan, dan mengubahnya dapat memangkas masukan. Periksa penempatan subjek sebelum menilai gerak: tindakan yang benar tidak berguna jika bagian penting gambar sumber terpotong.

Bangun urutan lebih panjang dari shot lengkap

Untuk karya berbasis gambar, pembuatnya menjelaskan kelanjutan urutan dengan menggunakan bingkai terakhir klip lengkap sebagai masukan gambar untuk generasi lain. Klip kemudian digabungkan dalam editor video, dengan bingkai bersama dan pengaturan waktunya ditangani saat menyunting. Ini adalah urutan shot terpisah, bukan satu generasi berdurasi tanpa batas.

Simpan bingkai akhir dan arahan terkait agar shot berikutnya dimulai dari keadaan visual yang dimaksud. Periksa kesinambungan rekaman yang digabungkan, termasuk penampilan subjek, arah kamera, dan transisi antarklip.

Simpan dan tinjau artefak produksi

Setelah generasi, tinjau seluruh klip dan simpan keluaran lengkap. Alur kerja produsen juga menyediakan pilihan peningkatan resolusi dan ekspor produksi terpisah seperti ProRes atau urutan PNG. Itu merupakan pilihan alur kerja tambahan; dimensi generasi bawaan tetap terpisah dari hasil yang ditingkatkan kemudian.

Gunakan Gen-4.5 untuk konsep sinematik, gagasan visual animasi, B-roll, dan pengembangan adegan singkat. Simpan prompt, gambar masukan jika digunakan, durasi, mode, dan klip yang dikembalikan bersama. Periksa urutan tindakan, perilaku kamera, detail subjek, potongan shot yang tidak diinginkan, dan pembingkaian yang dimaksud, lalu buat koreksi terarah pada shot.

Ailoot Ultra · Video POST /v1/videos runway/gen-4.5

runway/gen-4.5

Runway /runway/gen-4.5

Mulai

Runway Gen-4.5 menciptakan video dari deskripsi adegan atau gambar dengan arahan gerak. Klip 2–10 detik, prompt kamera eksplisit, dan pilihan komposisi teks ke video serta gambar ke video yang terpisah mendukung konsep sinematik, B-roll, dan adegan visual yang dianimasikan.

Masukan yang diterima
Teks · Gambar
Hasil
Video

Tersedia di Ailoot · masukan & metode

Ailoot Ultra · Video POST /v1/videos
Masukan
text, image
Keluaran
video
Format keluaran
byte MP4 asli; tanpa normalisasi atau pengodean ulang
KolomJenisPersyaratanNilai & batasanBawaan
KolommodelJenisstringPersyaratanWajibNilai & batasan
runway/gen-4.5
Bawaan—
KolompromptJenisstringPersyaratanWajibNilai & batasanBawaan—
KolomdurationJenisintegerPersyaratanWajibNilai & batasan
2, 3, 4, 5, 6, 7, 8, 9, 10
Minimum: 1
Maksimum: 600
Bawaan—
KolomresolutionJenisstringPersyaratanOpsionalNilai & batasan
720p
Bawaan—
Kolomaspect_ratioJenisstringPersyaratanOpsionalNilai & batasan
16:9, 9:16
Bawaan—
Kolomgenerate_audioJenisbooleanPersyaratanOpsionalNilai & batasan
false
Bawaan—
Kolomframe_imagesJenisarrayPersyaratanOpsionalNilai & batasan
Item minimum: 1
Item maksimum: 1
Konten masukan: Array objek bingkai. Setiap objek memiliki type=image_url, image_url yang memuat url, dan frame_type. Gunakan URL gambar HTTPS dan tetapkan frame_type ke first_frame. Setiap peran bingkai muncul paling banyak sekali.
Kunci persis: type, image_url, frame_type
Kondisi: Kunci-kunci ini menjelaskan setiap objek bingkai; image_url hanya memuat url. Hilangkan frame_images untuk permintaan yang hanya berisi teks.
Bawaan—
Kolominput_referencesJenisarrayPersyaratanOpsionalNilai & batasanBawaan—
KolomsizeJenisstringPersyaratanOpsionalNilai & batasan
1280x720, 720x1280
Pola: ^[1-9][0-9]*x[1-9][0-9]*$
Bawaan—
KolomseedJenisintegerPersyaratanOpsionalNilai & batasan
Minimum: -9.223.372.036.854.775.808
Maksimum: 9.223.372.036.854.775.807
Bawaan—
Kolomcallback_urlJenisstringPersyaratanOpsionalNilai & batasan
Pola: ^https://
Bawaan—
Kolomsession_idJenisstringPersyaratanOpsionalNilai & batasanBawaan—
KolomtraceJenisobjectPersyaratanOpsionalNilai & batasanBawaan—
KolomuserJenisstringPersyaratanOpsionalNilai & batasanBawaan—
Kombinasi bahan masukan

Teks ke video · Prompt tertulis. · Wajib: model, prompt, duration

Berikan prompt sebagai teks dan durasi dalam detik bulat. Pilih resolusi yang didukung; tambahkan rasio aspek atau gunakan ukuran yang tercantum.

model: Jenis: string · runway/gen-4.5

prompt: Jenis: string · Byte UTF-8 maksimum: 10.000 · Wajib berisi karakter selain spasi: Ya

Gambar ke video · Prompt tertulis dan satu gambar bingkai pertama. · Wajib: model, prompt, duration, frame_images

frame_images berupa array. Setiap objek bingkai memiliki type, image_url, dan frame_type; image_url memuat url. Tetapkan type ke image_url. Gunakan first_frame. Setiap peran bingkai muncul paling banyak sekali. Berikan URL gambar HTTPS publik untuk setiap bingkai. Pilih resolusi yang didukung; tambahkan rasio aspek atau gunakan ukuran yang tercantum.

Kunci persis: type, image_url, frame_type

model: Jenis: string · runway/gen-4.5

prompt: Jenis: string · Byte UTF-8 maksimum: 10.000 · Wajib berisi karakter selain spasi: Ya

Parameter metode dan siklus hidup
ParameterKontrak
Parametercontent_typeKontrakapplication/json
ParameterrequiredKontrakmodel, prompt, duration
Parametermaterial_typesKontraktext, image
Parameteradditional_propertiesKontrakfalse
Parameteroptional_controlsKontrakresolution, aspect_ratio, generate_audio, frame_images, input_references, size, seed, callback_url, session_id, trace, user

Siklus hidup: submit_once_poll_original

GET /v1/videos/{public_id}

GET /v1/videos/{public_id}/content

Paket

Cara menghitung biaya akhir

Tarif yang ditampilkan memperkirakan biaya sebelum pembuatan. Biaya akhir dihitung dari biaya yang tercatat untuk proses pembuatan awal. Durasi keluaran yang terukur dan kuantitas perkiraan bukanlah kuantitas akhir yang ditagihkan.

Referensi tarif tidak menambah opsi permintaan. Parameter yang didukung tercantum pada metode yang dipilih.

Mode Fast
Tidak ditentukan Saat mode fast dipilih
Mode Flex
Tidak ditentukan Saat mode flex dipilih
Upaya penalaran maksimum
Tidak ditentukan Saat upaya penalaran maksimum menggunakan penyesuaian default

Perkiraan tarif untuk perbandingan

Harga menurut konfigurasi

Cocokkan setiap biaya dengan kondisi yang ditampilkan. Gunakan satu tarif untuk setiap kelompok konfigurasi alternatif.

KonfigurasiJadwal tarifJumlah perkiraanSatuan penagihanKondisi penagihanBiaya
KonfigurasiTarif dasar tokenJadwal tarifTarif dasarJumlah perkiraan—Satuan penagihan—Kondisi penagihan—Biaya
Masukan · Token masukan · Perkiraan hanya untuk perbandingan — / 1K token
Keluaran · Token keluaran · Perkiraan hanya untuk perbandingan — / 1K token
Masukan · Pembacaan cache · Perkiraan hanya untuk perbandingan — / 1K token
Masukan · Penulisan cache · Perkiraan hanya untuk perbandingan — / 1K token
Masukan · Penulisan cache, 1 jam · Perkiraan hanya untuk perbandingan — / 1K token
KonfigurasiHarga videoJadwal tarif—Jumlah perkiraan—Satuan penagihanper detik videoKondisi penagihanTidak ada kondisi tambahan yang dinyatakan dalam kunci harga ini.Biaya
Keluaran · Harga video · Perkiraan hanya untuk perbandingan $0.24 per detik video
KonfigurasiPerkiraan biaya pembuatanJadwal tarif—Jumlah perkiraanestimasi satu kali pembuatanSatuan penagihan—Kondisi penagihan—Biaya
Keluaran · Perkiraan biaya pembuatan · Perkiraan hanya untuk perbandingan $0.48 estimasi sebelum pembuatan

Perkiraan ini bukan biaya tambahan maupun tarif tetap untuk proses pembuatan yang telah selesai.

Ailoot mencadangkan perkiraan dana sebelum permintaan. Setelah hasil diterima, tagihan akhir diselesaikan berdasarkan penggunaan yang terukur. Penyelesaian tagihan streaming menggunakan catatan penggunaan akhir. Cara kerja cadangan dan penyelesaian tagihan →

Detail tarif referensi

Jadwal referensi tingkat model tidak mengubah pemilihan metode, estimasi harga, atau biaya. Biaya aktif menggunakan tarif metode Ailoot yang dipilih.

Referensi harga konfigurasi video

Harga menurut konfigurasi

KonfigurasiKondisi penagihanBiaya
KonfigurasiHarga videoKondisi penagihanTidak ada kondisi tambahan yang dinyatakan dalam kunci harga ini.Biaya
Keluaran · Harga video $0.24 per detik video

Acuan harga yang dipublikasikan untuk konfigurasi yang ditampilkan. Biaya akhir mengikuti konfigurasi aktual yang ditagihkan.

Contoh permintaan

Ailoot Ultra · Video

curl · buat video
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

Terima dan simpan hasil

Ailoot Ultra · Video

URL konten bertanda tangan milik Ailoot

  • GET /v1/videos/{public_id}
  • GET /v1/videos/{public_id}/content
Periksa status tugas
GET status operasi asli
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
Pembacaan konten lain
Simpan setiap keluaran selesai yang menjadi milik Anda
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
Simpan semua hasil yang selesai

Simpan setiap video yang selesai atau berkas yang dikembalikan; ambil setiap URL aset yang benar-benar dikembalikan.

Simpan setiap keluaran aktual milik Ailoot beserta metadata hasil pengukuran yang dikembalikan.

Jika respons asli perlu diperiksa

503 result_pending_check + id asli + X-Should-Retry:false; jangan pernah ulangi pengiriman awal

Kolom respons
KolomJenisArti
KolomindexJenisintegerArtiPosisi video ini dalam daftar keluaran, dihitung dari nol.
Kolomcontent_urlJenisstringArtiURL unduhan HTTPS bertanda tangan untuk video yang telah selesai ini.
Kolomsha256Jenisstring | nullArtiDigest SHA-256 dari byte video asli; null jika tidak tersedia.
Kolomsize_bytesJenisinteger | nullArtiUkuran berkas video asli dalam byte; null jika tidak tersedia.
Kolomduration_msJenisinteger | nullArtiDurasi video terukur dalam milidetik; null jika tidak tersedia.
KolomwidthJenisinteger | nullArtiLebar video dalam piksel; null jika tidak tersedia.
KolomheightJenisinteger | nullArtiTinggi video dalam piksel; null jika tidak tersedia.
Kolomvideo_codecJenisstring | nullArtiPengenal codec video; null jika tidak dicatat.
Kolomhas_audioJenisboolean | nullArtiApakah video memuat trek audio; null jika tidak diukur.
Kolomaudio_codecJenisstring | nullArtiPengenal codec audio; null jika tidak ada pengenal yang dicatat.
Kesalahan dan langkah berikutnya
ResponsKondisiLangkah berikutnya
Respons404 · not_found_errorKondisiAkses video tidak tersedia, atau ID video ini tidak ditemukan.Langkah berikutnyaPeriksa akses video. Untuk video yang sudah ada, gunakan ID publik aslinya dan kunci API yang sama.
Respons401 · authentication_errorKondisiKunci API tidak cocok dengan akun yang diautentikasi.Langkah berikutnyaPeriksa kunci API dan akses akun Anda sebelum mengirim.
Respons400 · invalid_request_errorKondisiPermintaan tidak dapat dibaca, atau indeks unduhan tidak valid.Langkah berikutnyaPerbaiki isi permintaan. Untuk unduhan, pilih indeks keluaran yang dikembalikan oleh tugas awal.
Respons422 · price_unavailableKondisiHarga konfigurasi video yang dipilih tidak dapat dihitung.Langkah berikutnyaPilih konfigurasi video yang didukung dan lengkapi opsi wajibnya sebelum mengirim permintaan yang telah diperbaiki.
Respons422 · invalid_request_errorKondisiMasukan video atau tugas kelanjutan awal tidak valid.Langkah berikutnyaGunakan masukan HTTPS yang valid. Untuk kelanjutan, gunakan ID video publik awal Anda yang telah selesai dengan kunci API yang sama.
Respons402 · billing_errorKondisiSaldo atau batas yang tersedia tidak memungkinkan pencadangan dana.Langkah berikutnyaPeriksa saldo dan batas yang tersedia sebelum mengirim permintaan baru.
Respons503 · server_errorKondisiVerifikasi video, penyimpanan, atau akses layanan sementara tidak tersedia.Langkah berikutnyaTunggu hingga layanan tersedia. Jika Anda sudah memiliki ID video, periksa tugas awal tersebut alih-alih memulai pembuatan baru.
Respons503 · result_pending_checkKondisiHasil video awal dan tagihannya perlu diperiksa.Langkah berikutnyaSimpan ID video yang dikembalikan dan periksa tugas tersebut. Jangan kirim permintaan pembuatan pengganti selama tugas itu sedang diperiksa.
Respons503 · owned_result_unavailableKondisiUnduhan video yang sudah ada sementara tidak tersedia.Langkah berikutnyaPeriksa tugas video yang sama nanti dan unduh keluaran yang sudah ada. Pembuatan baru menghasilkan operasi terpisah.
Respons409 · video_not_readyKondisiKonten video belum dipublikasikan.Langkah berikutnyaPeriksa status tugas awal. Unduh setelah statusnya completed; jika statusnya failed, ikuti pemberitahuan pemeriksaan tagihannya.

Alias

Alias model

Ailoot Ultra runway/gen-4.5

Alias jalur metode

Gunakan jalur metode yang ditampilkan di atas.

ID pemanggil terkait

runway/gen-4.5

FAQ · Runway: Gen-4.5
Input dan hasil apa yang tersedia?

POST /v1/videos · runway/gen-4.5: text, image → video

Kolom apa yang digunakan permintaan?

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

Batasan apa yang berlaku?

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

Rincian selengkapnya

Hubungkan Ailoot ke Claude Code, OpenCode, Hermes, atau aplikasi Anda.

Perusahaan dan portofolio proyeknya

Perusahaan dan portofolio proyeknya: jutaan pelanggan; penjualan miliaran setiap bulan.

Beli token dengan diskon.

Diskon langganan untuk pekerjaan rutin. Kode promo — hingga 50% untuk pembelian token.

Langganan
Pilih paket dengan diskon untuk permintaan rutin Anda.
Kode promo hingga 50%
Masukkan kode saat membeli. Harga dihitung ulang sesuai promosi aktif.
Biaya dalam riwayat
Model, token, dan jumlah tagihan disimpan untuk setiap permintaan.

Pilih langganan · Lihat harga model

Hubungkan API ke produk yang Anda jual.

SaaS, aplikasi, dan bot — sesuai penawaran dan perjanjian lisensi Ailoot. Untuk penjualan kembali, mintalah lisensi reseller.

Aplikasi komersial
Integrasikan pembuatan teks, gambar, video, dan suara dalam fitur berbayar layanan Anda.
Lisensi reseller
Kirim deskripsi proyek dan skema akses. Mintalah ketentuan penggunaan dan penjualan kembali secara tertulis.
Dokumen di situs
Penawaran, perjanjian lisensi, dan kebijakan pemrosesan data tersedia sebelum koneksi.

Minta lisensi reseller · Penawaran dan perjanjian lisensi