{
  "aboutHtml": "<p>Seedream 5.0 Pro adalah model pembuatan gambar multimodal ByteDance Seed untuk pekerjaan visual profesional. Model ini menggabungkan pembuatan gambar baru dengan penyuntingan berbasis referensi, dengan perhatian pada struktur desain sekaligus tampilannya. Pengembang mengelompokkan edisi ini ke dalam empat kekuatan: grafis informasi padat, penyuntingan interaktif, citra realistis, dan pembuatan multibahasa native. Antarmuka pembuatan yang didokumentasikan mengembalikan satu gambar jadi; urutan gambar yang saling terkait, pencarian, dan keluaran streaming merupakan bagian dari alur edisi lain. Optimasi prompt menawarkan mode standard dan fast, dengan fast mengorbankan sebagian kualitas untuk mengurangi waktu pembuatan.</p><p>Informasi kompleks dalam satu gambar Pro dapat mengubah arahan yang panjang menjadi infografik, poster, atau konsep antarmuka visual. Siapkan isi faktual sebelum instruksi gaya: label, nilai, hubungan, dan urutan pembacaan informasi yang sudah disetujui. Lalu tentukan komposisi, titik fokus utama, tipografi, dan ilustrasi pendukung. Untuk tampilan museum, berikan judul pameran dan tiga deskripsi yang disetujui, minta satu ilustrasi di samping setiap deskripsi, dan tentukan judul yang harus dominan. Periksa hierarki serta kata-kata akhir terhadap arahan, terutama teks pendukung yang lebih kecil.</p><p>Keluaran seperti ini berguna untuk visual pembelajaran, penjelasan teknis, ilustrasi presentasi, dan eksplorasi awal tata letak produk. Gambar antarmuka yang dihasilkan membantu menyampaikan ide visual; pertahankan kontrol dan teks aktual dalam sumber desain yang dapat disunting jika ide tersebut akan dikembangkan menjadi produk yang berfungsi. Untuk infografik, simpan tabel atau catatan asli bersama gambar agar desainer dapat memverifikasi dan memperbaiki fakta satu per satu.</p><p>Panduan spasial untuk perubahan lokal Penyuntingan interaktif menambahkan informasi lokasi pada instruksi. Tandai atau pilih wilayah yang relevan, jelaskan perubahan, dan tentukan unsur sekitarnya yang harus tetap ada. Pengembang menjelaskan titik, seleksi lasso atau kotak, dan sketsa sebagai cara menyampaikan posisi. Untuk konsep interior, tandai hanya kursi dan minta bahan berbeda sambil mempertahankan kamera, lantai, dinding, serta bayangan di dekatnya. Untuk foto produk, tentukan wilayah label alih-alih meminta desain ulang seluruh objek secara luas.</p><p>Kemampuan penyuntingan Pro mencakup penggantian warna dan bahan, penambahan atau penghapusan objek, rendering dari sketsa, dan penggabungan elemen dari beberapa referensi. Beri setiap referensi sebuah peran: komposisi dasar, objek pengganti, bahan, atau palet. Misalnya, berikan sebuah ruangan, contoh kain, dan referensi kursi, lalu minta kursi di lokasi yang ditandai dengan kain tersebut diterapkan. Bandingkan hasil dengan setiap referensi, dengan perhatian pada skala, titik sambungan, dan pencahayaan. Saat menggunakan sketsa kasar, beri label pada wilayah dan beri tahu model apakah tanda gambar harus tetap ada dalam gambar akhir.</p><p>Memisahkan dan menyusun ulang elemen visual Pengembang menunjukkan pemisahan gambar menjadi lapisan independen, dengan elemen transparan dan isi latar yang dipulihkan. Hal ini berguna untuk komposisi yang memerlukan penataan ulang lanjutan: tentukan judul, subjek utama, dan dekorasi yang akan dipisahkan, lalu periksa setiap elemen hasilnya dalam alat desain. Simpan gambar dasar untuk perbandingan. Periksa tepi, detail yang hilang, dan wilayah latar yang tertutup subjek asli sebelum memindahkan atau mengganti elemen. Pemisahan lapisan adalah alur pemrosesan gambar tersendiri; meminta beberapa gambar jadi yang tidak saling terkait merupakan tugas berbeda. Pada alur lapisan pengembang, diperlukan satu gambar JPEG atau PNG: hingga 30 MB, 262,144–36,000,000 piksel, dan rasio aspek 1:16–16:1. Hasilnya berisi gambar dasar dan hingga 16 lapisan PNG dengan alpha, beserta nama, deskripsi, urutan penumpukan, dan kotak penempatan setiap lapisan. Ukuran lapisan menggunakan 1K, 1.5K, 2K, atau pengaturan otomatis yang mempertahankan rasio aspek sumber.</p><p>Cahaya, bahan, dan potret realistis Pro menekankan citra fotografis dan buatan komputer, termasuk pencahayaan, perilaku permukaan, dan tekstur kulit. Arahan yang berguna menjelaskan adegan fisik, bukan hanya mengandalkan kata sifat: subjek, posisi kamera, cahaya utama, latar, dan bahan yang harus memantulkan atau meneruskan cahaya. Untuk konsep furnitur, tentukan apakah rangkanya berupa logam bertekstur sikat, kaca bening, atau kayu bercat, lalu jelaskan pencahayaannya. Untuk penyuntingan potret, uraikan perubahan yang diinginkan dan pertahankan ciri wajah serta pose yang penting. Periksa kulit, tangan, pantulan, dan tepi antar bahan pada ukuran tampilan akhir. Pilihan latar transparan produsen berlaku untuk penyuntingan gambar dengan tepat satu masukan yang sudah memiliki kanal alpha; keluaran transparan harus berupa PNG. Pilihan ini terpisah dari pembuatan gambar biasa yang tidak transparan.</p><p>Visual multibahasa Model mendukung prompt native dan teks yang dirender dalam beberapa bahasa yang banyak digunakan, termasuk bahasa Mandarin, Inggris, Prancis, Jerman, Rusia, Jepang, Korea, Spanyol, dan Arab. Berikan kata-kata persis yang sudah disetujui, tentukan bahasa dan arah baca, serta tandai wilayah yang memuat teks. Untuk poster yang dilokalkan, jaga konsistensi tata letak dan gambar sambil memberikan judul serta teks pendukung secara terpisah. Minta pembaca bahasa tersebut memeriksa hasil, termasuk aksen, karakter bersambung, pemenggalan baris, dan label kecil.</p><p>Menyiapkan hasil yang berguna Mulai dari gambar yang dituju: grafis padat data, poster yang dilokalkan, konsep visual, atau gambar sumber yang direvisi secara presisi. Berikan isi dan referensi yang dibutuhkan untuk pekerjaan spesifik tersebut, lalu bandingkan hasil dengan aset sumber serta perubahan yang diminta. Alur pembuatan produsen menerima hingga 10 referensi dalam format JPEG, PNG, WebP, BMP, TIFF, GIF, HEIC, atau HEIF, hingga 30 MB masing-masing, dengan kedua sisi di atas 14 piksel, total 196–36,000,000 piksel, dan rasio aspek dari 1:16 hingga 16:1. Alur ini mengembalikan JPEG atau PNG, dengan pilihan keluaran 1K, 1.5K, dan 2K serta 2K sebagai bawaan; dimensi khusus memerlukan total 921,600–4,624,220 piksel dan rentang rasio yang sama. Hasil gambar dapat berupa data terenkode atau tautan unduhan yang kedaluwarsa dalam 24 jam. Produsen menyebut rendering teks berukuran kecil dan konsistensi penyuntingan tingkat piksel sebagai bidang yang terus ditingkatkan. Tinjau label padat dan wilayah yang seharusnya tidak berubah dengan cermat, meskipun komposisi keseluruhannya tampak meyakinkan.</p>",
  "aboutText": "Seedream 5.0 Pro adalah model pembuatan gambar multimodal ByteDance Seed untuk pekerjaan visual profesional. Model ini menggabungkan pembuatan gambar baru dengan penyuntingan berbasis referensi, dengan perhatian pada struktur desain sekaligus tampilannya. Pengembang mengelompokkan edisi ini ke dalam empat kekuatan: grafis informasi padat, penyuntingan interaktif, citra realistis, dan pembuatan multibahasa native. Antarmuka pembuatan yang didokumentasikan mengembalikan satu gambar jadi; urutan gambar yang saling terkait, pencarian, dan keluaran streaming merupakan bagian dari alur edisi lain. Optimasi prompt menawarkan mode standard dan fast, dengan fast mengorbankan sebagian kualitas untuk mengurangi waktu pembuatan.\n\nInformasi kompleks dalam satu gambar\nPro dapat mengubah arahan yang panjang menjadi infografik, poster, atau konsep antarmuka visual. Siapkan isi faktual sebelum instruksi gaya: label, nilai, hubungan, dan urutan pembacaan informasi yang sudah disetujui. Lalu tentukan komposisi, titik fokus utama, tipografi, dan ilustrasi pendukung. Untuk tampilan museum, berikan judul pameran dan tiga deskripsi yang disetujui, minta satu ilustrasi di samping setiap deskripsi, dan tentukan judul yang harus dominan. Periksa hierarki serta kata-kata akhir terhadap arahan, terutama teks pendukung yang lebih kecil.\n\nKeluaran seperti ini berguna untuk visual pembelajaran, penjelasan teknis, ilustrasi presentasi, dan eksplorasi awal tata letak produk. Gambar antarmuka yang dihasilkan membantu menyampaikan ide visual; pertahankan kontrol dan teks aktual dalam sumber desain yang dapat disunting jika ide tersebut akan dikembangkan menjadi produk yang berfungsi. Untuk infografik, simpan tabel atau catatan asli bersama gambar agar desainer dapat memverifikasi dan memperbaiki fakta satu per satu.\n\nPanduan spasial untuk perubahan lokal\nPenyuntingan interaktif menambahkan informasi lokasi pada instruksi. Tandai atau pilih wilayah yang relevan, jelaskan perubahan, dan tentukan unsur sekitarnya yang harus tetap ada. Pengembang menjelaskan titik, seleksi lasso atau kotak, dan sketsa sebagai cara menyampaikan posisi. Untuk konsep interior, tandai hanya kursi dan minta bahan berbeda sambil mempertahankan kamera, lantai, dinding, serta bayangan di dekatnya. Untuk foto produk, tentukan wilayah label alih-alih meminta desain ulang seluruh objek secara luas.\n\nKemampuan penyuntingan Pro mencakup penggantian warna dan bahan, penambahan atau penghapusan objek, rendering dari sketsa, dan penggabungan elemen dari beberapa referensi. Beri setiap referensi sebuah peran: komposisi dasar, objek pengganti, bahan, atau palet. Misalnya, berikan sebuah ruangan, contoh kain, dan referensi kursi, lalu minta kursi di lokasi yang ditandai dengan kain tersebut diterapkan. Bandingkan hasil dengan setiap referensi, dengan perhatian pada skala, titik sambungan, dan pencahayaan. Saat menggunakan sketsa kasar, beri label pada wilayah dan beri tahu model apakah tanda gambar harus tetap ada dalam gambar akhir.\n\nMemisahkan dan menyusun ulang elemen visual\nPengembang menunjukkan pemisahan gambar menjadi lapisan independen, dengan elemen transparan dan isi latar yang dipulihkan. Hal ini berguna untuk komposisi yang memerlukan penataan ulang lanjutan: tentukan judul, subjek utama, dan dekorasi yang akan dipisahkan, lalu periksa setiap elemen hasilnya dalam alat desain. Simpan gambar dasar untuk perbandingan. Periksa tepi, detail yang hilang, dan wilayah latar yang tertutup subjek asli sebelum memindahkan atau mengganti elemen. Pemisahan lapisan adalah alur pemrosesan gambar tersendiri; meminta beberapa gambar jadi yang tidak saling terkait merupakan tugas berbeda. Pada alur lapisan pengembang, diperlukan satu gambar JPEG atau PNG: hingga 30 MB, 262,144–36,000,000 piksel, dan rasio aspek 1:16–16:1. Hasilnya berisi gambar dasar dan hingga 16 lapisan PNG dengan alpha, beserta nama, deskripsi, urutan penumpukan, dan kotak penempatan setiap lapisan. Ukuran lapisan menggunakan 1K, 1.5K, 2K, atau pengaturan otomatis yang mempertahankan rasio aspek sumber.\n\nCahaya, bahan, dan potret realistis\nPro menekankan citra fotografis dan buatan komputer, termasuk pencahayaan, perilaku permukaan, dan tekstur kulit. Arahan yang berguna menjelaskan adegan fisik, bukan hanya mengandalkan kata sifat: subjek, posisi kamera, cahaya utama, latar, dan bahan yang harus memantulkan atau meneruskan cahaya. Untuk konsep furnitur, tentukan apakah rangkanya berupa logam bertekstur sikat, kaca bening, atau kayu bercat, lalu jelaskan pencahayaannya. Untuk penyuntingan potret, uraikan perubahan yang diinginkan dan pertahankan ciri wajah serta pose yang penting. Periksa kulit, tangan, pantulan, dan tepi antar bahan pada ukuran tampilan akhir. Pilihan latar transparan produsen berlaku untuk penyuntingan gambar dengan tepat satu masukan yang sudah memiliki kanal alpha; keluaran transparan harus berupa PNG. Pilihan ini terpisah dari pembuatan gambar biasa yang tidak transparan.\n\nVisual multibahasa\nModel mendukung prompt native dan teks yang dirender dalam beberapa bahasa yang banyak digunakan, termasuk bahasa Mandarin, Inggris, Prancis, Jerman, Rusia, Jepang, Korea, Spanyol, dan Arab. Berikan kata-kata persis yang sudah disetujui, tentukan bahasa dan arah baca, serta tandai wilayah yang memuat teks. Untuk poster yang dilokalkan, jaga konsistensi tata letak dan gambar sambil memberikan judul serta teks pendukung secara terpisah. Minta pembaca bahasa tersebut memeriksa hasil, termasuk aksen, karakter bersambung, pemenggalan baris, dan label kecil.\n\nMenyiapkan hasil yang berguna\nMulai dari gambar yang dituju: grafis padat data, poster yang dilokalkan, konsep visual, atau gambar sumber yang direvisi secara presisi. Berikan isi dan referensi yang dibutuhkan untuk pekerjaan spesifik tersebut, lalu bandingkan hasil dengan aset sumber serta perubahan yang diminta. Alur pembuatan produsen menerima hingga 10 referensi dalam format JPEG, PNG, WebP, BMP, TIFF, GIF, HEIC, atau HEIF, hingga 30 MB masing-masing, dengan kedua sisi di atas 14 piksel, total 196–36,000,000 piksel, dan rasio aspek dari 1:16 hingga 16:1. Alur ini mengembalikan JPEG atau PNG, dengan pilihan keluaran 1K, 1.5K, dan 2K serta 2K sebagai bawaan; dimensi khusus memerlukan total 921,600–4,624,220 piksel dan rentang rasio yang sama. Hasil gambar dapat berupa data terenkode atau tautan unduhan yang kedaluwarsa dalam 24 jam. Produsen menyebut rendering teks berukuran kecil dan konsistensi penyuntingan tingkat piksel sebagai bidang yang terus ditingkatkan. Tinjau label padat dan wilayah yang seharusnya tidak berubah dengan cermat, meskipun komposisi keseluruhannya tampak meyakinkan.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "c7b88364ba8abb7d979e9db310aa15cd2dd040a3e098e80c99377db06c70fc88",
    "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\">ByteDance Seed: Seedream 5.0 Pro</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Tutup\">×</button></div><div class=\"idline\"><span>ByteDance Seed /</span><code>bytedance-seed/seedream-5-0-pro</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|images|/v1/images/generations|bytedance-seed%2Fseedream-5-0-pro\">Gambar</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\">Seedream 5.0 Pro membuat dan menyunting gambar dengan tata letak infografik padat, perubahan lokal berpanduan ruang, pemisahan lapisan, serta tekstur fotografis realistis. Generasi multibahasa bawaannya mendukung poster yang dilokalkan dan konsep desain dengan banyak teks dalam gambar.</p><dl class=\"card-io\" data-card-io><div><dt>Masukan yang diterima</dt><dd>Teks · Gambar</dd></div><div><dt>Hasil</dt><dd>Gambar</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>Seedream 5.0 Pro adalah model pembuatan gambar multimodal ByteDance Seed untuk pekerjaan visual profesional. Model ini menggabungkan pembuatan gambar baru dengan penyuntingan berbasis referensi, dengan perhatian pada struktur desain sekaligus tampilannya. Pengembang mengelompokkan edisi ini ke dalam empat kekuatan: grafis informasi padat, penyuntingan interaktif, citra realistis, dan pembuatan multibahasa native. Antarmuka pembuatan yang didokumentasikan mengembalikan satu gambar jadi; urutan gambar yang saling terkait, pencarian, dan keluaran streaming merupakan bagian dari alur edisi lain. Optimasi prompt menawarkan mode standard dan fast, dengan fast mengorbankan sebagian kualitas untuk mengurangi waktu pembuatan.</p><p>Informasi kompleks dalam satu gambar Pro dapat mengubah arahan yang panjang menjadi infografik, poster, atau konsep antarmuka visual. Siapkan isi faktual sebelum instruksi gaya: label, nilai, hubungan, dan urutan pembacaan informasi yang sudah disetujui. Lalu tentukan komposisi, titik fokus utama, tipografi, dan ilustrasi pendukung. Untuk tampilan museum, berikan judul pameran dan tiga deskripsi yang disetujui, minta satu ilustrasi di samping setiap deskripsi, dan tentukan judul yang harus dominan. Periksa hierarki serta kata-kata akhir terhadap arahan, terutama teks pendukung yang lebih kecil.</p><p>Keluaran seperti ini berguna untuk visual pembelajaran, penjelasan teknis, ilustrasi presentasi, dan eksplorasi awal tata letak produk. Gambar antarmuka yang dihasilkan membantu menyampaikan ide visual; pertahankan kontrol dan teks aktual dalam sumber desain yang dapat disunting jika ide tersebut akan dikembangkan menjadi produk yang berfungsi. Untuk infografik, simpan tabel atau catatan asli bersama gambar agar desainer dapat memverifikasi dan memperbaiki fakta satu per satu.</p><p>Panduan spasial untuk perubahan lokal Penyuntingan interaktif menambahkan informasi lokasi pada instruksi. Tandai atau pilih wilayah yang relevan, jelaskan perubahan, dan tentukan unsur sekitarnya yang harus tetap ada. Pengembang menjelaskan titik, seleksi lasso atau kotak, dan sketsa sebagai cara menyampaikan posisi. Untuk konsep interior, tandai hanya kursi dan minta bahan berbeda sambil mempertahankan kamera, lantai, dinding, serta bayangan di dekatnya. Untuk foto produk, tentukan wilayah label alih-alih meminta desain ulang seluruh objek secara luas.</p><p>Kemampuan penyuntingan Pro mencakup penggantian warna dan bahan, penambahan atau penghapusan objek, rendering dari sketsa, dan penggabungan elemen dari beberapa referensi. Beri setiap referensi sebuah peran: komposisi dasar, objek pengganti, bahan, atau palet. Misalnya, berikan sebuah ruangan, contoh kain, dan referensi kursi, lalu minta kursi di lokasi yang ditandai dengan kain tersebut diterapkan. Bandingkan hasil dengan setiap referensi, dengan perhatian pada skala, titik sambungan, dan pencahayaan. Saat menggunakan sketsa kasar, beri label pada wilayah dan beri tahu model apakah tanda gambar harus tetap ada dalam gambar akhir.</p><p>Memisahkan dan menyusun ulang elemen visual Pengembang menunjukkan pemisahan gambar menjadi lapisan independen, dengan elemen transparan dan isi latar yang dipulihkan. Hal ini berguna untuk komposisi yang memerlukan penataan ulang lanjutan: tentukan judul, subjek utama, dan dekorasi yang akan dipisahkan, lalu periksa setiap elemen hasilnya dalam alat desain. Simpan gambar dasar untuk perbandingan. Periksa tepi, detail yang hilang, dan wilayah latar yang tertutup subjek asli sebelum memindahkan atau mengganti elemen. Pemisahan lapisan adalah alur pemrosesan gambar tersendiri; meminta beberapa gambar jadi yang tidak saling terkait merupakan tugas berbeda. Pada alur lapisan pengembang, diperlukan satu gambar JPEG atau PNG: hingga 30 MB, 262,144–36,000,000 piksel, dan rasio aspek 1:16–16:1. Hasilnya berisi gambar dasar dan hingga 16 lapisan PNG dengan alpha, beserta nama, deskripsi, urutan penumpukan, dan kotak penempatan setiap lapisan. Ukuran lapisan menggunakan 1K, 1.5K, 2K, atau pengaturan otomatis yang mempertahankan rasio aspek sumber.</p><p>Cahaya, bahan, dan potret realistis Pro menekankan citra fotografis dan buatan komputer, termasuk pencahayaan, perilaku permukaan, dan tekstur kulit. Arahan yang berguna menjelaskan adegan fisik, bukan hanya mengandalkan kata sifat: subjek, posisi kamera, cahaya utama, latar, dan bahan yang harus memantulkan atau meneruskan cahaya. Untuk konsep furnitur, tentukan apakah rangkanya berupa logam bertekstur sikat, kaca bening, atau kayu bercat, lalu jelaskan pencahayaannya. Untuk penyuntingan potret, uraikan perubahan yang diinginkan dan pertahankan ciri wajah serta pose yang penting. Periksa kulit, tangan, pantulan, dan tepi antar bahan pada ukuran tampilan akhir. Pilihan latar transparan produsen berlaku untuk penyuntingan gambar dengan tepat satu masukan yang sudah memiliki kanal alpha; keluaran transparan harus berupa PNG. Pilihan ini terpisah dari pembuatan gambar biasa yang tidak transparan.</p><p>Visual multibahasa Model mendukung prompt native dan teks yang dirender dalam beberapa bahasa yang banyak digunakan, termasuk bahasa Mandarin, Inggris, Prancis, Jerman, Rusia, Jepang, Korea, Spanyol, dan Arab. Berikan kata-kata persis yang sudah disetujui, tentukan bahasa dan arah baca, serta tandai wilayah yang memuat teks. Untuk poster yang dilokalkan, jaga konsistensi tata letak dan gambar sambil memberikan judul serta teks pendukung secara terpisah. Minta pembaca bahasa tersebut memeriksa hasil, termasuk aksen, karakter bersambung, pemenggalan baris, dan label kecil.</p><p>Menyiapkan hasil yang berguna Mulai dari gambar yang dituju: grafis padat data, poster yang dilokalkan, konsep visual, atau gambar sumber yang direvisi secara presisi. Berikan isi dan referensi yang dibutuhkan untuk pekerjaan spesifik tersebut, lalu bandingkan hasil dengan aset sumber serta perubahan yang diminta. Alur pembuatan produsen menerima hingga 10 referensi dalam format JPEG, PNG, WebP, BMP, TIFF, GIF, HEIC, atau HEIF, hingga 30 MB masing-masing, dengan kedua sisi di atas 14 piksel, total 196–36,000,000 piksel, dan rasio aspek dari 1:16 hingga 16:1. Alur ini mengembalikan JPEG atau PNG, dengan pilihan keluaran 1K, 1.5K, dan 2K serta 2K sebagai bawaan; dimensi khusus memerlukan total 921,600–4,624,220 piksel dan rentang rasio yang sama. Hasil gambar dapat berupa data terenkode atau tautan unduhan yang kedaluwarsa dalam 24 jam. Produsen menyebut rendering teks berukuran kecil dan konsistensi penyuntingan tingkat piksel sebagai bidang yang terus ditingkatkan. Tinjau label padat dan wilayah yang seharusnya tidak berubah dengan cermat, meskipun komposisi keseluruhannya tampak meyakinkan.</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 · Gambar</b> <code>POST /v1/images/generations</code></summary><dl class=\"method-capabilities\"><div><dt>Masukan</dt><dd><code>text</code>, <code>image</code></dd></div><div><dt>Keluaran</dt><dd><code>image</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>bytedance-seed/seedream-5-0-pro</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><tr><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>1K, 2K</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\">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, 1:2, 2:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 9:19.5, 19.5:9, 9:20, 20:9, 9:21, 21:9, auto</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\">n</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: 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\">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>Opsional</td><td data-cell-label=\"Nilai &amp; batasan\"><span class=\"card-cell-label\">Nilai &amp; batasan</span><div>Item minimum: 0</div><div>Item maksimum: 14</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\">provider</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></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, 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</td></tr></tbody></table></div><p>Siklus hidup: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · task_id aktual yang dikembalikan atau catatan pustaka media</p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}/content</code></p><p class=\"note-s\"><code>GET /v1/media/assets</code></p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}</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.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Konfigurasi</th><th>Jadwal tarif</th><th>Jumlah perkiraan</th><th>Satuan penagihan</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=\"Satuan penagihan\"><span class=\"card-cell-label\">Satuan penagihan</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>gambar masukan</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=\"Satuan penagihan\"><span class=\"card-cell-label\">Satuan penagihan</span>per gambar masukan</td><td data-cell-label=\"Biaya\"><span class=\"card-cell-label\">Biaya</span><div><span>Masukan · gambar masukan · Perkiraan hanya untuk perbandingan</span> <b>$0.006</b> <span class=\"price-unit\">per gambar masukan</span></div></td></tr><tr><th data-cell-label=\"Konfigurasi\" scope=\"row\"><span class=\"card-cell-label\">Konfigurasi</span>gambar keluaran</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=\"Satuan penagihan\"><span class=\"card-cell-label\">Satuan penagihan</span>per gambar keluaran</td><td data-cell-label=\"Biaya\"><span class=\"card-cell-label\">Biaya</span><div><span>Keluaran · gambar keluaran · Perkiraan hanya untuk perbandingan</span> <b>$0.09</b> <span class=\"price-unit\">per gambar keluaran</span></div></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=\"Satuan penagihan\"><span class=\"card-cell-label\">Satuan penagihan</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.09</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 · Gambar</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-1126-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1126-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl</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-1126-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1126-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\nexport AILOOT_API_KEY\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np={&#39;model&#39;: &#39;bytedance-seed/seedream-5-0-pro&#39;, &#39;prompt&#39;: &#39;a red panda astronaut floating in space, studio lighting&#39;}\n\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \\\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 result.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport base64, json, os, subprocess\nfrom pathlib import Path\nfrom urllib.parse import urlsplit, urljoin\n\ndef save_images(items):\n    if not items: raise SystemExit(&quot;No completed images; retain the full response&quot;)\n    for index, item in enumerate(items):\n        encoded=item.get(&quot;b64_json&quot;)\n        uri=item.get(&quot;url&quot;, &quot;&quot;)\n        if not encoded and uri.startswith(&quot;data:image/&quot;):\n            header, separator, encoded=uri.partition(&quot;,&quot;)\n            if not separator or &quot;;base64&quot; not in header: raise SystemExit(&quot;Unsupported image data URI&quot;)\n        if encoded:\n            raw=base64.b64decode(encoded,validate=True)\n        elif uri:\n            uri=urljoin(&quot;https://api.ailoot.ai&quot;,uri)\n            parsed=urlsplit(uri)\n            if parsed.scheme!=&quot;https&quot; or not parsed.netloc or parsed.username or parsed.password:\n                raise SystemExit(&quot;Invalid returned image URL&quot;)\n            owned=parsed.netloc==&quot;api.ailoot.ai&quot; and parsed.path.startswith(&quot;/v1/media/assets/&quot;) and parsed.path.endswith(&quot;/content&quot;)\n            args=[&quot;curl&quot;,&quot;--fail-with-body&quot;,&quot;--silent&quot;,&quot;--show-error&quot;,uri]\n            if owned: args += [&quot;-H&quot;,&quot;Authorization: Bearer &quot;+os.environ[&quot;AILOOT_API_KEY&quot;]]\n            temporary=Path(f&quot;image-{index}.bin&quot;)\n            subprocess.run(args+[&quot;-o&quot;,str(temporary)],check=True)\n            raw=temporary.read_bytes()\n            temporary.unlink()\n        else: raise SystemExit(&quot;Image has neither bytes nor URL&quot;)\n        if not raw: raise SystemExit(&quot;Empty image result&quot;)\n        ext=&quot;png&quot; if raw.startswith(b&quot;\\x89PNG&quot;) else &quot;jpg&quot; if raw.startswith(b&quot;\\xff\\xd8&quot;) else &quot;webp&quot; if raw[:4]==b&quot;RIFF&quot; and raw[8:12]==b&quot;WEBP&quot; else &quot;svg&quot; if raw.lstrip().startswith((b&quot;&lt;svg&quot;,b&quot;&lt;?xml&quot;)) else &quot;bin&quot;\n        Path(f&quot;image-{index}.{ext}&quot;).write_bytes(raw)\n    print(&quot;Every returned image saved; complete response metadata retained&quot;)\nsave_images(json.loads(Path(&quot;result.json&quot;).read_text())[&quot;data&quot;])\nPY_RESULT\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 · Gambar</h4><p class=\"note-s\">Unduh setiap gambar yang dikembalikan atau simpan konten Base64-nya</p><ul class=\"card-result-paths\"><li><code>GET /v1/media/tasks/{task_id}</code></li><li><code>GET /v1/media/assets/{asset_id}/content</code></li><li><code>GET /v1/media/assets</code></li><li><code>GET /v1/media/assets/{asset_id}</code></li></ul><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-1127-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1127-panel-0\" aria-selected=\"true\" tabindex=\"0\">Baca aset yang sudah ada dan menjadi milik Anda</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-1127-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1127-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n</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 gambar yang selesai; ambil setiap URL yang dikembalikan atau dekode konten Base64-nya.</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 yang dikembalikan untuk rekonsiliasi. Baca hanya nilai task_id/asset_id yang benar-benar dikembalikan atau pustaka media milik Anda; jangan pernah membuat URL tugas dari ID operasi dan jangan pernah mengirim 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\">created</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[].url</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[].b64_json</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\">usage</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=bytedance-seed%2Fseedream-5-0-pro&amp;route=Ultra&amp;caller=bytedance-seed%2Fseedream-5-0-pro&amp;fmt=images\"><code>bytedance-seed/seedream-5-0-pro</code></a></span></p><h4>Alias jalur metode</h4><p class=\"note-s\"><code>/v1/images</code></p><h4>ID pemanggil terkait</h4><p class=\"note-s\"><a href=\"#m=bytedance-seed%2Fseedream-5-0-pro&amp;route=Ultra&amp;caller=bytedance-seed%2Fseedream-5-0-pro&amp;fmt=images\"><code>bytedance-seed/seedream-5-0-pro</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "bytedance-seed/seedream-5-0-pro",
        "fmt": "images",
        "http": "POST",
        "path": "/v1/images/generations",
        "request_model_id": "bytedance-seed/seedream-5-0-pro",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|images|/v1/images/generations|bytedance-seed%2Fseedream-5-0-pro",
      "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": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Simpan X-Client-Request-ID yang dikembalikan untuk rekonsiliasi. Baca hanya nilai task_id/asset_id yang benar-benar dikembalikan atau pustaka media milik Anda; jangan pernah membuat URL tugas dari ID operasi dan jangan pernah mengirim 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": "image",
              "fields": [
                {
                  "description": null,
                  "name": "created",
                  "type": null
                },
                {
                  "description": null,
                  "name": "data[].url",
                  "type": null
                },
                {
                  "description": null,
                  "name": "data[].b64_json",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": null
                }
              ]
            },
            "parameters": [
              {
                "enum": [
                  "bytedance-seed/seedream-5-0-pro"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "min_length": 1,
                "name": "prompt",
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  "1K",
                  "2K"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": false,
                "type": "string"
              },
              {
                "enum": [
                  "1:1",
                  "1:2",
                  "2:1",
                  "2:3",
                  "3:2",
                  "3:4",
                  "4:3",
                  "4:5",
                  "5:4",
                  "9:16",
                  "16:9",
                  "9:19.5",
                  "19.5:9",
                  "9:20",
                  "20:9",
                  "9:21",
                  "21:9",
                  "auto"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": false,
                "type": "string"
              },
              {
                "maximum": 1,
                "minimum": 1,
                "name": "n",
                "required": false,
                "type": "integer"
              },
              {
                "items": {
                  "properties": {
                    "image_url": {
                      "properties": {
                        "url": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "url"
                      ],
                      "type": "object"
                    },
                    "type": {
                      "const": "image_url"
                    }
                  },
                  "required": [
                    "type",
                    "image_url"
                  ],
                  "type": "object"
                },
                "maximum_items": 14,
                "minimum_items": 0,
                "name": "input_references",
                "required": false,
                "type": "array"
              },
              {
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "aspect_ratio": {
                  "enum": [
                    "1:1",
                    "1:2",
                    "2:1",
                    "2:3",
                    "3:2",
                    "3:4",
                    "4:3",
                    "4:5",
                    "5:4",
                    "9:16",
                    "16:9",
                    "9:19.5",
                    "19.5:9",
                    "9:20",
                    "20:9",
                    "9:21",
                    "21:9",
                    "auto"
                  ],
                  "type": "string"
                },
                "input_references": {
                  "items": {
                    "properties": {
                      "image_url": {
                        "properties": {
                          "url": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      },
                      "type": {
                        "const": "image_url"
                      }
                    },
                    "required": [
                      "type",
                      "image_url"
                    ],
                    "type": "object"
                  },
                  "maxItems": 14,
                  "minItems": 0,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "bytedance-seed/seedream-5-0-pro"
                  ],
                  "type": "string"
                },
                "n": {
                  "maximum": 1,
                  "minimum": 1,
                  "type": "integer"
                },
                "prompt": {
                  "minLength": 1,
                  "type": "string"
                },
                "provider": {
                  "description": "Exact image provider preferences from the documented image request schema.",
                  "type": "object"
                },
                "resolution": {
                  "enum": [
                    "1K",
                    "2K"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "prompt"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "model": "bytedance-seed/seedream-5-0-pro",
                "prompt": "a red panda astronaut floating in space, studio lighting"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text",
              "image"
            ],
            "required": [
              "model",
              "prompt"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "task_id aktual yang dikembalikan atau catatan pustaka media",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Keep the returned X-Client-Request-ID for reconciliation. Read only actual returned task_id/asset_id values or the owned media library; never build a task URL from the operation ID and never resubmit creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/images/generations"
          },
          "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": "image",
            "fields": [
              {
                "description": null,
                "name": "created",
                "type": null
              },
              {
                "description": null,
                "name": "data[].url",
                "type": null
              },
              {
                "description": null,
                "name": "data[].b64_json",
                "type": null
              },
              {
                "description": null,
                "name": "usage",
                "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": {
              "quoted_unit": "per input image"
            },
            "label": "gambar masukan",
            "units": [
              {
                "amount": "0.006",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_input",
                "label": "input image",
                "native_amount_usd_per_unit": "0.006",
                "native_quantity": 1,
                "public_unit_label": "per input image",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "image_input"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per output image"
            },
            "label": "output image",
            "units": [
              {
                "amount": "0.09",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_output",
                "label": "output image",
                "native_amount_usd_per_unit": "0.09",
                "native_quantity": 1,
                "public_unit_label": "per output image",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "image_output"
              }
            ]
          },
          {
            "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.09",
                "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.09",
                "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}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np={'model': 'bytedance-seed/seedream-5-0-pro', 'prompt': 'a red panda astronaut floating in space, studio lighting'}\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport base64, json, os, subprocess\nfrom pathlib import Path\nfrom urllib.parse import urlsplit, urljoin\n\ndef save_images(items):\n    if not items: raise SystemExit(\"No completed images; retain the full response\")\n    for index, item in enumerate(items):\n        encoded=item.get(\"b64_json\")\n        uri=item.get(\"url\", \"\")\n        if not encoded and uri.startswith(\"data:image/\"):\n            header, separator, encoded=uri.partition(\",\")\n            if not separator or \";base64\" not in header: raise SystemExit(\"Unsupported image data URI\")\n        if encoded:\n            raw=base64.b64decode(encoded,validate=True)\n        elif uri:\n            uri=urljoin(\"https://api.ailoot.ai\",uri)\n            parsed=urlsplit(uri)\n            if parsed.scheme!=\"https\" or not parsed.netloc or parsed.username or parsed.password:\n                raise SystemExit(\"Invalid returned image URL\")\n            owned=parsed.netloc==\"api.ailoot.ai\" and parsed.path.startswith(\"/v1/media/assets/\") and parsed.path.endswith(\"/content\")\n            args=[\"curl\",\"--fail-with-body\",\"--silent\",\"--show-error\",uri]\n            if owned: args += [\"-H\",\"Authorization: Bearer \"+os.environ[\"AILOOT_API_KEY\"]]\n            temporary=Path(f\"image-{index}.bin\")\n            subprocess.run(args+[\"-o\",str(temporary)],check=True)\n            raw=temporary.read_bytes()\n            temporary.unlink()\n        else: raise SystemExit(\"Image has neither bytes nor URL\")\n        if not raw: raise SystemExit(\"Empty image result\")\n        ext=\"png\" if raw.startswith(b\"\\x89PNG\") else \"jpg\" if raw.startswith(b\"\\xff\\xd8\") else \"webp\" if raw[:4]==b\"RIFF\" and raw[8:12]==b\"WEBP\" else \"svg\" if raw.lstrip().startswith((b\"<svg\",b\"<?xml\")) else \"bin\"\n        Path(f\"image-{index}.{ext}\").write_bytes(raw)\n    print(\"Every returned image saved; complete response metadata retained\")\nsave_images(json.loads(Path(\"result.json\").read_text())[\"data\"])\nPY_RESULT\n",
            "label": "curl · exact creation/save all outputs",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n",
            "label": "Read existing owned assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "images",
        "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"
        ],
        "label": "Gambar",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [
          "/v1/images"
        ],
        "native_endpoint": "images",
        "out": null,
        "output": [
          "image"
        ],
        "path": "/v1/images/generations",
        "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": {
              "quoted_unit": "per input image"
            },
            "label": "input image",
            "units": [
              {
                "amount": "0.006",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_input",
                "label": "input image",
                "native_amount_usd_per_unit": "0.006",
                "native_quantity": 1,
                "public_unit_label": "per input image",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "image_input"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per output image"
            },
            "label": "output image",
            "units": [
              {
                "amount": "0.09",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_output",
                "label": "output image",
                "native_amount_usd_per_unit": "0.09",
                "native_quantity": 1,
                "public_unit_label": "per output image",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "image_output"
              }
            ]
          },
          {
            "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.09",
                "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.09",
                "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": "bytedance-seed/seedream-5-0-pro",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_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.006",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "image_input",
            "label": "input image",
            "native_amount_usd_per_unit": "0.006",
            "native_quantity": 1,
            "public_unit_label": "per input image",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "image_input"
          },
          {
            "amount": "0.09",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "image_output",
            "label": "output image",
            "native_amount_usd_per_unit": "0.09",
            "native_quantity": 1,
            "public_unit_label": "per output image",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "image_output"
          },
          {
            "amount": "0.09",
            "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.09",
            "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": "bytedance-seed/seedream-5-0-pro",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "82f62ba5c3ed1b6dad5b40955836d2ae62072f690f805a8a6ed691011ab9dde3",
    "input_html_sha256": "5fad0f6157002ea469c9d33da3a9f34734328aa610bcd128296dea6fda013a69",
    "private_audit_sha256": "97dddeaf1f2a27db903b8bb650fe49b666e84af988e8bff27636884feaa08ecb",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/id/bytedance-seed-seedream-5-0-pro/",
    "description": "Seedream 5.0 Pro membuat dan menyunting gambar dengan tata letak infografik padat, perubahan lokal berpanduan ruang, pemisahan lapisan, serta tekstur fotografis realistis. Generasi multibahasa bawaannya mendukung poster yang dilokalkan dan konsep desain dengan banyak teks dalam gambar.",
    "locale": "id",
    "md_url": "https://ailoot.ai/models/id/bytedance-seed-seedream-5-0-pro/index.md",
    "title": "ByteDance Seed: Seedream 5.0 Pro — Ailoot",
    "url": "https://ailoot.ai/models/id/bytedance-seed-seedream-5-0-pro/"
  },
  "rawModel": {
    "about": "Seedream 5.0 Pro adalah model pembuatan gambar multimodal ByteDance Seed untuk pekerjaan visual profesional. Model ini menggabungkan pembuatan gambar baru dengan penyuntingan berbasis referensi, dengan perhatian pada struktur desain sekaligus tampilannya. Pengembang mengelompokkan edisi ini ke dalam empat kekuatan: grafis informasi padat, penyuntingan interaktif, citra realistis, dan pembuatan multibahasa native. Antarmuka pembuatan yang didokumentasikan mengembalikan satu gambar jadi; urutan gambar yang saling terkait, pencarian, dan keluaran streaming merupakan bagian dari alur edisi lain. Optimasi prompt menawarkan mode standard dan fast, dengan fast mengorbankan sebagian kualitas untuk mengurangi waktu pembuatan.\n\nInformasi kompleks dalam satu gambar\nPro dapat mengubah arahan yang panjang menjadi infografik, poster, atau konsep antarmuka visual. Siapkan isi faktual sebelum instruksi gaya: label, nilai, hubungan, dan urutan pembacaan informasi yang sudah disetujui. Lalu tentukan komposisi, titik fokus utama, tipografi, dan ilustrasi pendukung. Untuk tampilan museum, berikan judul pameran dan tiga deskripsi yang disetujui, minta satu ilustrasi di samping setiap deskripsi, dan tentukan judul yang harus dominan. Periksa hierarki serta kata-kata akhir terhadap arahan, terutama teks pendukung yang lebih kecil.\n\nKeluaran seperti ini berguna untuk visual pembelajaran, penjelasan teknis, ilustrasi presentasi, dan eksplorasi awal tata letak produk. Gambar antarmuka yang dihasilkan membantu menyampaikan ide visual; pertahankan kontrol dan teks aktual dalam sumber desain yang dapat disunting jika ide tersebut akan dikembangkan menjadi produk yang berfungsi. Untuk infografik, simpan tabel atau catatan asli bersama gambar agar desainer dapat memverifikasi dan memperbaiki fakta satu per satu.\n\nPanduan spasial untuk perubahan lokal\nPenyuntingan interaktif menambahkan informasi lokasi pada instruksi. Tandai atau pilih wilayah yang relevan, jelaskan perubahan, dan tentukan unsur sekitarnya yang harus tetap ada. Pengembang menjelaskan titik, seleksi lasso atau kotak, dan sketsa sebagai cara menyampaikan posisi. Untuk konsep interior, tandai hanya kursi dan minta bahan berbeda sambil mempertahankan kamera, lantai, dinding, serta bayangan di dekatnya. Untuk foto produk, tentukan wilayah label alih-alih meminta desain ulang seluruh objek secara luas.\n\nKemampuan penyuntingan Pro mencakup penggantian warna dan bahan, penambahan atau penghapusan objek, rendering dari sketsa, dan penggabungan elemen dari beberapa referensi. Beri setiap referensi sebuah peran: komposisi dasar, objek pengganti, bahan, atau palet. Misalnya, berikan sebuah ruangan, contoh kain, dan referensi kursi, lalu minta kursi di lokasi yang ditandai dengan kain tersebut diterapkan. Bandingkan hasil dengan setiap referensi, dengan perhatian pada skala, titik sambungan, dan pencahayaan. Saat menggunakan sketsa kasar, beri label pada wilayah dan beri tahu model apakah tanda gambar harus tetap ada dalam gambar akhir.\n\nMemisahkan dan menyusun ulang elemen visual\nPengembang menunjukkan pemisahan gambar menjadi lapisan independen, dengan elemen transparan dan isi latar yang dipulihkan. Hal ini berguna untuk komposisi yang memerlukan penataan ulang lanjutan: tentukan judul, subjek utama, dan dekorasi yang akan dipisahkan, lalu periksa setiap elemen hasilnya dalam alat desain. Simpan gambar dasar untuk perbandingan. Periksa tepi, detail yang hilang, dan wilayah latar yang tertutup subjek asli sebelum memindahkan atau mengganti elemen. Pemisahan lapisan adalah alur pemrosesan gambar tersendiri; meminta beberapa gambar jadi yang tidak saling terkait merupakan tugas berbeda. Pada alur lapisan pengembang, diperlukan satu gambar JPEG atau PNG: hingga 30 MB, 262,144–36,000,000 piksel, dan rasio aspek 1:16–16:1. Hasilnya berisi gambar dasar dan hingga 16 lapisan PNG dengan alpha, beserta nama, deskripsi, urutan penumpukan, dan kotak penempatan setiap lapisan. Ukuran lapisan menggunakan 1K, 1.5K, 2K, atau pengaturan otomatis yang mempertahankan rasio aspek sumber.\n\nCahaya, bahan, dan potret realistis\nPro menekankan citra fotografis dan buatan komputer, termasuk pencahayaan, perilaku permukaan, dan tekstur kulit. Arahan yang berguna menjelaskan adegan fisik, bukan hanya mengandalkan kata sifat: subjek, posisi kamera, cahaya utama, latar, dan bahan yang harus memantulkan atau meneruskan cahaya. Untuk konsep furnitur, tentukan apakah rangkanya berupa logam bertekstur sikat, kaca bening, atau kayu bercat, lalu jelaskan pencahayaannya. Untuk penyuntingan potret, uraikan perubahan yang diinginkan dan pertahankan ciri wajah serta pose yang penting. Periksa kulit, tangan, pantulan, dan tepi antar bahan pada ukuran tampilan akhir. Pilihan latar transparan produsen berlaku untuk penyuntingan gambar dengan tepat satu masukan yang sudah memiliki kanal alpha; keluaran transparan harus berupa PNG. Pilihan ini terpisah dari pembuatan gambar biasa yang tidak transparan.\n\nVisual multibahasa\nModel mendukung prompt native dan teks yang dirender dalam beberapa bahasa yang banyak digunakan, termasuk bahasa Mandarin, Inggris, Prancis, Jerman, Rusia, Jepang, Korea, Spanyol, dan Arab. Berikan kata-kata persis yang sudah disetujui, tentukan bahasa dan arah baca, serta tandai wilayah yang memuat teks. Untuk poster yang dilokalkan, jaga konsistensi tata letak dan gambar sambil memberikan judul serta teks pendukung secara terpisah. Minta pembaca bahasa tersebut memeriksa hasil, termasuk aksen, karakter bersambung, pemenggalan baris, dan label kecil.\n\nMenyiapkan hasil yang berguna\nMulai dari gambar yang dituju: grafis padat data, poster yang dilokalkan, konsep visual, atau gambar sumber yang direvisi secara presisi. Berikan isi dan referensi yang dibutuhkan untuk pekerjaan spesifik tersebut, lalu bandingkan hasil dengan aset sumber serta perubahan yang diminta. Alur pembuatan produsen menerima hingga 10 referensi dalam format JPEG, PNG, WebP, BMP, TIFF, GIF, HEIC, atau HEIF, hingga 30 MB masing-masing, dengan kedua sisi di atas 14 piksel, total 196–36,000,000 piksel, dan rasio aspek dari 1:16 hingga 16:1. Alur ini mengembalikan JPEG atau PNG, dengan pilihan keluaran 1K, 1.5K, dan 2K serta 2K sebagai bawaan; dimensi khusus memerlukan total 921,600–4,624,220 piksel dan rentang rasio yang sama. Hasil gambar dapat berupa data terenkode atau tautan unduhan yang kedaluwarsa dalam 24 jam. Produsen menyebut rendering teks berukuran kecil dan konsistensi penyuntingan tingkat piksel sebagai bidang yang terus ditingkatkan. Tinjau label padat dan wilayah yang seharusnya tidak berubah dengan cermat, meskipun komposisi keseluruhannya tampak meyakinkan.",
    "alias_of": null,
    "aliases": [],
    "author": "ByteDance Seed",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "text",
        "image"
      ],
      "manufacturer_output": [
        "image"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.09",
            "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.09",
            "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": [
      "images"
    ],
    "id": "bytedance-seed/seedream-5-0-pro",
    "input": [
      "text",
      "image"
    ],
    "kind": "image",
    "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": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Simpan X-Client-Request-ID yang dikembalikan untuk rekonsiliasi. Baca hanya nilai task_id/asset_id yang benar-benar dikembalikan atau pustaka media milik Anda; jangan pernah membuat URL tugas dari ID operasi dan jangan pernah mengirim 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": "image",
              "fields": [
                {
                  "description": null,
                  "name": "created",
                  "type": null
                },
                {
                  "description": null,
                  "name": "data[].url",
                  "type": null
                },
                {
                  "description": null,
                  "name": "data[].b64_json",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": null
                }
              ]
            },
            "parameters": [
              {
                "enum": [
                  "bytedance-seed/seedream-5-0-pro"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "min_length": 1,
                "name": "prompt",
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  "1K",
                  "2K"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": false,
                "type": "string"
              },
              {
                "enum": [
                  "1:1",
                  "1:2",
                  "2:1",
                  "2:3",
                  "3:2",
                  "3:4",
                  "4:3",
                  "4:5",
                  "5:4",
                  "9:16",
                  "16:9",
                  "9:19.5",
                  "19.5:9",
                  "9:20",
                  "20:9",
                  "9:21",
                  "21:9",
                  "auto"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": false,
                "type": "string"
              },
              {
                "maximum": 1,
                "minimum": 1,
                "name": "n",
                "required": false,
                "type": "integer"
              },
              {
                "items": {
                  "properties": {
                    "image_url": {
                      "properties": {
                        "url": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "url"
                      ],
                      "type": "object"
                    },
                    "type": {
                      "const": "image_url"
                    }
                  },
                  "required": [
                    "type",
                    "image_url"
                  ],
                  "type": "object"
                },
                "maximum_items": 14,
                "minimum_items": 0,
                "name": "input_references",
                "required": false,
                "type": "array"
              },
              {
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "aspect_ratio": {
                  "enum": [
                    "1:1",
                    "1:2",
                    "2:1",
                    "2:3",
                    "3:2",
                    "3:4",
                    "4:3",
                    "4:5",
                    "5:4",
                    "9:16",
                    "16:9",
                    "9:19.5",
                    "19.5:9",
                    "9:20",
                    "20:9",
                    "9:21",
                    "21:9",
                    "auto"
                  ],
                  "type": "string"
                },
                "input_references": {
                  "items": {
                    "properties": {
                      "image_url": {
                        "properties": {
                          "url": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      },
                      "type": {
                        "const": "image_url"
                      }
                    },
                    "required": [
                      "type",
                      "image_url"
                    ],
                    "type": "object"
                  },
                  "maxItems": 14,
                  "minItems": 0,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "bytedance-seed/seedream-5-0-pro"
                  ],
                  "type": "string"
                },
                "n": {
                  "maximum": 1,
                  "minimum": 1,
                  "type": "integer"
                },
                "prompt": {
                  "minLength": 1,
                  "type": "string"
                },
                "provider": {
                  "description": "Exact image provider preferences from the documented image request schema.",
                  "type": "object"
                },
                "resolution": {
                  "enum": [
                    "1K",
                    "2K"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "prompt"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "model": "bytedance-seed/seedream-5-0-pro",
                "prompt": "a red panda astronaut floating in space, studio lighting"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text",
              "image"
            ],
            "required": [
              "model",
              "prompt"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "task_id aktual yang dikembalikan atau catatan pustaka media",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Keep the returned X-Client-Request-ID for reconciliation. Read only actual returned task_id/asset_id values or the owned media library; never build a task URL from the operation ID and never resubmit creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/images/generations"
          },
          "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": "image",
            "fields": [
              {
                "description": null,
                "name": "created",
                "type": null
              },
              {
                "description": null,
                "name": "data[].url",
                "type": null
              },
              {
                "description": null,
                "name": "data[].b64_json",
                "type": null
              },
              {
                "description": null,
                "name": "usage",
                "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": {
              "quoted_unit": "per input image"
            },
            "label": "gambar masukan",
            "units": [
              {
                "amount": "0.006",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_input",
                "label": "input image",
                "native_amount_usd_per_unit": "0.006",
                "native_quantity": 1,
                "public_unit_label": "per input image",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "image_input"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per output image"
            },
            "label": "output image",
            "units": [
              {
                "amount": "0.09",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_output",
                "label": "output image",
                "native_amount_usd_per_unit": "0.09",
                "native_quantity": 1,
                "public_unit_label": "per output image",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "image_output"
              }
            ]
          },
          {
            "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.09",
                "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.09",
                "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}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np={'model': 'bytedance-seed/seedream-5-0-pro', 'prompt': 'a red panda astronaut floating in space, studio lighting'}\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport base64, json, os, subprocess\nfrom pathlib import Path\nfrom urllib.parse import urlsplit, urljoin\n\ndef save_images(items):\n    if not items: raise SystemExit(\"No completed images; retain the full response\")\n    for index, item in enumerate(items):\n        encoded=item.get(\"b64_json\")\n        uri=item.get(\"url\", \"\")\n        if not encoded and uri.startswith(\"data:image/\"):\n            header, separator, encoded=uri.partition(\",\")\n            if not separator or \";base64\" not in header: raise SystemExit(\"Unsupported image data URI\")\n        if encoded:\n            raw=base64.b64decode(encoded,validate=True)\n        elif uri:\n            uri=urljoin(\"https://api.ailoot.ai\",uri)\n            parsed=urlsplit(uri)\n            if parsed.scheme!=\"https\" or not parsed.netloc or parsed.username or parsed.password:\n                raise SystemExit(\"Invalid returned image URL\")\n            owned=parsed.netloc==\"api.ailoot.ai\" and parsed.path.startswith(\"/v1/media/assets/\") and parsed.path.endswith(\"/content\")\n            args=[\"curl\",\"--fail-with-body\",\"--silent\",\"--show-error\",uri]\n            if owned: args += [\"-H\",\"Authorization: Bearer \"+os.environ[\"AILOOT_API_KEY\"]]\n            temporary=Path(f\"image-{index}.bin\")\n            subprocess.run(args+[\"-o\",str(temporary)],check=True)\n            raw=temporary.read_bytes()\n            temporary.unlink()\n        else: raise SystemExit(\"Image has neither bytes nor URL\")\n        if not raw: raise SystemExit(\"Empty image result\")\n        ext=\"png\" if raw.startswith(b\"\\x89PNG\") else \"jpg\" if raw.startswith(b\"\\xff\\xd8\") else \"webp\" if raw[:4]==b\"RIFF\" and raw[8:12]==b\"WEBP\" else \"svg\" if raw.lstrip().startswith((b\"<svg\",b\"<?xml\")) else \"bin\"\n        Path(f\"image-{index}.{ext}\").write_bytes(raw)\n    print(\"Every returned image saved; complete response metadata retained\")\nsave_images(json.loads(Path(\"result.json\").read_text())[\"data\"])\nPY_RESULT\n",
            "label": "curl · exact creation/save all outputs",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n",
            "label": "Read existing owned assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "images",
        "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"
        ],
        "label": "Gambar",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [
          "/v1/images"
        ],
        "native_endpoint": "images",
        "out": null,
        "output": [
          "image"
        ],
        "path": "/v1/images/generations",
        "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": {
              "quoted_unit": "per input image"
            },
            "label": "input image",
            "units": [
              {
                "amount": "0.006",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_input",
                "label": "input image",
                "native_amount_usd_per_unit": "0.006",
                "native_quantity": 1,
                "public_unit_label": "per input image",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "image_input"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per output image"
            },
            "label": "output image",
            "units": [
              {
                "amount": "0.09",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_output",
                "label": "output image",
                "native_amount_usd_per_unit": "0.09",
                "native_quantity": 1,
                "public_unit_label": "per output image",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "image_output"
              }
            ]
          },
          {
            "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.09",
                "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.09",
                "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": "bytedance-seed/seedream-5-0-pro",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_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.006",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "image_input",
            "label": "input image",
            "native_amount_usd_per_unit": "0.006",
            "native_quantity": 1,
            "public_unit_label": "per input image",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "image_input"
          },
          {
            "amount": "0.09",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "image_output",
            "label": "output image",
            "native_amount_usd_per_unit": "0.09",
            "native_quantity": 1,
            "public_unit_label": "per output image",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "image_output"
          },
          {
            "amount": "0.09",
            "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.09",
            "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": "bytedance-seed/seedream-5-0-pro",
        "request_model_id": "bytedance-seed/seedream-5-0-pro",
        "route_label": "Ultra"
      }
    ],
    "name": "ByteDance Seed: Seedream 5.0 Pro",
    "price": {
      "estimate_only": true,
      "in": null,
      "in_label": null,
      "out": 0.09,
      "out_label": "estimate before generation",
      "scope_label": "Estimated generation cost",
      "sort_in": null,
      "sort_out": 0.09,
      "varies": false
    },
    "short": "Seedream 5.0 Pro membuat dan menyunting gambar dengan tata letak infografik padat, perubahan lokal berpanduan ruang, pemisahan lapisan, serta tekstur fotografis realistis. Generasi multibahasa bawaannya mendukung poster yang dilokalkan dan konsep desain dengan banyak teks dalam gambar."
  },
  "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": "Seedream 5.0 Pro membuat dan menyunting gambar dengan tata letak infografik padat, perubahan lokal berpanduan ruang, pemisahan lapisan, serta tekstur fotografis realistis. Generasi multibahasa bawaannya mendukung poster yang dilokalkan dan konsep desain dengan banyak teks dalam gambar.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "add84ac18cba779194080050f506ee49b2c2c17512ef41798a40edfd95554afa",
    "renderer_sha256": "2a0471475a29000c23db326ca1e315df73dee7524f6bc2907818ee3458813f2d"
  },
  "sourceRevision": "e31210becd4e033846071e2e59e28d4bc8bc51c019121b484039182600c16aa2"
}
