{
  "aboutHtml": "<h4>Pembuatan adegan video</h4><p>Grok Imagine Video 1.5 adalah model xAI untuk menghasilkan video dari deskripsi teks dan materi visual. Metode Ailoot saat ini memublikasikan generasi dari teks; mode tambahan model itu sendiri memungkinkan animasi gambar, penggunaan referensi, dan penentuan bingkai acuan adegan.</p><p>Hasil dibuat secara asinkron: setelah tugas diajukan, kesiapan diperiksa melalui pengenalnya. Menurut xAI, proses dapat memerlukan beberapa menit, bergantung pada kerumitan adegan, durasi, dan resolusi. Perolehan pengenal tugas belum berarti video sudah siap.</p><h4>Durasi, rasio, dan resolusi</h4><p>Video yang dibuat berdurasi <strong>1 hingga 15 detik</strong>. Format <code>1:1</code>, <code>16:9</code>, <code>9:16</code>, <code>4:3</code>, <code>3:4</code>, <code>3:2</code>, atau <code>2:3</code> dapat dipilih; format standar untuk teks adalah <code>16:9</code>. Saat gambar dianimasikan, rasionya dipertahankan secara default.</p><p>Generasi dari teks dan gambar awal menyediakan <strong>480p, 720p, dan 1080p</strong>. 480p digunakan secara default; mode referensi dibatasi pada 720p. Resolusi 1080p tidak dapat diterapkan ke semua mode hanya karena tersedia pada model.</p><h4>Kendali penampilan</h4><p>Dalam mode referensi, xAI menerima hingga <strong>7 gambar</strong>. Gambar menentukan orang, objek, pakaian, dan ciri visual lain tanpa menetapkan bingkai awal. Cara ini ditujukan untuk adegan dengan karakter berulang, demonstrasi produk, dan pemeliharaan penampilan yang diperlukan di antara penataan adegan.</p><h4>Bingkai pertama, terakhir, dan di antaranya</h4><p>Versi 1.5 memungkinkan penetapan bingkai pertama yang tepat, bingkai terakhir yang tepat, atau keduanya sekaligus. Jika hanya bingkai terakhir yang ditentukan, model membentuk awal sendiri dan mencapai gambar yang diberikan. Dengan kedua batas ditentukan, model membuat gerakan di antaranya; instruksi teks dapat memperjelas gerakan serta kerja kamera.</p><p>Untuk storyboard dalam video, hingga <strong>4 bingkai kunci</strong> dapat ditetapkan. Waktu setiap bingkai harus berada setelah awal dan sebelum akhir secara ketat; penetapan mengikuti kisi <strong>1/3 detik</strong>. Dua bingkai yang dibulatkan ke titik kisi yang sama ditolak. Untuk menghindarinya, sisakan jarak setidaknya 1/3 detik di antaranya. Bingkai pertama dan terakhir ditentukan terpisah dari empat bingkai di antaranya.</p><p>Bingkai acuan dapat digabungkan dengan referensi visual serta suara preset. Jika setidaknya satu bingkai ditetapkan, deskripsi teks tidak wajib: urutan gambar itu sendiri menentukan adegan. Bingkai kunci tidak dapat digunakan bersama mode penyuntingan video. Kemampuan xAI tersebut tidak berarti tersedia dalam generasi Ailoot dari teks yang dipublikasikan.</p><h4>Audio dan suara</h4><p>Video yang dibuat secara default memiliki trek audio; hasil tanpa suara juga tersedia. Dalam mode xAI dengan referensi suara, hingga <strong>3 suara preset</strong> dapat dipilih dan dihubungkan dengan peserta adegan yang berbicara.</p><p>Pengiriman berkas audio sendiri sebagai contoh suara bukan kemampuan umum model ini: xAI menyediakannya secara terpisah berdasarkan permintaan. Suara preset dan audio yang diunggah merupakan jenis masukan berbeda.</p><h4>Mode kerja</h4><p>Generasi teks membuat adegan baru; gambar awal menentukan awalnya; referensi mengarahkan penampilan; bingkai yang ditetapkan menentukan titik visual dalam waktu. Setiap mode memiliki batas sendiri, sehingga pengaturan satu cara tidak dapat diterapkan tanpa syarat pada cara lainnya.</p>",
  "aboutText": "### Pembuatan adegan video\n\nGrok Imagine Video 1.5 adalah model xAI untuk menghasilkan video dari deskripsi teks dan materi visual. Metode Ailoot saat ini memublikasikan generasi dari teks; mode tambahan model itu sendiri memungkinkan animasi gambar, penggunaan referensi, dan penentuan bingkai acuan adegan.\n\nHasil dibuat secara asinkron: setelah tugas diajukan, kesiapan diperiksa melalui pengenalnya. Menurut xAI, proses dapat memerlukan beberapa menit, bergantung pada kerumitan adegan, durasi, dan resolusi. Perolehan pengenal tugas belum berarti video sudah siap.\n\n### Durasi, rasio, dan resolusi\n\nVideo yang dibuat berdurasi **1 hingga 15 detik**. Format `1:1`, `16:9`, `9:16`, `4:3`, `3:4`, `3:2`, atau `2:3` dapat dipilih; format standar untuk teks adalah `16:9`. Saat gambar dianimasikan, rasionya dipertahankan secara default.\n\nGenerasi dari teks dan gambar awal menyediakan **480p, 720p, dan 1080p**. 480p digunakan secara default; mode referensi dibatasi pada 720p. Resolusi 1080p tidak dapat diterapkan ke semua mode hanya karena tersedia pada model.\n\n### Kendali penampilan\n\nDalam mode referensi, xAI menerima hingga **7 gambar**. Gambar menentukan orang, objek, pakaian, dan ciri visual lain tanpa menetapkan bingkai awal. Cara ini ditujukan untuk adegan dengan karakter berulang, demonstrasi produk, dan pemeliharaan penampilan yang diperlukan di antara penataan adegan.\n\n### Bingkai pertama, terakhir, dan di antaranya\n\nVersi 1.5 memungkinkan penetapan bingkai pertama yang tepat, bingkai terakhir yang tepat, atau keduanya sekaligus. Jika hanya bingkai terakhir yang ditentukan, model membentuk awal sendiri dan mencapai gambar yang diberikan. Dengan kedua batas ditentukan, model membuat gerakan di antaranya; instruksi teks dapat memperjelas gerakan serta kerja kamera.\n\nUntuk storyboard dalam video, hingga **4 bingkai kunci** dapat ditetapkan. Waktu setiap bingkai harus berada setelah awal dan sebelum akhir secara ketat; penetapan mengikuti kisi **1/3 detik**. Dua bingkai yang dibulatkan ke titik kisi yang sama ditolak. Untuk menghindarinya, sisakan jarak setidaknya 1/3 detik di antaranya. Bingkai pertama dan terakhir ditentukan terpisah dari empat bingkai di antaranya.\n\nBingkai acuan dapat digabungkan dengan referensi visual serta suara preset. Jika setidaknya satu bingkai ditetapkan, deskripsi teks tidak wajib: urutan gambar itu sendiri menentukan adegan. Bingkai kunci tidak dapat digunakan bersama mode penyuntingan video. Kemampuan xAI tersebut tidak berarti tersedia dalam generasi Ailoot dari teks yang dipublikasikan.\n\n### Audio dan suara\n\nVideo yang dibuat secara default memiliki trek audio; hasil tanpa suara juga tersedia. Dalam mode xAI dengan referensi suara, hingga **3 suara preset** dapat dipilih dan dihubungkan dengan peserta adegan yang berbicara.\n\nPengiriman berkas audio sendiri sebagai contoh suara bukan kemampuan umum model ini: xAI menyediakannya secara terpisah berdasarkan permintaan. Suara preset dan audio yang diunggah merupakan jenis masukan berbeda.\n\n### Mode kerja\n\nGenerasi teks membuat adegan baru; gambar awal menentukan awalnya; referensi mengarahkan penampilan; bingkai yang ditetapkan menentukan titik visual dalam waktu. Setiap mode memiliki batas sendiri, sehingga pengaturan satu cara tidak dapat diterapkan tanpa syarat pada cara lainnya.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "14f30fa69b512a35d84b6498e314353c701b754ffed42a1984bdf806c4a1ad92",
    "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\">x</span><h2 id=\"sheet-title\">grok-imagine-video-1.5-preview</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Tutup\">×</button></div><div class=\"idline\"><span>xAI /</span><code>grok-imagine-video-1.5-preview</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=\"Core|videos|/v1/videos/generations|grok-imagine-video-1.5-preview\">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\">Grok Imagine Video 1.5 membuat video dari teks berdurasi 1–15 detik, termasuk 1080p. Model itu sendiri mendukung animasi gambar, referensi visual, penetapan bingkai kunci, dan trek audio.</p><dl class=\"card-io\" data-card-io><div><dt>Masukan yang diterima</dt><dd>Teks</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\"><h4>Pembuatan adegan video</h4><p>Grok Imagine Video 1.5 adalah model xAI untuk menghasilkan video dari deskripsi teks dan materi visual. Metode Ailoot saat ini memublikasikan generasi dari teks; mode tambahan model itu sendiri memungkinkan animasi gambar, penggunaan referensi, dan penentuan bingkai acuan adegan.</p><p>Hasil dibuat secara asinkron: setelah tugas diajukan, kesiapan diperiksa melalui pengenalnya. Menurut xAI, proses dapat memerlukan beberapa menit, bergantung pada kerumitan adegan, durasi, dan resolusi. Perolehan pengenal tugas belum berarti video sudah siap.</p><h4>Durasi, rasio, dan resolusi</h4><p>Video yang dibuat berdurasi <strong>1 hingga 15 detik</strong>. Format <code>1:1</code>, <code>16:9</code>, <code>9:16</code>, <code>4:3</code>, <code>3:4</code>, <code>3:2</code>, atau <code>2:3</code> dapat dipilih; format standar untuk teks adalah <code>16:9</code>. Saat gambar dianimasikan, rasionya dipertahankan secara default.</p><p>Generasi dari teks dan gambar awal menyediakan <strong>480p, 720p, dan 1080p</strong>. 480p digunakan secara default; mode referensi dibatasi pada 720p. Resolusi 1080p tidak dapat diterapkan ke semua mode hanya karena tersedia pada model.</p><h4>Kendali penampilan</h4><p>Dalam mode referensi, xAI menerima hingga <strong>7 gambar</strong>. Gambar menentukan orang, objek, pakaian, dan ciri visual lain tanpa menetapkan bingkai awal. Cara ini ditujukan untuk adegan dengan karakter berulang, demonstrasi produk, dan pemeliharaan penampilan yang diperlukan di antara penataan adegan.</p><h4>Bingkai pertama, terakhir, dan di antaranya</h4><p>Versi 1.5 memungkinkan penetapan bingkai pertama yang tepat, bingkai terakhir yang tepat, atau keduanya sekaligus. Jika hanya bingkai terakhir yang ditentukan, model membentuk awal sendiri dan mencapai gambar yang diberikan. Dengan kedua batas ditentukan, model membuat gerakan di antaranya; instruksi teks dapat memperjelas gerakan serta kerja kamera.</p><p>Untuk storyboard dalam video, hingga <strong>4 bingkai kunci</strong> dapat ditetapkan. Waktu setiap bingkai harus berada setelah awal dan sebelum akhir secara ketat; penetapan mengikuti kisi <strong>1/3 detik</strong>. Dua bingkai yang dibulatkan ke titik kisi yang sama ditolak. Untuk menghindarinya, sisakan jarak setidaknya 1/3 detik di antaranya. Bingkai pertama dan terakhir ditentukan terpisah dari empat bingkai di antaranya.</p><p>Bingkai acuan dapat digabungkan dengan referensi visual serta suara preset. Jika setidaknya satu bingkai ditetapkan, deskripsi teks tidak wajib: urutan gambar itu sendiri menentukan adegan. Bingkai kunci tidak dapat digunakan bersama mode penyuntingan video. Kemampuan xAI tersebut tidak berarti tersedia dalam generasi Ailoot dari teks yang dipublikasikan.</p><h4>Audio dan suara</h4><p>Video yang dibuat secara default memiliki trek audio; hasil tanpa suara juga tersedia. Dalam mode xAI dengan referensi suara, hingga <strong>3 suara preset</strong> dapat dipilih dan dihubungkan dengan peserta adegan yang berbicara.</p><p>Pengiriman berkas audio sendiri sebagai contoh suara bukan kemampuan umum model ini: xAI menyediakannya secara terpisah berdasarkan permintaan. Suara preset dan audio yang diunggah merupakan jenis masukan berbeda.</p><h4>Mode kerja</h4><p>Generasi teks membuat adegan baru; gambar awal menentukan awalnya; referensi mengarahkan penampilan; bingkai yang ditetapkan menentukan titik visual dalam waktu. Setiap mode memiliki batas sendiri, sehingga pengaturan satu cara tidak dapat diterapkan tanpa syarat pada cara lainnya.</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 · Pemrosesan video</b> <code>POST /v1/videos/generations</code></summary><dl class=\"method-capabilities\"><div><dt>Masukan</dt><dd><code>text</code></dd></div><div><dt>Keluaran</dt><dd><code>video</code></dd></div><div><dt>Format keluaran</dt><dd>mp4</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 data-parameter-availability=\"source_interface\"><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>grok-imagine-video-1.5-preview</div></td><td data-cell-label=\"Bawaan\" data-default=\"unspecified\"><span class=\"card-cell-label\">Bawaan</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><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>Opsional</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><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Kolom\" scope=\"row\"><span class=\"card-cell-label\">Kolom</span><code class=\"card-field-name\">duration</code></th><td data-cell-label=\"Jenis\" data-field-type><span class=\"card-cell-label\">Jenis</span><code>integer</code></td><td data-cell-label=\"Persyaratan\"><span class=\"card-cell-label\">Persyaratan</span>Opsional</td><td data-cell-label=\"Nilai &amp; batasan\"><span class=\"card-cell-label\">Nilai &amp; batasan</span><div>Minimum: 1</div><div>Maksimum: 15</div><div>Kondisi: Jangan berikan duration dan seconds sekaligus</div><div>Satuan: detik</div></td><td data-cell-label=\"Bawaan\" data-default=\"known\"><span class=\"card-cell-label\">Bawaan</span>1</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Kolom\" scope=\"row\"><span class=\"card-cell-label\">Kolom</span><code class=\"card-field-name\">seconds</code></th><td data-cell-label=\"Jenis\" data-field-type><span class=\"card-cell-label\">Jenis</span><code>integer|integer_string</code></td><td data-cell-label=\"Persyaratan\"><span class=\"card-cell-label\">Persyaratan</span>Opsional</td><td data-cell-label=\"Nilai &amp; batasan\"><span class=\"card-cell-label\">Nilai &amp; batasan</span><div>Minimum: 1</div><div>Maksimum: 15</div><div>Alternatif: duration</div></td><td data-cell-label=\"Bawaan\" data-default=\"unspecified\"><span class=\"card-cell-label\">Bawaan</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Kolom\" scope=\"row\"><span class=\"card-cell-label\">Kolom</span><code class=\"card-field-name\">resolution</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>Opsional</td><td data-cell-label=\"Nilai &amp; batasan\"><span class=\"card-cell-label\">Nilai &amp; batasan</span><div>480p, 720p, 1080p</div></td><td data-cell-label=\"Bawaan\" data-default=\"known\"><span class=\"card-cell-label\">Bawaan</span>480p</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Kolom\" scope=\"row\"><span class=\"card-cell-label\">Kolom</span><code class=\"card-field-name\">aspect_ratio</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>Opsional</td><td data-cell-label=\"Nilai &amp; batasan\"><span class=\"card-cell-label\">Nilai &amp; batasan</span><div>1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3</div><div>Kondisi: Jika gambar masukan diberikan dan rasio dihilangkan, penyedia mewarisi rasio aspek gambar</div></td><td data-cell-label=\"Bawaan\" data-default=\"known\"><span class=\"card-cell-label\">Bawaan</span>16:9</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Kolom\" scope=\"row\"><span class=\"card-cell-label\">Kolom</span><code class=\"card-field-name\">size</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>Opsional</td><td data-cell-label=\"Nilai &amp; batasan\"><span class=\"card-cell-label\">Nilai &amp; batasan</span><div>1280x720, 720x1280, 1920x1080, 1080x1920</div><div>Kondisi: Harus sesuai dengan resolution/aspect_ratio jika keduanya ditentukan</div></td><td data-cell-label=\"Bawaan\" data-default=\"unspecified\"><span class=\"card-cell-label\">Bawaan</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Kolom\" scope=\"row\"><span class=\"card-cell-label\">Kolom</span><code class=\"card-field-name\">image</code></th><td data-cell-label=\"Jenis\" data-field-type><span class=\"card-cell-label\">Jenis</span><code>object</code></td><td data-cell-label=\"Persyaratan\"><span class=\"card-cell-label\">Persyaratan</span>Opsional</td><td data-cell-label=\"Nilai &amp; batasan\"><span class=\"card-cell-label\">Nilai &amp; batasan</span><div>Kondisi: Gambar masukan aktual yang didukung; memungkinkan prompt dihilangkan</div></td><td data-cell-label=\"Bawaan\" data-default=\"unspecified\"><span class=\"card-cell-label\">Bawaan</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Kombinasi bahan masukan</summary><p class=\"note-s\"><b>Teks ke video</b> · Wajib: prompt</p><p class=\"note-s\"><b>Gambar ke video</b> · Wajib: image</p></details><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>material_types</code></th><td data-cell-label=\"Kontrak\"><span class=\"card-cell-label\">Kontrak</span>text</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>null</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>optional_controls</code></th><td data-cell-label=\"Kontrak\"><span class=\"card-cell-label\">Kontrak</span>null</td></tr></tbody></table></div><p>Siklus hidup: <code>submit_once_poll_original</code></p><p class=\"note-s\"><code>GET /v1/videos/{request_id}</code></p><p class=\"note-s\"><code>GET /v1/videos/generations/{request_id}</code></p><p class=\"note-s\"><code>GET /v1/videos/{request_id}/content</code></p><p class=\"note-s\"><code>GET /v1/videos/generations/{request_id}/content</code></p><p class=\"note-s\">Struktur metode dan ID bersifat eksak; kemampuan pemasok terpisah dari penerimaan permintaan.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Paket</h3><h4>Tarif metode Ailoot</h4><section class=\"meth\" data-route=\"Core\"><header><b><span class=\"alias\">Ailoot</span> Pemrosesan video</b><code>POST /v1/videos/generations</code></header><dl><div><dt>Masukan</dt><dd>US$0,01 <em>per gambar masukan</em></dd></div><div><dt>Keluaran</dt><dd>US$0,25 <em>per detik pada 1080p</em></dd></div><div><dt>Keluaran</dt><dd>US$0,08 <em>per detik pada 480p</em></dd></div><div><dt>Keluaran</dt><dd>US$0,14 <em>per detik pada 720p</em></dd></div></dl></section><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 · 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-779-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-779-panel-0\" aria-selected=\"true\" tabindex=\"0\">Contoh video</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-779-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-779-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\ncurl https://api.ailoot.ai/v1/videos/generations \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; \\\n  -H &quot;Content-Type: application/json&quot; \\\n  -d &#39;{&quot;model&quot;: &quot;grok-imagine-video-1.5-preview&quot;, &quot;prompt&quot;: &quot;A person walks slowly through a quiet garden as the camera tracks from the side.&quot;}&#39;</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Terima dan simpan hasil</h3><h4>Ailoot · Pemrosesan video</h4><p class=\"note-s\">mp4</p><ul class=\"card-result-paths\"><li><code>GET /v1/videos/{request_id}</code></li><li><code>GET /v1/videos/generations/{request_id}</code></li><li><code>GET /v1/videos/{request_id}/content</code></li><li><code>GET /v1/videos/generations/{request_id}/content</code></li></ul><h5>Periksa status tugas</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-780-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-780-panel-0\" aria-selected=\"true\" tabindex=\"0\">GET status</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-780-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-780-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_VIDEO_ID:?Set the actual Ailoot operation ID returned by creation}&quot;\nexport AILOOT_VIDEO_ID\nvideo_id=$(python3 -c &#39;import os, urllib.parse; print(urllib.parse.quote(os.environ[&quot;AILOOT_VIDEO_ID&quot;], safe=&quot;&quot;))&#39;) || exit 1\ncurl &quot;https://api.ailoot.ai/v1/videos/generations/$video_id&quot; \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot;</code></pre></div></div></div><details class=\"card-about\"><summary>Pembacaan konten lain</summary><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-781-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-781-panel-0\" aria-selected=\"true\" tabindex=\"0\">GET konten</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-781-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-781-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_VIDEO_ID:?Set the actual Ailoot operation ID returned by creation}&quot;\nexport AILOOT_VIDEO_ID\nvideo_id=$(python3 -c &#39;import os, urllib.parse; print(urllib.parse.quote(os.environ[&quot;AILOOT_VIDEO_ID&quot;], safe=&quot;&quot;))&#39;) || exit 1\ncurl &quot;https://api.ailoot.ai/v1/videos/generations/$video_id/content&quot; \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; \\\n  --output video.mp4</code></pre></div></div></div></details><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 JSON status secara utuh dan request_id aktual. Respons yang selesai dengan status=done memuat video.url dengan URL konten milik Ailoot. Pertahankan durasi yang dilaporkan dan setiap bidang hasil yang dikembalikan.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Jika respons asli perlu diperiksa</h5><p class=\"note-s\">Baca tugas awal yang sudah ada; jangan pernah kirim ulang pengiriman yang statusnya tidak diketahui.</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\">request_id</code></th><td data-cell-label=\"Jenis\" data-field-type><span class=\"card-cell-label\">Jenis</span>string</td></tr><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>string</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>string</td></tr><tr><th data-cell-label=\"Kolom\" scope=\"row\"><span class=\"card-cell-label\">Kolom</span><code class=\"card-field-name\">video.url</code></th><td data-cell-label=\"Jenis\" data-field-type><span class=\"card-cell-label\">Jenis</span>owned signed content URL</td></tr><tr><th data-cell-label=\"Kolom\" scope=\"row\"><span class=\"card-cell-label\">Kolom</span><code class=\"card-field-name\">video.duration</code></th><td data-cell-label=\"Jenis\" data-field-type><span class=\"card-cell-label\">Jenis</span>number</td></tr><tr><th data-cell-label=\"Kolom\" scope=\"row\"><span class=\"card-cell-label\">Kolom</span><code class=\"card-field-name\">video.respect_moderation</code></th><td data-cell-label=\"Jenis\" data-field-type><span class=\"card-cell-label\">Jenis</span>boolean</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Kesalahan dan langkah berikutnya</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Respons</th><th>Kondisi</th><th>Langkah berikutnya</th></tr></thead><tbody><tr><th data-cell-label=\"Respons\" scope=\"row\"><span class=\"card-cell-label\">Respons</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Kondisi\"><span class=\"card-cell-label\">Kondisi</span>Bidang wajib, representasi materi, atau nilai parameter tidak valid</td><td data-cell-label=\"Langkah berikutnya\"><span class=\"card-cell-label\">Langkah berikutnya</span>Perbaiki bidang yang ditunjukkan sebelum permintaan pembuatan baru.</td></tr><tr><th data-cell-label=\"Respons\" scope=\"row\"><span class=\"card-cell-label\">Respons</span>409 · <code>video_not_ready</code></th><td data-cell-label=\"Kondisi\"><span class=\"card-cell-label\">Kondisi</span>Konten hasil awal belum tersedia</td><td data-cell-label=\"Langkah berikutnya\"><span class=\"card-cell-label\">Langkah berikutnya</span>Periksa ID awal yang dikembalikan secara berkala dan patuhi Retry-After.</td></tr><tr><th data-cell-label=\"Respons\" scope=\"row\"><span class=\"card-cell-label\">Respons</span><code>server_error</code></th><td data-cell-label=\"Kondisi\"><span class=\"card-cell-label\">Kondisi</span>Respons yang dikembalikan menyatakan bahwa operasi atau hasil perlu diperiksa</td><td data-cell-label=\"Langkah berikutnya\"><span class=\"card-cell-label\">Langkah berikutnya</span>Simpan ID operasi/tugas asli yang dikembalikan, header permintaan, dan respons; lanjutkan pembacaan yang didukung untuk operasi asli tersebut. Jangan kirim ulang permintaan pembuatan.</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=\"Core\"><b>Ailoot</b> <a href=\"#m=grok-imagine-video-1.5-preview&amp;route=Core&amp;caller=grok-imagine-video-1.5-preview&amp;fmt=videos\"><code>grok-imagine-video-1.5-preview</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=grok-imagine-video-1.5-preview&amp;route=Core&amp;caller=grok-imagine-video-1.5-preview&amp;fmt=videos\"><code>grok-imagine-video-1.5-preview</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "grok-imagine-video-1.5-preview",
        "fmt": "videos",
        "http": "POST",
        "path": "/v1/videos/generations",
        "request_model_id": "grok-imagine-video-1.5-preview",
        "route_label": "Core"
      },
      "method_key": "Core|videos|/v1/videos/generations|grok-imagine-video-1.5-preview",
      "ordinal": 0,
      "rawMethod": {
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "cache_write_5m": null,
        "conditional_meter": null,
        "contract": {
          "data": {
            "all_results": "Retain fullstatusJSON and actualrequest_id. Completedstatusdone carriesvideo.url withowned signedcontent; retain the actualduration andallactualreturnedresultfields.",
            "errors": [
              {
                "code": null,
                "condition": "Bidang wajib, representasi materi, atau nilai parameter tidak valid",
                "http_status": 400,
                "recovery": "Perbaiki bidang yang ditunjukkan sebelum permintaan pembuatan baru.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Konten hasil awal belum tersedia",
                "http_status": 409,
                "recovery": "Periksa ID awal yang dikembalikan secara berkala dan patuhi Retry-After.",
                "type": "video_not_ready"
              },
              {
                "code": null,
                "condition": "Respons yang dikembalikan menyatakan bahwa operasi atau hasil perlu diperiksa",
                "http_status": null,
                "recovery": "Simpan ID operasi/tugas asli yang dikembalikan, header permintaan, dan respons; lanjutkan pembacaan yang didukung untuk operasi asli tersebut. Jangan kirim ulang permintaan pembuatan.",
                "type": "server_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "all_results": "Follow everyactualreturnedoutputandownedasset; no result is discardedbecauseindex0orcontent_urlalreadyexists.",
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}/content",
                  "query": {
                    "index": "actual output index; default0"
                  }
                },
                {
                  "http": "GET",
                  "path": "/v1/videos/generations/{request_id}/content"
                }
              ],
              "create": {
                "http": "POST",
                "path": "/v1/videos/generations"
              },
              "id_source": "Actualreturnedpublicid; opaque URLencodeit forGET",
              "mode": "submit_once_poll_original",
              "multioutputs": "retain every completed data output; index0 alone is not all outputs",
              "operation_id_is_not_task_id": true,
              "owned_result": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              },
              "status": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}"
                },
                {
                  "http": "GET",
                  "path": "/v1/videos/generations/{request_id}"
                }
              ],
              "submit_status": 202,
              "unknown": "Baca tugas awal yang sudah ada; jangan pernah kirim ulang pengiriman yang statusnya tidak diketahui.",
              "unknown_no_replay": true
            },
            "material_combinations": [
              {
                "mode": "text_to_video",
                "required": [
                  "prompt"
                ]
              },
              {
                "mode": "image_to_video",
                "optional": [
                  "prompt"
                ],
                "required": [
                  "image"
                ]
              }
            ],
            "media_library": {
              "asset": {
                "fields": [
                  {
                    "description": null,
                    "name": "asset_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "task_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "output_key",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "family",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "model",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "method",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "status",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "content_type",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "sha256",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "size_bytes",
                    "type": "integer"
                  },
                  {
                    "description": null,
                    "name": "content_url",
                    "type": "string"
                  }
                ],
                "http": "GET",
                "id_source": "actual returned asset_id",
                "path": "/v1/media/assets/{asset_id}"
              },
              "content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "range_header_supported": true,
                "url_source": "Use exact returned signed content_url including its token; do not construct a token."
              },
              "expired_link": {
                "code": "link_expired",
                "http_status": 404,
                "recovery": "Read the asset again to obtain its refreshed signed content_url, then fetch that URL. Do not regenerate."
              },
              "list": {
                "all_pages": "Follow every returned next_cursor, then select records by their actual task_id/output_key.",
                "http": "GET",
                "output_fields": [
                  {
                    "description": null,
                    "name": "object",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "data",
                    "type": "asset[]"
                  },
                  {
                    "description": null,
                    "name": "next_cursor",
                    "type": "string|null"
                  }
                ],
                "parameters": [
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "family",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "cursor",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": 20,
                    "default_known": true,
                    "enum": null,
                    "enum_known": false,
                    "maximum": 100,
                    "minimum": 1,
                    "name": "limit",
                    "required": false,
                    "type": "integer"
                  }
                ],
                "path": "/v1/media/assets"
              },
              "revoke": {
                "http": "DELETE",
                "meaning": "Revokes/deletes the existing owned file; this is not generation cancellation.",
                "path": "/v1/media/assets/{asset_id}",
                "pending_status": "revoking",
                "success_statuses": [
                  202,
                  204
                ]
              },
              "task": {
                "http": "GET",
                "id_source": "actual returned task_id or media library record; operation_id is not task_id",
                "path": "/v1/media/tasks/{task_id}"
              }
            },
            "operation_modes": [
              "videos"
            ],
            "outputs": {
              "all_results": "Simpan JSON status secara utuh dan request_id aktual. Respons yang selesai dengan status=done memuat video.url dengan URL konten milik Ailoot. Pertahankan durasi yang dilaporkan dan setiap bidang hasil yang dikembalikan.",
              "create_status": 202,
              "family": "video",
              "fields": [
                {
                  "description": null,
                  "name": "request_id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "status",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "video.url",
                  "type": "owned signed content URL"
                },
                {
                  "description": null,
                  "name": "video.duration",
                  "type": "number"
                },
                {
                  "description": null,
                  "name": "video.respect_moderation",
                  "type": "boolean"
                }
              ],
              "format": "mp4"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "grok-imagine-video-1.5-preview"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_length": 1,
                "name": "prompt",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "Jangan berikan duration dan seconds sekaligus",
                "default": 1,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "maximum": 15,
                "minimum": 1,
                "name": "duration",
                "required": false,
                "type": "integer",
                "unit": "detik"
              },
              {
                "alternative": "duration",
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum": 15,
                "minimum": 1,
                "name": "seconds",
                "required": false,
                "type": "integer|integer_string"
              },
              {
                "availability": "source_interface",
                "default": "480p",
                "default_known": true,
                "enum": [
                  "480p",
                  "720p",
                  "1080p"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "Jika gambar masukan diberikan dan rasio dihilangkan, penyedia mewarisi rasio aspek gambar",
                "default": "16:9",
                "default_known": true,
                "enum": [
                  "1:1",
                  "16:9",
                  "9:16",
                  "4:3",
                  "3:4",
                  "3:2",
                  "2:3"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "Harus sesuai dengan resolution/aspect_ratio jika keduanya ditentukan",
                "default": null,
                "default_known": false,
                "enum": [
                  "1280x720",
                  "720x1280",
                  "1920x1080",
                  "1080x1920"
                ],
                "enum_known": true,
                "name": "size",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "Gambar masukan aktual yang didukung; memungkinkan prompt dihilangkan",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "image",
                "required": false,
                "type": "object"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "mask",
              "input_reference",
              "stream=true",
              "n/countotherthan1"
            ]
          },
          "hints": [
            "Struktur metode dan ID bersifat eksak; kemampuan pemasok terpisah dari penerimaan permintaan."
          ],
          "input": {
            "material_types": [
              "text"
            ],
            "optional_controls": null,
            "required": null
          },
          "lifecycle": {
            "content": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}/content",
                "query": {
                  "index": "actual output index; default0"
                }
              },
              {
                "http": "GET",
                "path": "/v1/videos/generations/{request_id}/content"
              }
            ],
            "id_source": "only actual ID/path from creation/status",
            "mode": "submit_once_poll_original",
            "multioutputs": "retain every completed data output; index0 alone is not all outputs",
            "owned_result": {
              "http": "GET",
              "path": "/v1/media/assets/{asset_id}"
            },
            "status": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}"
              },
              {
                "http": "GET",
                "path": "/v1/videos/generations/{request_id}"
              }
            ],
            "submit_status": 202,
            "unknown": "Read existing original job; never resubmit unknown send."
          },
          "method": {
            "http": "POST",
            "path": "/v1/videos/generations"
          },
          "operation_modes": [
            "videos"
          ],
          "output": {
            "family": [
              "video"
            ],
            "format": null,
            "multioutputs": "retain every actual response output"
          }
        },
        "ctx": null,
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl https://api.ailoot.ai/v1/videos/generations \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"model\": \"grok-imagine-video-1.5-preview\", \"prompt\": \"A person walks slowly through a quiet garden as the camera tracks from the side.\"}'",
            "label": "Create video · retained exact shape",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_VIDEO_ID:?Set the actual Ailoot operation ID returned by creation}\"\nexport AILOOT_VIDEO_ID\nvideo_id=$(python3 -c 'import os, urllib.parse; print(urllib.parse.quote(os.environ[\"AILOOT_VIDEO_ID\"], safe=\"\"))') || exit 1\ncurl \"https://api.ailoot.ai/v1/videos/generations/$video_id\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\"",
            "label": "GET status",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_VIDEO_ID:?Set the actual Ailoot operation ID returned by creation}\"\nexport AILOOT_VIDEO_ID\nvideo_id=$(python3 -c 'import os, urllib.parse; print(urllib.parse.quote(os.environ[\"AILOOT_VIDEO_ID\"], safe=\"\"))') || exit 1\ncurl \"https://api.ailoot.ai/v1/videos/generations/$video_id/content\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" \\\n  --output video.mp4",
            "label": "GET content",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": null,
        "input": [
          "text"
        ],
        "label": "Pemrosesan video",
        "max_out": null,
        "max_tool_calls": null,
        "out": null,
        "output": [
          "video"
        ],
        "path": "/v1/videos/generations",
        "pricing_profiles": [
          {
            "dimensions": {},
            "label": "Core",
            "units": [
              {
                "amount": 0.01,
                "amount_unit": "usd_per_display_unit",
                "key": "image_input",
                "label": "per input image",
                "side": "in"
              },
              {
                "amount": 0.25,
                "amount_unit": "usd_per_display_unit",
                "key": "video_output_1080p_second",
                "label": "per second at 1080p",
                "side": "out"
              },
              {
                "amount": 0.08,
                "amount_unit": "usd_per_display_unit",
                "key": "video_output_480p_second",
                "label": "per second at 480p",
                "side": "out"
              },
              {
                "amount": 0.14,
                "amount_unit": "usd_per_display_unit",
                "key": "video_output_720p_second",
                "label": "per second at 720p",
                "side": "out"
              }
            ]
          }
        ],
        "request_model_id": "grok-imagine-video-1.5-preview",
        "route_label": "Core",
        "status_reads": [
          "GET /v1/videos/generations/{request_id}",
          "GET /v1/videos/generations/{request_id}/content"
        ],
        "tiers": [],
        "tool_prices": null,
        "unit": "conditional",
        "units": [
          {
            "key": "image_input",
            "label": "per input image",
            "side": "in",
            "usd": 0.01
          },
          {
            "key": "video_output_1080p_second",
            "label": "per second at 1080p",
            "side": "out",
            "usd": 0.25
          },
          {
            "key": "video_output_480p_second",
            "label": "per second at 480p",
            "side": "out",
            "usd": 0.08
          },
          {
            "key": "video_output_720p_second",
            "label": "per second at 720p",
            "side": "out",
            "usd": 0.14
          }
        ]
      }
    }
  ],
  "model_id": "grok-imagine-video-1.5-preview",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "323c2aa1605283978f4f5137e008e400a2b355f86f8bc16bf25ce4cd446ed61b",
    "input_html_sha256": "08e6f49730eb6019e489ca70e71b7d2d25fd13b06159ae5992faddb70086cce8",
    "private_audit_sha256": "bacb258c1b0880c7c182bf544eb977bdab6637300ba37f921ebbb2ef7c975e85",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/id/grok-imagine-video-1-5-preview/",
    "description": "Grok Imagine Video 1.5 membuat video dari teks berdurasi 1–15 detik, termasuk 1080p. Model itu sendiri mendukung animasi gambar, referensi visual, penetapan bingkai kunci, dan trek audio.",
    "locale": "id",
    "md_url": "https://ailoot.ai/models/id/grok-imagine-video-1-5-preview/index.md",
    "title": "grok-imagine-video-1.5-preview — Ailoot",
    "url": "https://ailoot.ai/models/id/grok-imagine-video-1-5-preview/"
  },
  "rawModel": {
    "about": "### Pembuatan adegan video\n\nGrok Imagine Video 1.5 adalah model xAI untuk menghasilkan video dari deskripsi teks dan materi visual. Metode Ailoot saat ini memublikasikan generasi dari teks; mode tambahan model itu sendiri memungkinkan animasi gambar, penggunaan referensi, dan penentuan bingkai acuan adegan.\n\nHasil dibuat secara asinkron: setelah tugas diajukan, kesiapan diperiksa melalui pengenalnya. Menurut xAI, proses dapat memerlukan beberapa menit, bergantung pada kerumitan adegan, durasi, dan resolusi. Perolehan pengenal tugas belum berarti video sudah siap.\n\n### Durasi, rasio, dan resolusi\n\nVideo yang dibuat berdurasi **1 hingga 15 detik**. Format `1:1`, `16:9`, `9:16`, `4:3`, `3:4`, `3:2`, atau `2:3` dapat dipilih; format standar untuk teks adalah `16:9`. Saat gambar dianimasikan, rasionya dipertahankan secara default.\n\nGenerasi dari teks dan gambar awal menyediakan **480p, 720p, dan 1080p**. 480p digunakan secara default; mode referensi dibatasi pada 720p. Resolusi 1080p tidak dapat diterapkan ke semua mode hanya karena tersedia pada model.\n\n### Kendali penampilan\n\nDalam mode referensi, xAI menerima hingga **7 gambar**. Gambar menentukan orang, objek, pakaian, dan ciri visual lain tanpa menetapkan bingkai awal. Cara ini ditujukan untuk adegan dengan karakter berulang, demonstrasi produk, dan pemeliharaan penampilan yang diperlukan di antara penataan adegan.\n\n### Bingkai pertama, terakhir, dan di antaranya\n\nVersi 1.5 memungkinkan penetapan bingkai pertama yang tepat, bingkai terakhir yang tepat, atau keduanya sekaligus. Jika hanya bingkai terakhir yang ditentukan, model membentuk awal sendiri dan mencapai gambar yang diberikan. Dengan kedua batas ditentukan, model membuat gerakan di antaranya; instruksi teks dapat memperjelas gerakan serta kerja kamera.\n\nUntuk storyboard dalam video, hingga **4 bingkai kunci** dapat ditetapkan. Waktu setiap bingkai harus berada setelah awal dan sebelum akhir secara ketat; penetapan mengikuti kisi **1/3 detik**. Dua bingkai yang dibulatkan ke titik kisi yang sama ditolak. Untuk menghindarinya, sisakan jarak setidaknya 1/3 detik di antaranya. Bingkai pertama dan terakhir ditentukan terpisah dari empat bingkai di antaranya.\n\nBingkai acuan dapat digabungkan dengan referensi visual serta suara preset. Jika setidaknya satu bingkai ditetapkan, deskripsi teks tidak wajib: urutan gambar itu sendiri menentukan adegan. Bingkai kunci tidak dapat digunakan bersama mode penyuntingan video. Kemampuan xAI tersebut tidak berarti tersedia dalam generasi Ailoot dari teks yang dipublikasikan.\n\n### Audio dan suara\n\nVideo yang dibuat secara default memiliki trek audio; hasil tanpa suara juga tersedia. Dalam mode xAI dengan referensi suara, hingga **3 suara preset** dapat dipilih dan dihubungkan dengan peserta adegan yang berbicara.\n\nPengiriman berkas audio sendiri sebagai contoh suara bukan kemampuan umum model ini: xAI menyediakannya secara terpisah berdasarkan permintaan. Suara preset dan audio yang diunggah merupakan jenis masukan berbeda.\n\n### Mode kerja\n\nGenerasi teks membuat adegan baru; gambar awal menentukan awalnya; referensi mengarahkan penampilan; bingkai yang ditetapkan menentukan titik visual dalam waktu. Setiap mode memiliki batas sendiri, sehingga pengaturan satu cara tidak dapat diterapkan tanpa syarat pada cara lainnya.",
    "alias_of": null,
    "aliases": [],
    "author": "xAI",
    "ctx": null,
    "formats": [
      "videos"
    ],
    "id": "grok-imagine-video-1.5-preview",
    "input": [
      "text"
    ],
    "kind": "video",
    "max_out": null,
    "methods": [
      {
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "cache_write_5m": null,
        "conditional_meter": null,
        "contract": {
          "data": {
            "all_results": "Retain fullstatusJSON and actualrequest_id. Completedstatusdone carriesvideo.url withowned signedcontent; retain the actualduration andallactualreturnedresultfields.",
            "errors": [
              {
                "code": null,
                "condition": "Bidang wajib, representasi materi, atau nilai parameter tidak valid",
                "http_status": 400,
                "recovery": "Perbaiki bidang yang ditunjukkan sebelum permintaan pembuatan baru.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Konten hasil awal belum tersedia",
                "http_status": 409,
                "recovery": "Periksa ID awal yang dikembalikan secara berkala dan patuhi Retry-After.",
                "type": "video_not_ready"
              },
              {
                "code": null,
                "condition": "Respons yang dikembalikan menyatakan bahwa operasi atau hasil perlu diperiksa",
                "http_status": null,
                "recovery": "Simpan ID operasi/tugas asli yang dikembalikan, header permintaan, dan respons; lanjutkan pembacaan yang didukung untuk operasi asli tersebut. Jangan kirim ulang permintaan pembuatan.",
                "type": "server_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "all_results": "Follow everyactualreturnedoutputandownedasset; no result is discardedbecauseindex0orcontent_urlalreadyexists.",
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}/content",
                  "query": {
                    "index": "actual output index; default0"
                  }
                },
                {
                  "http": "GET",
                  "path": "/v1/videos/generations/{request_id}/content"
                }
              ],
              "create": {
                "http": "POST",
                "path": "/v1/videos/generations"
              },
              "id_source": "Actualreturnedpublicid; opaque URLencodeit forGET",
              "mode": "submit_once_poll_original",
              "multioutputs": "retain every completed data output; index0 alone is not all outputs",
              "operation_id_is_not_task_id": true,
              "owned_result": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              },
              "status": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}"
                },
                {
                  "http": "GET",
                  "path": "/v1/videos/generations/{request_id}"
                }
              ],
              "submit_status": 202,
              "unknown": "Baca tugas awal yang sudah ada; jangan pernah kirim ulang pengiriman yang statusnya tidak diketahui.",
              "unknown_no_replay": true
            },
            "material_combinations": [
              {
                "mode": "text_to_video",
                "required": [
                  "prompt"
                ]
              },
              {
                "mode": "image_to_video",
                "optional": [
                  "prompt"
                ],
                "required": [
                  "image"
                ]
              }
            ],
            "media_library": {
              "asset": {
                "fields": [
                  {
                    "description": null,
                    "name": "asset_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "task_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "output_key",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "family",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "model",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "method",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "status",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "content_type",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "sha256",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "size_bytes",
                    "type": "integer"
                  },
                  {
                    "description": null,
                    "name": "content_url",
                    "type": "string"
                  }
                ],
                "http": "GET",
                "id_source": "actual returned asset_id",
                "path": "/v1/media/assets/{asset_id}"
              },
              "content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "range_header_supported": true,
                "url_source": "Use exact returned signed content_url including its token; do not construct a token."
              },
              "expired_link": {
                "code": "link_expired",
                "http_status": 404,
                "recovery": "Read the asset again to obtain its refreshed signed content_url, then fetch that URL. Do not regenerate."
              },
              "list": {
                "all_pages": "Follow every returned next_cursor, then select records by their actual task_id/output_key.",
                "http": "GET",
                "output_fields": [
                  {
                    "description": null,
                    "name": "object",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "data",
                    "type": "asset[]"
                  },
                  {
                    "description": null,
                    "name": "next_cursor",
                    "type": "string|null"
                  }
                ],
                "parameters": [
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "family",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "cursor",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": 20,
                    "default_known": true,
                    "enum": null,
                    "enum_known": false,
                    "maximum": 100,
                    "minimum": 1,
                    "name": "limit",
                    "required": false,
                    "type": "integer"
                  }
                ],
                "path": "/v1/media/assets"
              },
              "revoke": {
                "http": "DELETE",
                "meaning": "Revokes/deletes the existing owned file; this is not generation cancellation.",
                "path": "/v1/media/assets/{asset_id}",
                "pending_status": "revoking",
                "success_statuses": [
                  202,
                  204
                ]
              },
              "task": {
                "http": "GET",
                "id_source": "actual returned task_id or media library record; operation_id is not task_id",
                "path": "/v1/media/tasks/{task_id}"
              }
            },
            "operation_modes": [
              "videos"
            ],
            "outputs": {
              "all_results": "Simpan JSON status secara utuh dan request_id aktual. Respons yang selesai dengan status=done memuat video.url dengan URL konten milik Ailoot. Pertahankan durasi yang dilaporkan dan setiap bidang hasil yang dikembalikan.",
              "create_status": 202,
              "family": "video",
              "fields": [
                {
                  "description": null,
                  "name": "request_id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "status",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "video.url",
                  "type": "owned signed content URL"
                },
                {
                  "description": null,
                  "name": "video.duration",
                  "type": "number"
                },
                {
                  "description": null,
                  "name": "video.respect_moderation",
                  "type": "boolean"
                }
              ],
              "format": "mp4"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "grok-imagine-video-1.5-preview"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_length": 1,
                "name": "prompt",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "Jangan berikan duration dan seconds sekaligus",
                "default": 1,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "maximum": 15,
                "minimum": 1,
                "name": "duration",
                "required": false,
                "type": "integer",
                "unit": "detik"
              },
              {
                "alternative": "duration",
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum": 15,
                "minimum": 1,
                "name": "seconds",
                "required": false,
                "type": "integer|integer_string"
              },
              {
                "availability": "source_interface",
                "default": "480p",
                "default_known": true,
                "enum": [
                  "480p",
                  "720p",
                  "1080p"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "Jika gambar masukan diberikan dan rasio dihilangkan, penyedia mewarisi rasio aspek gambar",
                "default": "16:9",
                "default_known": true,
                "enum": [
                  "1:1",
                  "16:9",
                  "9:16",
                  "4:3",
                  "3:4",
                  "3:2",
                  "2:3"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "Harus sesuai dengan resolution/aspect_ratio jika keduanya ditentukan",
                "default": null,
                "default_known": false,
                "enum": [
                  "1280x720",
                  "720x1280",
                  "1920x1080",
                  "1080x1920"
                ],
                "enum_known": true,
                "name": "size",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "Gambar masukan aktual yang didukung; memungkinkan prompt dihilangkan",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "image",
                "required": false,
                "type": "object"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "mask",
              "input_reference",
              "stream=true",
              "n/countotherthan1"
            ]
          },
          "hints": [
            "Struktur metode dan ID bersifat eksak; kemampuan pemasok terpisah dari penerimaan permintaan."
          ],
          "input": {
            "material_types": [
              "text"
            ],
            "optional_controls": null,
            "required": null
          },
          "lifecycle": {
            "content": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}/content",
                "query": {
                  "index": "actual output index; default0"
                }
              },
              {
                "http": "GET",
                "path": "/v1/videos/generations/{request_id}/content"
              }
            ],
            "id_source": "only actual ID/path from creation/status",
            "mode": "submit_once_poll_original",
            "multioutputs": "retain every completed data output; index0 alone is not all outputs",
            "owned_result": {
              "http": "GET",
              "path": "/v1/media/assets/{asset_id}"
            },
            "status": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}"
              },
              {
                "http": "GET",
                "path": "/v1/videos/generations/{request_id}"
              }
            ],
            "submit_status": 202,
            "unknown": "Read existing original job; never resubmit unknown send."
          },
          "method": {
            "http": "POST",
            "path": "/v1/videos/generations"
          },
          "operation_modes": [
            "videos"
          ],
          "output": {
            "family": [
              "video"
            ],
            "format": null,
            "multioutputs": "retain every actual response output"
          }
        },
        "ctx": null,
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl https://api.ailoot.ai/v1/videos/generations \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"model\": \"grok-imagine-video-1.5-preview\", \"prompt\": \"A person walks slowly through a quiet garden as the camera tracks from the side.\"}'",
            "label": "Create video · retained exact shape",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_VIDEO_ID:?Set the actual Ailoot operation ID returned by creation}\"\nexport AILOOT_VIDEO_ID\nvideo_id=$(python3 -c 'import os, urllib.parse; print(urllib.parse.quote(os.environ[\"AILOOT_VIDEO_ID\"], safe=\"\"))') || exit 1\ncurl \"https://api.ailoot.ai/v1/videos/generations/$video_id\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\"",
            "label": "GET status",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_VIDEO_ID:?Set the actual Ailoot operation ID returned by creation}\"\nexport AILOOT_VIDEO_ID\nvideo_id=$(python3 -c 'import os, urllib.parse; print(urllib.parse.quote(os.environ[\"AILOOT_VIDEO_ID\"], safe=\"\"))') || exit 1\ncurl \"https://api.ailoot.ai/v1/videos/generations/$video_id/content\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" \\\n  --output video.mp4",
            "label": "GET content",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": null,
        "input": [
          "text"
        ],
        "label": "Pemrosesan video",
        "max_out": null,
        "max_tool_calls": null,
        "out": null,
        "output": [
          "video"
        ],
        "path": "/v1/videos/generations",
        "pricing_profiles": [
          {
            "dimensions": {},
            "label": "Core",
            "units": [
              {
                "amount": 0.01,
                "amount_unit": "usd_per_display_unit",
                "key": "image_input",
                "label": "per input image",
                "side": "in"
              },
              {
                "amount": 0.25,
                "amount_unit": "usd_per_display_unit",
                "key": "video_output_1080p_second",
                "label": "per second at 1080p",
                "side": "out"
              },
              {
                "amount": 0.08,
                "amount_unit": "usd_per_display_unit",
                "key": "video_output_480p_second",
                "label": "per second at 480p",
                "side": "out"
              },
              {
                "amount": 0.14,
                "amount_unit": "usd_per_display_unit",
                "key": "video_output_720p_second",
                "label": "per second at 720p",
                "side": "out"
              }
            ]
          }
        ],
        "request_model_id": "grok-imagine-video-1.5-preview",
        "route_label": "Core",
        "status_reads": [
          "GET /v1/videos/generations/{request_id}",
          "GET /v1/videos/generations/{request_id}/content"
        ],
        "tiers": [],
        "tool_prices": null,
        "unit": "conditional",
        "units": [
          {
            "key": "image_input",
            "label": "per input image",
            "side": "in",
            "usd": 0.01
          },
          {
            "key": "video_output_1080p_second",
            "label": "per second at 1080p",
            "side": "out",
            "usd": 0.25
          },
          {
            "key": "video_output_480p_second",
            "label": "per second at 480p",
            "side": "out",
            "usd": 0.08
          },
          {
            "key": "video_output_720p_second",
            "label": "per second at 720p",
            "side": "out",
            "usd": 0.14
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "grok-imagine-video-1.5-preview",
        "request_model_id": "grok-imagine-video-1.5-preview",
        "route_label": "Core"
      }
    ],
    "name": "grok-imagine-video-1.5-preview",
    "price": {
      "in": 0.01,
      "in_label": "per input image",
      "out": 0.08,
      "out_label": "per second at 480p",
      "sort_in": null,
      "sort_out": null,
      "varies": false
    },
    "short": "Grok Imagine Video 1.5 membuat video dari teks berdurasi 1–15 detik, termasuk 1080p. Model itu sendiri mendukung animasi gambar, referensi visual, penetapan bingkai kunci, dan trek audio."
  },
  "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": "Grok Imagine Video 1.5 membuat video dari teks berdurasi 1–15 detik, termasuk 1080p. Model itu sendiri mendukung animasi gambar, referensi visual, penetapan bingkai kunci, dan trek audio.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "32614b84f346c811aac2aaa115f9c3959ccda44b5d4b492ea012f8c6e2d479ff",
    "renderer_sha256": "2a0471475a29000c23db326ca1e315df73dee7524f6bc2907818ee3458813f2d"
  },
  "sourceRevision": "d041bb0bdb2cb3ee53404803a1f8a17dd5d2cb9fcd4bda23af7c38a93bb2da42"
}
