{
  "aboutHtml": "<p>Aleph 2.0 adalah model penyuntingan video dalam konteks dari Runway. Model ini mengubah rekaman tradisional atau hasil generasi yang ada menggunakan instruksi tertulis dan panduan bingkai kunci opsional. Alur kerja yang dimaksud mengubah bagian adegan yang diminta sambil mempertahankan komposisi, pencahayaan, dan detail di sekitarnya, sehingga berguna untuk penggantian produk, perubahan pakaian, transformasi latar, pencahayaan ulang, atau perubahan gaya visual tanpa menciptakan ulang seluruh adegan dari arahan teks.</p><p>Mulailah dengan tindakan langsung dan transformasi yang Anda inginkan: tambahkan, hapus, ganti, ubah, atur ulang pencahayaan, atau ubah gaya. Untuk penggantian produk, identifikasi objek yang terlihat dan jelaskan penggantinya, lalu nyatakan gerakan tangan, gerak kamera, serta latar di sekitarnya yang harus tetap ada. Untuk adegan musiman, jelaskan cuaca atau cahaya yang perlu berubah. Instruksi ringkas dan terarah memberikan tujuan penyuntingan yang lebih jelas daripada permintaan umum untuk memperbaiki seluruh klip.</p><p>Panduan bingkai kunci menentukan tampilan hasil suntingan pada momen tertentu. Pilih bingkai yang menampilkan sasaran dengan jelas: tampilan lebar untuk perubahan latar, atau tampilan lebih dekat untuk ciri kecil maupun aksesori. Dalam alur kerja Edit Studio Runway, suntingan bingkai diam dapat dipratinjau dan diperbaiki sebelum versi pilihan itu memandu transformasi video. Bandingkan bingkai yang disunting dengan sumber untuk detail subjek, tepi, dan objek yang ingin dipertahankan, lalu gunakan sebagai arahan visual klip.</p><p>API produsen mendukung video sumber dari 2 hingga 30 detik dan hingga lima gambar bingkai kunci opsional yang ditempatkan pada penanda waktu tertentu. Pertahankan kaitan setiap gambar panduan dengan titik yang dimaksud dalam sumber, dan gunakan sedikit perubahan yang jelas, alih-alih kumpulan sasaran visual yang bertentangan. Aleph 2.0 berbeda dari model Gen-4 Aleph yang lebih lama; produsen mengidentifikasi model API-nya secara terpisah. Suntingan berpanduan bingkai kunci juga berbeda dari meminta model teks ke video menciptakan shot yang tidak berkaitan.</p><p>Aturan persiapan Edit Studio yang didokumentasikan menggunakan rasio aspek konvensional, resolusi sumber antara 480p dan 1080p, serta 24–30 bingkai per detik, dengan tidak lebih dari sepuluh potongan atau perubahan shot. Alur ini menyarankan materi sumber 720p atau 1080p; rekaman di atas 30-fps diturunkan laju bingkainya dan unggahan di atas 30 detik dipangkas dalam antarmuka tersebut. Ini adalah aturan persiapan alur kerja penyuntingan produsen. Pilih segmen sumber yang menunjukkan seluruh peristiwa yang ingin disunting dan subjeknya tetap terlihat di tempat perubahan harus berlanjut.</p><p>Model dapat meneruskan perubahan latar, pakaian, objek, cahaya, atau gaya di seluruh rekaman. Instruksi gerak tambahan berguna ketika suntingan membutuhkan tindakan baru yang tidak ada dalam sumber dan tidak akan mengikuti bingkai kunci saja, seperti efek visual yang berkembang seiring waktu. Banyak suntingan tidak memerlukan arahan gerak tambahan karena model menganimasikan penyesuaian bingkai kunci dalam adegan yang ada. Jelaskan gerak baru secara khusus dan pisahkan dari perubahan visual yang sudah ditentukan bingkai kunci.</p><p>Alur kerja penyuntingan produsen secara bawaan menerapkan suntingan pada seluruh video dan dapat membatasinya ke rentang linimasa pilihan. Simpan klip asli agar hasil pilihan dapat dibandingkan dengan sumber dan digunakan untuk tindak lanjut terarah. Peninjauan praktis melihat melampaui bingkai pilihan: periksa awal, tengah, akhir, setiap potongan, dan periode ketika sasaran tertutup sesaat. Artefak yang berguna adalah klip revisi yang transformasi yang diminta tetap konsisten sepanjang waktu, sementara unsur penting yang tidak diubah mempertahankan perannya.</p><p>MP4 adalah artefak bawaan untuk pemutaran dan berbagi. Alur kerja Edit Studio video penuh Runway yang memenuhi syarat juga menawarkan ProRes sebagai berkas MOV dengan audio PCM, atau ZIP berisi bingkai PNG individual untuk compositing. Profil ProRes berkisar dari 422 Proxy hingga 4444 XQ. Suntingan yang dibatasi rentang linimasa mengembalikan MP4, dan format keluaran dipilih saat generasi dimulai, bukan diubah setelah hasil selesai. Pilih bentuk ekspor produsen untuk tugas penyuntingan berikutnya sambil membedakannya dari kemampuan inti penyuntingan visual model.</p><p>Untuk suntingan akhir yang berguna, bandingkan penggantian, pencahayaan, atau gaya yang dimaksud dengan bingkai kunci dan periksa detail di sekitarnya yang tidak dimaksudkan berubah. Simpan versi yang berhasil dan revisi instruksi atau bingkai panduan tertentu yang menyebabkan ketidakcocokan. Peran Aleph 2.0 adalah mengubah rekaman sumber melalui sasaran visual yang jelas; menghasilkan trek bunyi baru, mengubah perilaku aplikasi, atau menyelesaikan pipeline penyampaian siaran terpisah merupakan tugas tambahan di sekitar video yang disunting.</p>",
  "aboutText": "Aleph 2.0 adalah model penyuntingan video dalam konteks dari Runway. Model ini mengubah rekaman tradisional atau hasil generasi yang ada menggunakan instruksi tertulis dan panduan bingkai kunci opsional. Alur kerja yang dimaksud mengubah bagian adegan yang diminta sambil mempertahankan komposisi, pencahayaan, dan detail di sekitarnya, sehingga berguna untuk penggantian produk, perubahan pakaian, transformasi latar, pencahayaan ulang, atau perubahan gaya visual tanpa menciptakan ulang seluruh adegan dari arahan teks.\n\nMulailah dengan tindakan langsung dan transformasi yang Anda inginkan: tambahkan, hapus, ganti, ubah, atur ulang pencahayaan, atau ubah gaya. Untuk penggantian produk, identifikasi objek yang terlihat dan jelaskan penggantinya, lalu nyatakan gerakan tangan, gerak kamera, serta latar di sekitarnya yang harus tetap ada. Untuk adegan musiman, jelaskan cuaca atau cahaya yang perlu berubah. Instruksi ringkas dan terarah memberikan tujuan penyuntingan yang lebih jelas daripada permintaan umum untuk memperbaiki seluruh klip.\n\nPanduan bingkai kunci menentukan tampilan hasil suntingan pada momen tertentu. Pilih bingkai yang menampilkan sasaran dengan jelas: tampilan lebar untuk perubahan latar, atau tampilan lebih dekat untuk ciri kecil maupun aksesori. Dalam alur kerja Edit Studio Runway, suntingan bingkai diam dapat dipratinjau dan diperbaiki sebelum versi pilihan itu memandu transformasi video. Bandingkan bingkai yang disunting dengan sumber untuk detail subjek, tepi, dan objek yang ingin dipertahankan, lalu gunakan sebagai arahan visual klip.\n\nAPI produsen mendukung video sumber dari 2 hingga 30 detik dan hingga lima gambar bingkai kunci opsional yang ditempatkan pada penanda waktu tertentu. Pertahankan kaitan setiap gambar panduan dengan titik yang dimaksud dalam sumber, dan gunakan sedikit perubahan yang jelas, alih-alih kumpulan sasaran visual yang bertentangan. Aleph 2.0 berbeda dari model Gen-4 Aleph yang lebih lama; produsen mengidentifikasi model API-nya secara terpisah. Suntingan berpanduan bingkai kunci juga berbeda dari meminta model teks ke video menciptakan shot yang tidak berkaitan.\n\nAturan persiapan Edit Studio yang didokumentasikan menggunakan rasio aspek konvensional, resolusi sumber antara 480p dan 1080p, serta 24–30 bingkai per detik, dengan tidak lebih dari sepuluh potongan atau perubahan shot. Alur ini menyarankan materi sumber 720p atau 1080p; rekaman di atas 30-fps diturunkan laju bingkainya dan unggahan di atas 30 detik dipangkas dalam antarmuka tersebut. Ini adalah aturan persiapan alur kerja penyuntingan produsen. Pilih segmen sumber yang menunjukkan seluruh peristiwa yang ingin disunting dan subjeknya tetap terlihat di tempat perubahan harus berlanjut.\n\nModel dapat meneruskan perubahan latar, pakaian, objek, cahaya, atau gaya di seluruh rekaman. Instruksi gerak tambahan berguna ketika suntingan membutuhkan tindakan baru yang tidak ada dalam sumber dan tidak akan mengikuti bingkai kunci saja, seperti efek visual yang berkembang seiring waktu. Banyak suntingan tidak memerlukan arahan gerak tambahan karena model menganimasikan penyesuaian bingkai kunci dalam adegan yang ada. Jelaskan gerak baru secara khusus dan pisahkan dari perubahan visual yang sudah ditentukan bingkai kunci.\n\nAlur kerja penyuntingan produsen secara bawaan menerapkan suntingan pada seluruh video dan dapat membatasinya ke rentang linimasa pilihan. Simpan klip asli agar hasil pilihan dapat dibandingkan dengan sumber dan digunakan untuk tindak lanjut terarah. Peninjauan praktis melihat melampaui bingkai pilihan: periksa awal, tengah, akhir, setiap potongan, dan periode ketika sasaran tertutup sesaat. Artefak yang berguna adalah klip revisi yang transformasi yang diminta tetap konsisten sepanjang waktu, sementara unsur penting yang tidak diubah mempertahankan perannya.\n\nMP4 adalah artefak bawaan untuk pemutaran dan berbagi. Alur kerja Edit Studio video penuh Runway yang memenuhi syarat juga menawarkan ProRes sebagai berkas MOV dengan audio PCM, atau ZIP berisi bingkai PNG individual untuk compositing. Profil ProRes berkisar dari 422 Proxy hingga 4444 XQ. Suntingan yang dibatasi rentang linimasa mengembalikan MP4, dan format keluaran dipilih saat generasi dimulai, bukan diubah setelah hasil selesai. Pilih bentuk ekspor produsen untuk tugas penyuntingan berikutnya sambil membedakannya dari kemampuan inti penyuntingan visual model.\n\nUntuk suntingan akhir yang berguna, bandingkan penggantian, pencahayaan, atau gaya yang dimaksud dengan bingkai kunci dan periksa detail di sekitarnya yang tidak dimaksudkan berubah. Simpan versi yang berhasil dan revisi instruksi atau bingkai panduan tertentu yang menyebabkan ketidakcocokan. Peran Aleph 2.0 adalah mengubah rekaman sumber melalui sasaran visual yang jelas; menghasilkan trek bunyi baru, mengubah perilaku aplikasi, atau menyelesaikan pipeline penyampaian siaran terpisah merupakan tugas tambahan di sekitar video yang disunting.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "2601e42c362e3f708aceb915028d134aefe5b876f7388410af4f227733c3e02a",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "id",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">Runway: Aleph 2.0</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Tutup\">×</button></div><div class=\"idline\"><span>Runway /</span><code>runway/aleph-2</code><button type=\"button\" id=\"copy-id\">Salin ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Bagian kartu model\"><button type=\"button\" data-card-jump=\"overview\">Mulai</button><button type=\"button\" data-card-jump=\"methods\">Masukan &amp; metode</button><button type=\"button\" data-card-jump=\"pricing\">Paket</button><button type=\"button\" data-card-jump=\"examples\">Contoh</button><button type=\"button\" data-card-jump=\"results\">Hasil</button><button type=\"button\" data-card-jump=\"aliases\">Alias</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"Metode API\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|videos|/v1/videos|runway%2Faleph-2\">Video</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-0\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">Mulai</h3><p class=\"mdesc-full\">Aleph 2.0 menyunting video yang ada melalui instruksi teks terarah dan panduan bingkai kunci. Gunakan untuk mengganti objek, mengubah latar, pakaian, pencahayaan, atau gaya, sambil mengarahkan detail adegan asli yang harus tetap utuh.</p><dl class=\"card-io\" data-card-io><div><dt>Masukan yang diterima</dt><dd>Teks · Gambar · Audio · Video</dd></div><div><dt>Hasil</dt><dd>Video</dd></div></dl><details class=\"card-about\"><summary>Tentang model</summary><p class=\"note-s\" data-model-method-boundary>Deskripsi ini mencakup kemampuan model. Masukan, keluaran, dan opsi yang tersedia di Ailoot tercantum di bawah untuk metode yang dipilih.</p><div class=\"mabout\" id=\"m-about\"><p>Aleph 2.0 adalah model penyuntingan video dalam konteks dari Runway. Model ini mengubah rekaman tradisional atau hasil generasi yang ada menggunakan instruksi tertulis dan panduan bingkai kunci opsional. Alur kerja yang dimaksud mengubah bagian adegan yang diminta sambil mempertahankan komposisi, pencahayaan, dan detail di sekitarnya, sehingga berguna untuk penggantian produk, perubahan pakaian, transformasi latar, pencahayaan ulang, atau perubahan gaya visual tanpa menciptakan ulang seluruh adegan dari arahan teks.</p><p>Mulailah dengan tindakan langsung dan transformasi yang Anda inginkan: tambahkan, hapus, ganti, ubah, atur ulang pencahayaan, atau ubah gaya. Untuk penggantian produk, identifikasi objek yang terlihat dan jelaskan penggantinya, lalu nyatakan gerakan tangan, gerak kamera, serta latar di sekitarnya yang harus tetap ada. Untuk adegan musiman, jelaskan cuaca atau cahaya yang perlu berubah. Instruksi ringkas dan terarah memberikan tujuan penyuntingan yang lebih jelas daripada permintaan umum untuk memperbaiki seluruh klip.</p><p>Panduan bingkai kunci menentukan tampilan hasil suntingan pada momen tertentu. Pilih bingkai yang menampilkan sasaran dengan jelas: tampilan lebar untuk perubahan latar, atau tampilan lebih dekat untuk ciri kecil maupun aksesori. Dalam alur kerja Edit Studio Runway, suntingan bingkai diam dapat dipratinjau dan diperbaiki sebelum versi pilihan itu memandu transformasi video. Bandingkan bingkai yang disunting dengan sumber untuk detail subjek, tepi, dan objek yang ingin dipertahankan, lalu gunakan sebagai arahan visual klip.</p><p>API produsen mendukung video sumber dari 2 hingga 30 detik dan hingga lima gambar bingkai kunci opsional yang ditempatkan pada penanda waktu tertentu. Pertahankan kaitan setiap gambar panduan dengan titik yang dimaksud dalam sumber, dan gunakan sedikit perubahan yang jelas, alih-alih kumpulan sasaran visual yang bertentangan. Aleph 2.0 berbeda dari model Gen-4 Aleph yang lebih lama; produsen mengidentifikasi model API-nya secara terpisah. Suntingan berpanduan bingkai kunci juga berbeda dari meminta model teks ke video menciptakan shot yang tidak berkaitan.</p><p>Aturan persiapan Edit Studio yang didokumentasikan menggunakan rasio aspek konvensional, resolusi sumber antara 480p dan 1080p, serta 24–30 bingkai per detik, dengan tidak lebih dari sepuluh potongan atau perubahan shot. Alur ini menyarankan materi sumber 720p atau 1080p; rekaman di atas 30-fps diturunkan laju bingkainya dan unggahan di atas 30 detik dipangkas dalam antarmuka tersebut. Ini adalah aturan persiapan alur kerja penyuntingan produsen. Pilih segmen sumber yang menunjukkan seluruh peristiwa yang ingin disunting dan subjeknya tetap terlihat di tempat perubahan harus berlanjut.</p><p>Model dapat meneruskan perubahan latar, pakaian, objek, cahaya, atau gaya di seluruh rekaman. Instruksi gerak tambahan berguna ketika suntingan membutuhkan tindakan baru yang tidak ada dalam sumber dan tidak akan mengikuti bingkai kunci saja, seperti efek visual yang berkembang seiring waktu. Banyak suntingan tidak memerlukan arahan gerak tambahan karena model menganimasikan penyesuaian bingkai kunci dalam adegan yang ada. Jelaskan gerak baru secara khusus dan pisahkan dari perubahan visual yang sudah ditentukan bingkai kunci.</p><p>Alur kerja penyuntingan produsen secara bawaan menerapkan suntingan pada seluruh video dan dapat membatasinya ke rentang linimasa pilihan. Simpan klip asli agar hasil pilihan dapat dibandingkan dengan sumber dan digunakan untuk tindak lanjut terarah. Peninjauan praktis melihat melampaui bingkai pilihan: periksa awal, tengah, akhir, setiap potongan, dan periode ketika sasaran tertutup sesaat. Artefak yang berguna adalah klip revisi yang transformasi yang diminta tetap konsisten sepanjang waktu, sementara unsur penting yang tidak diubah mempertahankan perannya.</p><p>MP4 adalah artefak bawaan untuk pemutaran dan berbagi. Alur kerja Edit Studio video penuh Runway yang memenuhi syarat juga menawarkan ProRes sebagai berkas MOV dengan audio PCM, atau ZIP berisi bingkai PNG individual untuk compositing. Profil ProRes berkisar dari 422 Proxy hingga 4444 XQ. Suntingan yang dibatasi rentang linimasa mengembalikan MP4, dan format keluaran dipilih saat generasi dimulai, bukan diubah setelah hasil selesai. Pilih bentuk ekspor produsen untuk tugas penyuntingan berikutnya sambil membedakannya dari kemampuan inti penyuntingan visual model.</p><p>Untuk suntingan akhir yang berguna, bandingkan penggantian, pencahayaan, atau gaya yang dimaksud dengan bingkai kunci dan periksa detail di sekitarnya yang tidak dimaksudkan berubah. Simpan versi yang berhasil dan revisi instruksi atau bingkai panduan tertentu yang menyebabkan ketidakcocokan. Peran Aleph 2.0 adalah mengubah rekaman sumber melalui sasaran visual yang jelas; menghasilkan trek bunyi baru, mengubah perilaku aplikasi, atau menyelesaikan pipeline penyampaian siaran terpisah merupakan tugas tambahan di sekitar video yang disunting.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Tersedia di Ailoot · masukan &amp; metode</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Pemrosesan video</b> <code>POST /v1/videos</code></summary><dl class=\"method-capabilities\"><div><dt>Masukan</dt><dd><code>text</code>, <code>image</code>, <code>audio</code>, <code>video</code></dd></div><div><dt>Keluaran</dt><dd><code>video</code></dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Kolom</th><th>Jenis</th><th>Persyaratan</th><th>Nilai &amp; batasan</th><th>Bawaan</th></tr></thead><tbody><tr><th data-cell-label=\"Kolom\" scope=\"row\"><span class=\"card-cell-label\">Kolom</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Jenis\" data-field-type><span class=\"card-cell-label\">Jenis</span><code>string</code></td><td data-cell-label=\"Persyaratan\"><span class=\"card-cell-label\">Persyaratan</span>Wajib</td><td data-cell-label=\"Nilai &amp; batasan\"><span class=\"card-cell-label\">Nilai &amp; batasan</span><div>runway/aleph-2</div></td><td data-cell-label=\"Bawaan\" data-default=\"unspecified\"><span class=\"card-cell-label\">Bawaan</span>—</td></tr><tr><th data-cell-label=\"Kolom\" scope=\"row\"><span class=\"card-cell-label\">Kolom</span><code class=\"card-field-name\">input_references</code></th><td data-cell-label=\"Jenis\" data-field-type><span class=\"card-cell-label\">Jenis</span><code>array</code></td><td data-cell-label=\"Persyaratan\"><span class=\"card-cell-label\">Persyaratan</span>Wajib</td><td data-cell-label=\"Nilai &amp; batasan\"><span class=\"card-cell-label\">Nilai &amp; batasan</span><div>Item minimum: 1</div><div>Item maksimum: 1</div></td><td data-cell-label=\"Bawaan\" data-default=\"unspecified\"><span class=\"card-cell-label\">Bawaan</span>—</td></tr><tr><th data-cell-label=\"Kolom\" scope=\"row\"><span class=\"card-cell-label\">Kolom</span><code class=\"card-field-name\">prompt</code></th><td data-cell-label=\"Jenis\" data-field-type><span class=\"card-cell-label\">Jenis</span><code>string</code></td><td data-cell-label=\"Persyaratan\"><span class=\"card-cell-label\">Persyaratan</span>Wajib</td><td data-cell-label=\"Nilai &amp; batasan\"><span class=\"card-cell-label\">Nilai &amp; batasan</span><div>Panjang minimum: 1</div></td><td data-cell-label=\"Bawaan\" data-default=\"unspecified\"><span class=\"card-cell-label\">Bawaan</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>Parameter metode dan siklus hidup</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parameter</th><th>Kontrak</th></tr></thead><tbody><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>content_type</code></th><td data-cell-label=\"Kontrak\"><span class=\"card-cell-label\">Kontrak</span>application/json</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>required</code></th><td data-cell-label=\"Kontrak\"><span class=\"card-cell-label\">Kontrak</span>model, input_references, prompt</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>material_types</code></th><td data-cell-label=\"Kontrak\"><span class=\"card-cell-label\">Kontrak</span>text, image, audio, video</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>material_conditions</code></th><td data-cell-label=\"Kontrak\"><span class=\"card-cell-label\">Kontrak</span>Gunakan tepat satu URL konten aset video aktual yang telah selesai dan dimiliki Ailoot beserta tanda tangan yang dikembalikan. Pemilik aset, tipe, dan bukti byte tersimpan harus sesuai dengan permintaan.</td></tr></tbody></table></div><p>Siklus hidup: <code>asynchronous_job_then_owned_outputs</code></p><p class=\"note-s\"><code>GET /v1/videos/{request_id}</code> · id atau polling_url aktual yang dikembalikan</p><p class=\"note-s\"><code>GET /v1/videos/{request_id}/content</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Paket</h3><div class=\"card-result-process\" data-billing-basis><h5>Cara menghitung biaya akhir</h5><p class=\"note-s\">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.</p></div><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Referensi tarif tidak menambah opsi permintaan. Parameter yang didukung tercantum pada metode yang dipilih.</p><dl data-price-conditions><dt>Mode Fast</dt><dd>Tidak ditentukan <span class=\"note-s\">Saat mode fast dipilih</span></dd><dt>Mode Flex</dt><dd>Tidak ditentukan <span class=\"note-s\">Saat mode flex dipilih</span></dd><dt>Upaya penalaran maksimum</dt><dd>Tidak ditentukan <span class=\"note-s\">Saat upaya penalaran maksimum menggunakan penyesuaian default</span></dd></dl></div><div data-declared-tariff-pricing><h4>Perkiraan tarif untuk perbandingan</h4><h4>Harga menurut konfigurasi</h4><p class=\"note-s\">Cocokkan setiap biaya dengan kondisi yang ditampilkan. Gunakan satu tarif untuk setiap kelompok konfigurasi alternatif. Terapkan aturan biaya minimum yang ditampilkan untuk konfigurasi tersebut.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Konfigurasi</th><th>Jadwal tarif</th><th>Jumlah perkiraan</th><th>Komponen biaya</th><th>Satuan penagihan</th><th>Kondisi penagihan</th><th>Aturan biaya minimum</th><th>Biaya</th></tr></thead><tbody><tr><th data-cell-label=\"Konfigurasi\" scope=\"row\"><span class=\"card-cell-label\">Konfigurasi</span>Tarif dasar token</th><td data-cell-label=\"Jadwal tarif\"><span class=\"card-cell-label\">Jadwal tarif</span>Tarif dasar</td><td data-cell-label=\"Jumlah perkiraan\"><span class=\"card-cell-label\">Jumlah perkiraan</span>—</td><td data-cell-label=\"Komponen biaya\"><span class=\"card-cell-label\">Komponen biaya</span>—</td><td data-cell-label=\"Satuan penagihan\"><span class=\"card-cell-label\">Satuan penagihan</span>—</td><td data-cell-label=\"Kondisi penagihan\"><span class=\"card-cell-label\">Kondisi penagihan</span>—</td><td data-cell-label=\"Aturan biaya minimum\"><span class=\"card-cell-label\">Aturan biaya minimum</span>—</td><td data-cell-label=\"Biaya\"><span class=\"card-cell-label\">Biaya</span><div><span>Masukan · Token masukan · Perkiraan hanya untuk perbandingan</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Keluaran · Token keluaran · Perkiraan hanya untuk perbandingan</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Masukan · Pembacaan cache · Perkiraan hanya untuk perbandingan</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Masukan · Penulisan cache · Perkiraan hanya untuk perbandingan</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Masukan · Penulisan cache, 1 jam · Perkiraan hanya untuk perbandingan</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div></td></tr><tr><th data-cell-label=\"Konfigurasi\" scope=\"row\"><span class=\"card-cell-label\">Konfigurasi</span>Harga video</th><td data-cell-label=\"Jadwal tarif\"><span class=\"card-cell-label\">Jadwal tarif</span>—</td><td data-cell-label=\"Jumlah perkiraan\"><span class=\"card-cell-label\">Jumlah perkiraan</span>—</td><td data-cell-label=\"Komponen biaya\"><span class=\"card-cell-label\">Komponen biaya</span>—</td><td data-cell-label=\"Satuan penagihan\"><span class=\"card-cell-label\">Satuan penagihan</span>per detik video</td><td data-cell-label=\"Kondisi penagihan\"><span class=\"card-cell-label\">Kondisi penagihan</span>Tidak ada kondisi tambahan yang dinyatakan dalam kunci harga ini.</td><td data-cell-label=\"Aturan biaya minimum\"><span class=\"card-cell-label\">Aturan biaya minimum</span>—</td><td data-cell-label=\"Biaya\"><span class=\"card-cell-label\">Biaya</span><div><span>Keluaran · Harga video · Perkiraan hanya untuk perbandingan</span> <b>$0.56</b> <span class=\"price-unit\">per detik video</span></div></td></tr><tr><th data-cell-label=\"Konfigurasi\" scope=\"row\"><span class=\"card-cell-label\">Konfigurasi</span>Minimum per pembuatan</th><td data-cell-label=\"Jadwal tarif\"><span class=\"card-cell-label\">Jadwal tarif</span>—</td><td data-cell-label=\"Jumlah perkiraan\"><span class=\"card-cell-label\">Jumlah perkiraan</span>—</td><td data-cell-label=\"Komponen biaya\"><span class=\"card-cell-label\">Komponen biaya</span>Biaya minimum</td><td data-cell-label=\"Satuan penagihan\"><span class=\"card-cell-label\">Satuan penagihan</span>biaya minimum pembuatan</td><td data-cell-label=\"Kondisi penagihan\"><span class=\"card-cell-label\">Kondisi penagihan</span>Tidak ada kondisi tambahan yang dinyatakan dalam kunci harga ini.</td><td data-cell-label=\"Aturan biaya minimum\"><span class=\"card-cell-label\">Aturan biaya minimum</span>Ya</td><td data-cell-label=\"Biaya\"><span class=\"card-cell-label\">Biaya</span><div><span>total · Minimum pembuatan · Perkiraan hanya untuk perbandingan</span> <b>$1.12</b> <span class=\"price-unit\">biaya minimum pembuatan</span></div><p class=\"note-s\">Biaya minimum per pembuatan; terapkan sebagai minimum, bukan biaya tambahan. Tidak menyiratkan durasi minimum.</p></td></tr><tr><th data-cell-label=\"Konfigurasi\" scope=\"row\"><span class=\"card-cell-label\">Konfigurasi</span>Perkiraan biaya pembuatan</th><td data-cell-label=\"Jadwal tarif\"><span class=\"card-cell-label\">Jadwal tarif</span>—</td><td data-cell-label=\"Jumlah perkiraan\"><span class=\"card-cell-label\">Jumlah perkiraan</span>estimasi satu kali pembuatan</td><td data-cell-label=\"Komponen biaya\"><span class=\"card-cell-label\">Komponen biaya</span>—</td><td data-cell-label=\"Satuan penagihan\"><span class=\"card-cell-label\">Satuan penagihan</span>—</td><td data-cell-label=\"Kondisi penagihan\"><span class=\"card-cell-label\">Kondisi penagihan</span>—</td><td data-cell-label=\"Aturan biaya minimum\"><span class=\"card-cell-label\">Aturan biaya minimum</span>—</td><td data-cell-label=\"Biaya\"><span class=\"card-cell-label\">Biaya</span><div><span>Keluaran · Perkiraan biaya pembuatan · Perkiraan hanya untuk perbandingan</span> <b>$0.56</b> <span class=\"price-unit\">estimasi sebelum pembuatan</span></div><p class=\"note-s\">Perkiraan ini bukan biaya tambahan maupun tarif tetap untuk proses pembuatan yang telah selesai.</p></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot mencadangkan perkiraan dana sebelum permintaan. Setelah hasil diterima, tagihan akhir diselesaikan berdasarkan penggunaan yang terukur. Penyelesaian tagihan streaming menggunakan catatan penggunaan akhir. <a href=\"/docs/id/billing/reserve/\">Cara kerja cadangan dan penyelesaian tagihan →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Contoh permintaan</h3><h4>Ailoot Ultra · Pemrosesan video</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Pilihan kode\"><button class=\"cg-tab\" id=\"model-code-2561-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2561-panel-0\" aria-selected=\"true\" tabindex=\"0\">Gunakan input sebenarnya dan simpan hasil secara lengkap</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Salin kode\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-2561-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2561-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_INPUT_REFERENCES_JSON:?Set the actual documented input value}&quot;\nexport AILOOT_INPUT_REFERENCES_JSON\n: &quot;${AILOOT_PROMPT:?Set the actual documented input value}&quot;\nexport AILOOT_PROMPT\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\nrequest={&#39;model&#39;: &#39;runway/aleph-2&#39;, &#39;input_references&#39;: &#39;${ACTUAL_OWNED_INPUT_REFERENCES}&#39;, &#39;prompt&#39;: &#39;${ACTUAL_EDIT_PROMPT}&#39;}\nrequest[&#39;input_references&#39;]=json.loads(os.environ[&#39;AILOOT_INPUT_REFERENCES_JSON&#39;])\nrequest[&#39;prompt&#39;]=os.environ[&#39;AILOOT_PROMPT&#39;]\nPath(&#39;request.json&#39;).write_text(json.dumps(request,ensure_ascii=False),encoding=&#39;utf-8&#39;)\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Terima dan simpan hasil</h3><h4>Ailoot Ultra · Pemrosesan video</h4><ul class=\"card-result-paths\"><li><code>GET /v1/videos/{request_id}</code></li><li><code>GET /v1/videos/{request_id}/content</code></li></ul><h5>Simpan semua aset yang selesai</h5><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Pilihan kode\"><button class=\"cg-tab\" id=\"model-code-2562-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2562-panel-0\" aria-selected=\"true\" tabindex=\"0\">GET semua aset yang selesai</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Salin kode\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-2562-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2562-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}&quot;\nexport AILOOT_STATUS_FILE\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\nfrom urllib.parse import urlsplit,urljoin\nf=Path(os.environ[&quot;AILOOT_STATUS_FILE&quot;])\nif not f.is_file():raise SystemExit(&quot;Choose the actual completed status file&quot;)\nr=json.loads(f.read_text())\nif r.get(&quot;status&quot;)!=&quot;completed&quot; or not isinstance(r.get(&quot;data&quot;),list) or not r[&quot;data&quot;]:raise SystemExit(&quot;Wait for a completed status with asset paths&quot;)\nurls=[]\nfor x in r[&quot;data&quot;]:\n    if not isinstance(x,str) or &quot;\\n&quot; in x or &quot;\\r&quot; in x:raise SystemExit(&quot;Invalid asset path&quot;)\n    u=urljoin(&quot;https://api.ailoot.ai&quot;,x)\n    z=urlsplit(u)\n    if z.scheme!=&quot;https&quot; or z.netloc!=&quot;api.ailoot.ai&quot; or z.username or z.password:raise SystemExit(&quot;Use the actual Ailoot asset paths from status&quot;)\n    urls.append(u)\nPath(&quot;asset-urls.txt&quot;).write_text(&quot;\\n&quot;.join(urls)+&quot;\\n&quot;)\nPY_REQUEST\nindex=0\nwhile IFS= read -r asset_url; do\n  curl --fail-with-body --silent --show-error &quot;$asset_url&quot; \\\n    -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o &quot;video-${index}.mp4&quot;\n  index=$((index + 1))\ndone &lt; asset-urls.txt\n</code></pre></div></div></div><div class=\"card-result-process\" data-all-results><h5>Simpan semua hasil yang selesai</h5><p class=\"note-s\">Simpan setiap video yang selesai atau berkas yang dikembalikan; ambil setiap URL aset yang benar-benar dikembalikan.</p><p class=\"note-s\">Simpan respons dan header secara lengkap, setiap keluaran aktual, identifikator asli yang dikembalikan, dan semua kolom usage. Pulihkan operasi asli tanpa mengirim ulang permintaan pembuatan.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Jika respons asli perlu diperiksa</h5><p class=\"note-s\">Simpan X-Client-Request-ID, X-Ailoot-Task-Id, dan id/polling_url aktual yang dikembalikan. Lanjutkan tugas awal; jangan kirim ulang permintaan pembuatan.</p></div><details class=\"card-about\" data-output-fields><summary>Kolom respons</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Kolom</th><th>Jenis</th></tr></thead><tbody><tr><th data-cell-label=\"Kolom\" scope=\"row\"><span class=\"card-cell-label\">Kolom</span><code class=\"card-field-name\">id</code></th><td data-cell-label=\"Jenis\" data-field-type><span class=\"card-cell-label\">Jenis</span></td></tr><tr><th data-cell-label=\"Kolom\" scope=\"row\"><span class=\"card-cell-label\">Kolom</span><code class=\"card-field-name\">status</code></th><td data-cell-label=\"Jenis\" data-field-type><span class=\"card-cell-label\">Jenis</span></td></tr><tr><th data-cell-label=\"Kolom\" scope=\"row\"><span class=\"card-cell-label\">Kolom</span><code class=\"card-field-name\">data[]</code></th><td data-cell-label=\"Jenis\" data-field-type><span class=\"card-cell-label\">Jenis</span></td></tr><tr><th data-cell-label=\"Kolom\" scope=\"row\"><span class=\"card-cell-label\">Kolom</span><code class=\"card-field-name\">outputs[]</code></th><td data-cell-label=\"Jenis\" data-field-type><span class=\"card-cell-label\">Jenis</span></td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Alias</h3><h4>Alias model</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=runway%2Faleph-2&amp;route=Ultra&amp;caller=runway%2Faleph-2&amp;fmt=videos\"><code>runway/aleph-2</code></a></span></p><h4>Alias jalur metode</h4><p class=\"note-s\">Gunakan jalur metode yang ditampilkan di atas.</p><h4>ID pemanggil terkait</h4><p class=\"note-s\"><a href=\"#m=runway%2Faleph-2&amp;route=Ultra&amp;caller=runway%2Faleph-2&amp;fmt=videos\"><code>runway/aleph-2</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "runway/aleph-2",
        "fmt": "videos",
        "http": "POST",
        "path": "/v1/videos",
        "request_model_id": "runway/aleph-2",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|videos|/v1/videos|runway%2Faleph-2",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "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.",
          "forecast_quantity_is_estimate": true,
          "physical_output_is_billable_quantity": false,
          "version": "original_invoice_usd_v1"
        },
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "lifecycle": {
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}/content",
                  "query": {
                    "index": "actual zero-based output index from completed manifest"
                  }
                }
              ],
              "creation_id_field": "id",
              "media_library": {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              "mode": "asynchronous_job_then_owned_outputs",
              "operation_id_is_not_task_id": true,
              "output_content_response": "owned MP4 bytes with Range support",
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned id or polling_url",
                  "path": "/v1/videos/{request_id}"
                }
              ],
              "unknown": "Simpan X-Client-Request-ID, X-Ailoot-Task-Id, dan id/polling_url aktual yang dikembalikan. Lanjutkan tugas awal; jangan kirim ulang permintaan pembuatan."
            },
            "outputs": {
              "all_results": "Simpan respons dan header secara lengkap, setiap keluaran aktual, identifikator asli yang dikembalikan, dan semua kolom usage. Pulihkan operasi asli tanpa mengirim ulang permintaan pembuatan.",
              "family": "video",
              "fields": [
                {
                  "description": null,
                  "name": "id",
                  "type": null
                },
                {
                  "description": null,
                  "name": "status",
                  "type": null
                },
                {
                  "description": null,
                  "name": "data[]",
                  "type": null
                },
                {
                  "description": null,
                  "name": "outputs[]",
                  "type": null
                }
              ]
            },
            "parameters": [
              {
                "enum": [
                  "runway/aleph-2"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "type": {
                      "const": "video_url"
                    },
                    "video_url": {
                      "additionalProperties": false,
                      "properties": {
                        "url": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "url"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "type",
                    "video_url"
                  ],
                  "type": "object"
                },
                "maximum_items": 1,
                "minimum_items": 1,
                "name": "input_references",
                "required": true,
                "type": "array"
              },
              {
                "min_length": 1,
                "name": "prompt",
                "required": true,
                "type": "string"
              }
            ],
            "request_schema": {
              "additionalProperties": false,
              "properties": {
                "input_references": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "type": {
                        "const": "video_url"
                      },
                      "video_url": {
                        "additionalProperties": false,
                        "properties": {
                          "url": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      }
                    },
                    "required": [
                      "type",
                      "video_url"
                    ],
                    "type": "object"
                  },
                  "maxItems": 1,
                  "minItems": 1,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "runway/aleph-2"
                  ],
                  "type": "string"
                },
                "prompt": {
                  "description": "Actual nonblank edit prompt; maximum10000 UTF-8 bytes.",
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input_references",
                "prompt"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input_references": "${ACTUAL_OWNED_INPUT_REFERENCES}",
                "model": "runway/aleph-2",
                "prompt": "${ACTUAL_EDIT_PROMPT}"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "Gunakan tepat satu URL konten aset video aktual yang telah selesai dan dimiliki Ailoot beserta tanda tangan yang dikembalikan. Pemilik aset, tipe, dan bukti byte tersimpan harus sesuai dengan permintaan."
            ],
            "material_types": [
              "text",
              "image",
              "audio",
              "video"
            ],
            "required": [
              "model",
              "input_references",
              "prompt"
            ]
          },
          "lifecycle": {
            "content": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}/content",
                "query": {
                  "index": "actual zero-based output index from completed manifest"
                }
              }
            ],
            "creation_id_field": "id",
            "media_library": {
              "http": "GET",
              "path": "/v1/media/assets"
            },
            "mode": "asynchronous_job_then_owned_outputs",
            "operation_id_is_not_task_id": true,
            "output_content_response": "owned MP4 bytes with Range support",
            "status": [
              {
                "http": "GET",
                "id_source": "id atau polling_url aktual yang dikembalikan",
                "path": "/v1/videos/{request_id}"
              }
            ],
            "unknown": "Keep X-Client-Request-ID, X-Ailoot-Task-Id and actual returned id/polling_url. Continue the original job; do not submit creation again."
          },
          "method": {
            "http": "POST",
            "path": "/v1/videos"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "video",
            "fields": [
              {
                "description": null,
                "name": "id",
                "type": null
              },
              {
                "description": null,
                "name": "status",
                "type": null
              },
              {
                "description": null,
                "name": "data[]",
                "type": null
              },
              {
                "description": null,
                "name": "outputs[]",
                "type": null
              }
            ]
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "Tidak ada kondisi tambahan yang dinyatakan dalam kunci harga ini.",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.56",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_second_output",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.56",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "basis": "Biaya minimum per pembuatan; terapkan sebagai minimum, bukan biaya tambahan. Tidak menyiratkan durasi minimum.",
            "dimensions": {
              "billing_component_role": "minimum",
              "conditions": "No additional condition is declared in this pricing key.",
              "is_floor_not_additive_charge": true,
              "quoted_unit": "minimum generation charge"
            },
            "label": "Minimum per pembuatan",
            "units": [
              {
                "amount": "1.12",
                "amount_unit": "usd_per_generation",
                "billing_input": false,
                "estimate_only": true,
                "key": "minimum_cents_per_generation",
                "label": "Generation minimum",
                "native_amount_usd_per_unit": "1.12",
                "native_quantity": 1,
                "public_unit_label": "minimum generation charge",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "total",
                "unit": "generation"
              }
            ]
          },
          {
            "basis": "Perkiraan ini bukan biaya tambahan maupun tarif tetap untuk proses pembuatan yang telah selesai.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Perkiraan biaya pembuatan",
            "units": [
              {
                "amount": "0.56",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.56",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_INPUT_REFERENCES_JSON:?Set the actual documented input value}\"\nexport AILOOT_INPUT_REFERENCES_JSON\n: \"${AILOOT_PROMPT:?Set the actual documented input value}\"\nexport AILOOT_PROMPT\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nrequest={'model': 'runway/aleph-2', 'input_references': '${ACTUAL_OWNED_INPUT_REFERENCES}', 'prompt': '${ACTUAL_EDIT_PROMPT}'}\nrequest['input_references']=json.loads(os.environ['AILOOT_INPUT_REFERENCES_JSON'])\nrequest['prompt']=os.environ['AILOOT_PROMPT']\nPath('request.json').write_text(json.dumps(request,ensure_ascii=False),encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\n",
            "label": "Use actual input and retain the complete result",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}\"\nexport AILOOT_STATUS_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nfrom urllib.parse import urlsplit,urljoin\nf=Path(os.environ[\"AILOOT_STATUS_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose the actual completed status file\")\nr=json.loads(f.read_text())\nif 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\")\nurls=[]\nfor x in r[\"data\"]:\n    if not isinstance(x,str) or \"\\n\" in x or \"\\r\" in x:raise SystemExit(\"Invalid asset path\")\n    u=urljoin(\"https://api.ailoot.ai\",x)\n    z=urlsplit(u)\n    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\")\n    urls.append(u)\nPath(\"asset-urls.txt\").write_text(\"\\n\".join(urls)+\"\\n\")\nPY_REQUEST\nindex=0\nwhile IFS= read -r asset_url; do\n  curl --fail-with-body --silent --show-error \"$asset_url\" \\\n    -H \"Authorization: Bearer $AILOOT_API_KEY\" -o \"video-${index}.mp4\"\n  index=$((index + 1))\ndone < asset-urls.txt\n",
            "label": "GET all completed assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text",
          "image",
          "audio",
          "video"
        ],
        "label": "Pemrosesan video",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "videos",
        "out": null,
        "output": [
          "video"
        ],
        "path": "/v1/videos",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "No additional condition is declared in this pricing key.",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.56",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_second_output",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.56",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "basis": "Minimum charge per generation; apply it as a minimum, not an extra fee. No minimum duration is implied.",
            "dimensions": {
              "billing_component_role": "minimum",
              "conditions": "No additional condition is declared in this pricing key.",
              "is_floor_not_additive_charge": true,
              "quoted_unit": "minimum generation charge"
            },
            "label": "Generation minimum",
            "units": [
              {
                "amount": "1.12",
                "amount_unit": "usd_per_generation",
                "billing_input": false,
                "estimate_only": true,
                "key": "minimum_cents_per_generation",
                "label": "Generation minimum",
                "native_amount_usd_per_unit": "1.12",
                "native_quantity": 1,
                "public_unit_label": "minimum generation charge",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "total",
                "unit": "generation"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.56",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.56",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "runway/aleph-2",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/videos/{request_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.56",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "cents_per_second_output",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.56",
            "native_quantity": 1,
            "public_unit_label": "per video second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_second"
          },
          {
            "amount": "1.12",
            "amount_unit": "usd_per_generation",
            "billing_input": false,
            "estimate_only": true,
            "key": "minimum_cents_per_generation",
            "label": "Generation minimum",
            "native_amount_usd_per_unit": "1.12",
            "native_quantity": 1,
            "public_unit_label": "minimum generation charge",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "total",
            "unit": "generation"
          },
          {
            "amount": "0.56",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.56",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ]
      }
    }
  ],
  "model_id": "runway/aleph-2",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "0b24439c9a64d9af0aa7d136b8c7f00a055176b994a4c3784c758e484d6e0e79",
    "input_html_sha256": "1091394ff58c946ace60a2fb4d268a3916ea5f76f77ca839c5e94c68701d647e",
    "private_audit_sha256": "0ebd0f5a464c6d97d39c93a356830cfdac0c27f13b27e543fcb481dfc6148332",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/id/runway-aleph-2/",
    "description": "Aleph 2.0 menyunting video yang ada melalui instruksi teks terarah dan panduan bingkai kunci. Gunakan untuk mengganti objek, mengubah latar, pakaian, pencahayaan, atau gaya, sambil mengarahkan detail adegan asli yang harus tetap utuh.",
    "locale": "id",
    "md_url": "https://ailoot.ai/models/id/runway-aleph-2/index.md",
    "title": "Runway: Aleph 2.0 — Ailoot",
    "url": "https://ailoot.ai/models/id/runway-aleph-2/"
  },
  "rawModel": {
    "about": "Aleph 2.0 adalah model penyuntingan video dalam konteks dari Runway. Model ini mengubah rekaman tradisional atau hasil generasi yang ada menggunakan instruksi tertulis dan panduan bingkai kunci opsional. Alur kerja yang dimaksud mengubah bagian adegan yang diminta sambil mempertahankan komposisi, pencahayaan, dan detail di sekitarnya, sehingga berguna untuk penggantian produk, perubahan pakaian, transformasi latar, pencahayaan ulang, atau perubahan gaya visual tanpa menciptakan ulang seluruh adegan dari arahan teks.\n\nMulailah dengan tindakan langsung dan transformasi yang Anda inginkan: tambahkan, hapus, ganti, ubah, atur ulang pencahayaan, atau ubah gaya. Untuk penggantian produk, identifikasi objek yang terlihat dan jelaskan penggantinya, lalu nyatakan gerakan tangan, gerak kamera, serta latar di sekitarnya yang harus tetap ada. Untuk adegan musiman, jelaskan cuaca atau cahaya yang perlu berubah. Instruksi ringkas dan terarah memberikan tujuan penyuntingan yang lebih jelas daripada permintaan umum untuk memperbaiki seluruh klip.\n\nPanduan bingkai kunci menentukan tampilan hasil suntingan pada momen tertentu. Pilih bingkai yang menampilkan sasaran dengan jelas: tampilan lebar untuk perubahan latar, atau tampilan lebih dekat untuk ciri kecil maupun aksesori. Dalam alur kerja Edit Studio Runway, suntingan bingkai diam dapat dipratinjau dan diperbaiki sebelum versi pilihan itu memandu transformasi video. Bandingkan bingkai yang disunting dengan sumber untuk detail subjek, tepi, dan objek yang ingin dipertahankan, lalu gunakan sebagai arahan visual klip.\n\nAPI produsen mendukung video sumber dari 2 hingga 30 detik dan hingga lima gambar bingkai kunci opsional yang ditempatkan pada penanda waktu tertentu. Pertahankan kaitan setiap gambar panduan dengan titik yang dimaksud dalam sumber, dan gunakan sedikit perubahan yang jelas, alih-alih kumpulan sasaran visual yang bertentangan. Aleph 2.0 berbeda dari model Gen-4 Aleph yang lebih lama; produsen mengidentifikasi model API-nya secara terpisah. Suntingan berpanduan bingkai kunci juga berbeda dari meminta model teks ke video menciptakan shot yang tidak berkaitan.\n\nAturan persiapan Edit Studio yang didokumentasikan menggunakan rasio aspek konvensional, resolusi sumber antara 480p dan 1080p, serta 24–30 bingkai per detik, dengan tidak lebih dari sepuluh potongan atau perubahan shot. Alur ini menyarankan materi sumber 720p atau 1080p; rekaman di atas 30-fps diturunkan laju bingkainya dan unggahan di atas 30 detik dipangkas dalam antarmuka tersebut. Ini adalah aturan persiapan alur kerja penyuntingan produsen. Pilih segmen sumber yang menunjukkan seluruh peristiwa yang ingin disunting dan subjeknya tetap terlihat di tempat perubahan harus berlanjut.\n\nModel dapat meneruskan perubahan latar, pakaian, objek, cahaya, atau gaya di seluruh rekaman. Instruksi gerak tambahan berguna ketika suntingan membutuhkan tindakan baru yang tidak ada dalam sumber dan tidak akan mengikuti bingkai kunci saja, seperti efek visual yang berkembang seiring waktu. Banyak suntingan tidak memerlukan arahan gerak tambahan karena model menganimasikan penyesuaian bingkai kunci dalam adegan yang ada. Jelaskan gerak baru secara khusus dan pisahkan dari perubahan visual yang sudah ditentukan bingkai kunci.\n\nAlur kerja penyuntingan produsen secara bawaan menerapkan suntingan pada seluruh video dan dapat membatasinya ke rentang linimasa pilihan. Simpan klip asli agar hasil pilihan dapat dibandingkan dengan sumber dan digunakan untuk tindak lanjut terarah. Peninjauan praktis melihat melampaui bingkai pilihan: periksa awal, tengah, akhir, setiap potongan, dan periode ketika sasaran tertutup sesaat. Artefak yang berguna adalah klip revisi yang transformasi yang diminta tetap konsisten sepanjang waktu, sementara unsur penting yang tidak diubah mempertahankan perannya.\n\nMP4 adalah artefak bawaan untuk pemutaran dan berbagi. Alur kerja Edit Studio video penuh Runway yang memenuhi syarat juga menawarkan ProRes sebagai berkas MOV dengan audio PCM, atau ZIP berisi bingkai PNG individual untuk compositing. Profil ProRes berkisar dari 422 Proxy hingga 4444 XQ. Suntingan yang dibatasi rentang linimasa mengembalikan MP4, dan format keluaran dipilih saat generasi dimulai, bukan diubah setelah hasil selesai. Pilih bentuk ekspor produsen untuk tugas penyuntingan berikutnya sambil membedakannya dari kemampuan inti penyuntingan visual model.\n\nUntuk suntingan akhir yang berguna, bandingkan penggantian, pencahayaan, atau gaya yang dimaksud dengan bingkai kunci dan periksa detail di sekitarnya yang tidak dimaksudkan berubah. Simpan versi yang berhasil dan revisi instruksi atau bingkai panduan tertentu yang menyebabkan ketidakcocokan. Peran Aleph 2.0 adalah mengubah rekaman sumber melalui sasaran visual yang jelas; menghasilkan trek bunyi baru, mengubah perilaku aplikasi, atau menyelesaikan pipeline penyampaian siaran terpisah merupakan tugas tambahan di sekitar video yang disunting.",
    "alias_of": null,
    "aliases": [],
    "author": "Runway",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "text",
        "image",
        "video"
      ],
      "manufacturer_output": [
        "video"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.56",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.56",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ],
        "summary": "Informasi lengkap harga konfigurasi tersedia di bagian detail."
      }
    ],
    "ctx": null,
    "formats": [
      "videos"
    ],
    "id": "runway/aleph-2",
    "input": [
      "text",
      "image",
      "audio",
      "video"
    ],
    "kind": "video",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "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.",
          "forecast_quantity_is_estimate": true,
          "physical_output_is_billable_quantity": false,
          "version": "original_invoice_usd_v1"
        },
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "lifecycle": {
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}/content",
                  "query": {
                    "index": "actual zero-based output index from completed manifest"
                  }
                }
              ],
              "creation_id_field": "id",
              "media_library": {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              "mode": "asynchronous_job_then_owned_outputs",
              "operation_id_is_not_task_id": true,
              "output_content_response": "owned MP4 bytes with Range support",
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned id or polling_url",
                  "path": "/v1/videos/{request_id}"
                }
              ],
              "unknown": "Simpan X-Client-Request-ID, X-Ailoot-Task-Id, dan id/polling_url aktual yang dikembalikan. Lanjutkan tugas awal; jangan kirim ulang permintaan pembuatan."
            },
            "outputs": {
              "all_results": "Simpan respons dan header secara lengkap, setiap keluaran aktual, identifikator asli yang dikembalikan, dan semua kolom usage. Pulihkan operasi asli tanpa mengirim ulang permintaan pembuatan.",
              "family": "video",
              "fields": [
                {
                  "description": null,
                  "name": "id",
                  "type": null
                },
                {
                  "description": null,
                  "name": "status",
                  "type": null
                },
                {
                  "description": null,
                  "name": "data[]",
                  "type": null
                },
                {
                  "description": null,
                  "name": "outputs[]",
                  "type": null
                }
              ]
            },
            "parameters": [
              {
                "enum": [
                  "runway/aleph-2"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "type": {
                      "const": "video_url"
                    },
                    "video_url": {
                      "additionalProperties": false,
                      "properties": {
                        "url": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "url"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "type",
                    "video_url"
                  ],
                  "type": "object"
                },
                "maximum_items": 1,
                "minimum_items": 1,
                "name": "input_references",
                "required": true,
                "type": "array"
              },
              {
                "min_length": 1,
                "name": "prompt",
                "required": true,
                "type": "string"
              }
            ],
            "request_schema": {
              "additionalProperties": false,
              "properties": {
                "input_references": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "type": {
                        "const": "video_url"
                      },
                      "video_url": {
                        "additionalProperties": false,
                        "properties": {
                          "url": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      }
                    },
                    "required": [
                      "type",
                      "video_url"
                    ],
                    "type": "object"
                  },
                  "maxItems": 1,
                  "minItems": 1,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "runway/aleph-2"
                  ],
                  "type": "string"
                },
                "prompt": {
                  "description": "Actual nonblank edit prompt; maximum10000 UTF-8 bytes.",
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input_references",
                "prompt"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input_references": "${ACTUAL_OWNED_INPUT_REFERENCES}",
                "model": "runway/aleph-2",
                "prompt": "${ACTUAL_EDIT_PROMPT}"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "Gunakan tepat satu URL konten aset video aktual yang telah selesai dan dimiliki Ailoot beserta tanda tangan yang dikembalikan. Pemilik aset, tipe, dan bukti byte tersimpan harus sesuai dengan permintaan."
            ],
            "material_types": [
              "text",
              "image",
              "audio",
              "video"
            ],
            "required": [
              "model",
              "input_references",
              "prompt"
            ]
          },
          "lifecycle": {
            "content": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}/content",
                "query": {
                  "index": "actual zero-based output index from completed manifest"
                }
              }
            ],
            "creation_id_field": "id",
            "media_library": {
              "http": "GET",
              "path": "/v1/media/assets"
            },
            "mode": "asynchronous_job_then_owned_outputs",
            "operation_id_is_not_task_id": true,
            "output_content_response": "owned MP4 bytes with Range support",
            "status": [
              {
                "http": "GET",
                "id_source": "id atau polling_url aktual yang dikembalikan",
                "path": "/v1/videos/{request_id}"
              }
            ],
            "unknown": "Keep X-Client-Request-ID, X-Ailoot-Task-Id and actual returned id/polling_url. Continue the original job; do not submit creation again."
          },
          "method": {
            "http": "POST",
            "path": "/v1/videos"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "video",
            "fields": [
              {
                "description": null,
                "name": "id",
                "type": null
              },
              {
                "description": null,
                "name": "status",
                "type": null
              },
              {
                "description": null,
                "name": "data[]",
                "type": null
              },
              {
                "description": null,
                "name": "outputs[]",
                "type": null
              }
            ]
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "Tidak ada kondisi tambahan yang dinyatakan dalam kunci harga ini.",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.56",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_second_output",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.56",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "basis": "Biaya minimum per pembuatan; terapkan sebagai minimum, bukan biaya tambahan. Tidak menyiratkan durasi minimum.",
            "dimensions": {
              "billing_component_role": "minimum",
              "conditions": "No additional condition is declared in this pricing key.",
              "is_floor_not_additive_charge": true,
              "quoted_unit": "minimum generation charge"
            },
            "label": "Minimum per pembuatan",
            "units": [
              {
                "amount": "1.12",
                "amount_unit": "usd_per_generation",
                "billing_input": false,
                "estimate_only": true,
                "key": "minimum_cents_per_generation",
                "label": "Generation minimum",
                "native_amount_usd_per_unit": "1.12",
                "native_quantity": 1,
                "public_unit_label": "minimum generation charge",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "total",
                "unit": "generation"
              }
            ]
          },
          {
            "basis": "Perkiraan ini bukan biaya tambahan maupun tarif tetap untuk proses pembuatan yang telah selesai.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Perkiraan biaya pembuatan",
            "units": [
              {
                "amount": "0.56",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.56",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_INPUT_REFERENCES_JSON:?Set the actual documented input value}\"\nexport AILOOT_INPUT_REFERENCES_JSON\n: \"${AILOOT_PROMPT:?Set the actual documented input value}\"\nexport AILOOT_PROMPT\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nrequest={'model': 'runway/aleph-2', 'input_references': '${ACTUAL_OWNED_INPUT_REFERENCES}', 'prompt': '${ACTUAL_EDIT_PROMPT}'}\nrequest['input_references']=json.loads(os.environ['AILOOT_INPUT_REFERENCES_JSON'])\nrequest['prompt']=os.environ['AILOOT_PROMPT']\nPath('request.json').write_text(json.dumps(request,ensure_ascii=False),encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\n",
            "label": "Use actual input and retain the complete result",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}\"\nexport AILOOT_STATUS_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nfrom urllib.parse import urlsplit,urljoin\nf=Path(os.environ[\"AILOOT_STATUS_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose the actual completed status file\")\nr=json.loads(f.read_text())\nif 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\")\nurls=[]\nfor x in r[\"data\"]:\n    if not isinstance(x,str) or \"\\n\" in x or \"\\r\" in x:raise SystemExit(\"Invalid asset path\")\n    u=urljoin(\"https://api.ailoot.ai\",x)\n    z=urlsplit(u)\n    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\")\n    urls.append(u)\nPath(\"asset-urls.txt\").write_text(\"\\n\".join(urls)+\"\\n\")\nPY_REQUEST\nindex=0\nwhile IFS= read -r asset_url; do\n  curl --fail-with-body --silent --show-error \"$asset_url\" \\\n    -H \"Authorization: Bearer $AILOOT_API_KEY\" -o \"video-${index}.mp4\"\n  index=$((index + 1))\ndone < asset-urls.txt\n",
            "label": "GET all completed assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text",
          "image",
          "audio",
          "video"
        ],
        "label": "Pemrosesan video",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "videos",
        "out": null,
        "output": [
          "video"
        ],
        "path": "/v1/videos",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "No additional condition is declared in this pricing key.",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.56",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_second_output",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.56",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "basis": "Minimum charge per generation; apply it as a minimum, not an extra fee. No minimum duration is implied.",
            "dimensions": {
              "billing_component_role": "minimum",
              "conditions": "No additional condition is declared in this pricing key.",
              "is_floor_not_additive_charge": true,
              "quoted_unit": "minimum generation charge"
            },
            "label": "Generation minimum",
            "units": [
              {
                "amount": "1.12",
                "amount_unit": "usd_per_generation",
                "billing_input": false,
                "estimate_only": true,
                "key": "minimum_cents_per_generation",
                "label": "Generation minimum",
                "native_amount_usd_per_unit": "1.12",
                "native_quantity": 1,
                "public_unit_label": "minimum generation charge",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "total",
                "unit": "generation"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.56",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.56",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "runway/aleph-2",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/videos/{request_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.56",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "cents_per_second_output",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.56",
            "native_quantity": 1,
            "public_unit_label": "per video second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_second"
          },
          {
            "amount": "1.12",
            "amount_unit": "usd_per_generation",
            "billing_input": false,
            "estimate_only": true,
            "key": "minimum_cents_per_generation",
            "label": "Generation minimum",
            "native_amount_usd_per_unit": "1.12",
            "native_quantity": 1,
            "public_unit_label": "minimum generation charge",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "total",
            "unit": "generation"
          },
          {
            "amount": "0.56",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.56",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "runway/aleph-2",
        "request_model_id": "runway/aleph-2",
        "route_label": "Ultra"
      }
    ],
    "name": "Runway: Aleph 2.0",
    "price": {
      "estimate_only": true,
      "in": null,
      "in_label": null,
      "out": 0.56,
      "out_label": "estimate before generation",
      "scope_label": "Estimated generation cost",
      "sort_in": null,
      "sort_out": 0.56,
      "varies": false
    },
    "short": "Aleph 2.0 menyunting video yang ada melalui instruksi teks terarah dan panduan bingkai kunci. Gunakan untuk mengganti objek, mengubah latar, pakaian, pencahayaan, atau gaya, sambil mengarahkan detail adegan asli yang harus tetap utuh."
  },
  "renderer_schema": {
    "method_order": "Original DTO methods order; every exact route/format/path/caller survives.",
    "prices": "Original public DTO fields and original native display HTML; no flattened or normalized offers."
  },
  "representation": "exact-public-dto-and-native-renderer-html",
  "representationNotes": {
    "current_reference": {
      "about_json_pointer": "/aboutHtml",
      "methods": [
        {
          "contract_json_pointer": "/methods/0/rawMethod/contract",
          "html_json_pointer": "/methods/0/html",
          "method_ordinal": 0
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "Aleph 2.0 menyunting video yang ada melalui instruksi teks terarah dan panduan bingkai kunci. Gunakan untuk mengganti objek, mengubah latar, pakaian, pencahayaan, atau gaya, sambil mengarahkan detail adegan asli yang harus tetap utuh.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "1f57d8a3c83ed34efeddc4d1aaecba7779a2c0b0739ca5bf1979d4d9d96c6bd5",
    "renderer_sha256": "2a0471475a29000c23db326ca1e315df73dee7524f6bc2907818ee3458813f2d"
  },
  "sourceRevision": "995a75e8642f100219bc5cb19a8780e8f110c426cd84ff4ebdc8a22a744a7c09"
}
