{
  "aboutHtml": "<p>ByteDance Seed Audio 1.0 adalah model pembuatan audio yang dirancang berdasarkan adegan bunyi. Ucapan, efek, dan ambiens dapat dibentuk bersama melalui arahan teks. Hal ini membuatnya berguna untuk cerita bersuara, pertemuan dalam permainan, percakapan dramatis singkat, atau adegan yang menyertai video hasil suntingan. Untuk pekerjaan yang hanya menggunakan suara, jelaskan pembicara dan penampilannya; untuk adegan yang lebih lengkap, jelaskan juga lingkungan akustik serta hubungan antara dialog dan bunyi di sekitarnya.</p><p>Siapkan arahan sesuai urutan yang seharusnya dialami pendengar dalam adegan. Identifikasi karakter, keadaan emosi yang dimaksud, dan kata-kata yang perlu mereka ucapkan. Kemudian jelaskan ruang, isyarat bunyi yang penting, dan perkembangan momen tersebut. Arahan produksi harus membedakan dialog yang persis dari deskripsi adegan agar hasil dapat diperiksa terhadap keduanya. Nyatakan elemen mana yang penting untuk pemahaman dan mana yang harus tetap berada di latar. Ruangan yang tenang, stasiun yang ramai, dan halaman terbuka membutuhkan desain suara yang berbeda meskipun kalimat yang diucapkan sama.</p><p>Contoh orisinalnya adalah karakter permainan yang menenangkan rekannya dalam adegan singkat saat berteduh: suara yang tertahan berkata “Kita bisa menunggu di sini,” dengan ambiens hujan yang pelan dan satu bunyi langkah mendekat setelah kalimat tersebut. Pemeriksaan dengan mendengarkan yang berguna adalah apakah kata-katanya tetap dapat dipahami, suaranya menyampaikan ketenangan, dan isyarat bunyinya muncul pada titik yang masuk akal dalam adegan. Arahan lain dapat meminta narator yang jelas untuk memperkenalkan produk tanpa suasana bunyi di sekitarnya. Ini merupakan contoh cara menentukan maksud, bukan catatan audio yang telah dihasilkan atau janji tentang hasil mix yang sudah selesai.</p><p>Produsen mendokumentasikan kendali waktu pada tingkat prompt untuk dialog karakter dengan interval 100 ms. Gunakan kendali itu untuk menjelaskan kapan suatu kalimat harus masuk dalam rangkaian berskenario atau untuk merencanakan materi ucapan agar sesuai dengan suntingan yang sudah ada. Pisahkan pengaturan waktu dialog dari penempatan efek dan ambiens: rilis tersebut menyebut dialog karakter sebagai fokus utama kendali waktu. Tinjau awal, jeda, dan tumpang tindih yang sebenarnya terhadap adegan yang dimaksud. Interval waktu menggambarkan tingkat ketelitian kendali model dan tidak menghilangkan kebutuhan untuk mendengarkan penampilan akhirnya.</p><p>Suara dapat ditentukan melalui deskripsi teks, sampel referensi yang diizinkan, atau keduanya. Produsen menyajikannya sebagai pembentukan suara tanpa melatih model terpisah untuk setiap pembicara. Jelaskan karakteristik suara yang stabil secara terpisah dari emosi kalimat saat ini. Karakter yang muncul berulang mungkin memerlukan perkenalan yang tenang dan respons mendesak sambil tetap dapat dikenali. Sebagai persiapan praktis, pilih referensi yang jelas dengan suara yang dimaksud mudah terdengar, lalu tentukan hal-hal yang harus terbawa ke penampilan baru. Pertahankan konsistensi referensi dan arahan karakter tersebut saat menyiapkan adegan yang saling terkait.</p><p>Rilis tersebut mendokumentasikan generasi dalam lebih dari 20 bahasa, termasuk bahasa Tionghoa, Inggris, Jepang, Korea, Spanyol, Indonesia, Jerman, Prancis, Thai, dan Vietnam. Rilis itu menjelaskan penyesuaian suara karakter yang dapat dikenali terhadap ritme dan ekspresi berbagai bahasa. Berikan dialog dalam bahasa akhir dan tinjau nama, tekanan ucapan, jeda, serta nada emosionalnya bersama pendengar yang memahami bahasa tersebut. Untuk versi multibahasa, jaga peran karakter dan maksud emosionalnya tetap stabil sambil memberi setiap naskah cukup ruang untuk ungkapan yang alami. Siapkan terjemahan sebagai bagian dari pengerjaan naskah, alih-alih menganggap arahan adegan bunyi sudah menyediakan semua keputusan pelokalan.</p><p>Seed Audio 1.0 dapat menghasilkan hingga dua menit dalam satu proses dan mendukung kelanjutan, menurut rilis produsen. Cerita yang lebih panjang terbantu oleh batas adegan dan arahan karakter yang dapat digunakan kembali. Pada setiap kelanjutan, dengarkan perubahan suara, tekstur latar, dan tempo, serta kata-kata yang menghubungkan bagian-bagiannya. Perlakukan audio yang dikembalikan sebagai aset untuk didengarkan: periksa informasi berkas aktualnya saat menyiapkan pemutaran atau mengimpornya ke editor, dan simpan naskah serta arahan adegan bersamanya untuk revisi. Produksi yang digabung harus diperiksa sebagai adegan berkesinambungan, bukan hanya sebagai klip terpisah.</p><p>Produsen menjelaskan kerangka terpadu tempat maksud kreatif pada tingkat bahasa memandu generator akustik berbasis difusi. Implikasi praktisnya bagi arahan adalah bahwa suara dan lingkungan dapat dipertimbangkan bersama. Berfokuslah pada beberapa hubungan yang mendefinisikan adegan: apakah suatu kalimat tampil di depan, apakah efek menyelanya, dan bagaimana suasana mendukung momen emosional. Menambahkan banyak isyarat bunyi yang tidak terkait membuat bagian hasil yang perlu direvisi lebih sulit dikenali. Ubah arahan untuk bagian tersebut ketika isyarat bunyi bersaing dengan dialog atau penampilannya tidak mencapai nada yang dimaksud.</p><p>Kesinambungan suara dalam materi panjang yang kompleks dan pengaturan waktu yang lebih rinci antarelemen bunyi tetap menjadi bidang pengembangan yang disebutkan dalam rilis. Pertahankan peninjauan produksi yang spesifik: kata-kata persis, identitas pembicara, bahasa, waktu masuk, keterpahaman, dan konsistensi antarkelanjutan. Keluaran yang berguna dari model ini adalah adegan yang dapat didengar atau penampilan suara. Keputusan terpisah tentang pemotongan editorial, takarir, dan format penyerahan dapat dibuat berdasarkan hasil aktual itu serta persyaratan produksi tujuan.</p>",
  "aboutText": "ByteDance Seed Audio 1.0 adalah model pembuatan audio yang dirancang berdasarkan adegan bunyi. Ucapan, efek, dan ambiens dapat dibentuk bersama melalui arahan teks. Hal ini membuatnya berguna untuk cerita bersuara, pertemuan dalam permainan, percakapan dramatis singkat, atau adegan yang menyertai video hasil suntingan. Untuk pekerjaan yang hanya menggunakan suara, jelaskan pembicara dan penampilannya; untuk adegan yang lebih lengkap, jelaskan juga lingkungan akustik serta hubungan antara dialog dan bunyi di sekitarnya.\n\nSiapkan arahan sesuai urutan yang seharusnya dialami pendengar dalam adegan. Identifikasi karakter, keadaan emosi yang dimaksud, dan kata-kata yang perlu mereka ucapkan. Kemudian jelaskan ruang, isyarat bunyi yang penting, dan perkembangan momen tersebut. Arahan produksi harus membedakan dialog yang persis dari deskripsi adegan agar hasil dapat diperiksa terhadap keduanya. Nyatakan elemen mana yang penting untuk pemahaman dan mana yang harus tetap berada di latar. Ruangan yang tenang, stasiun yang ramai, dan halaman terbuka membutuhkan desain suara yang berbeda meskipun kalimat yang diucapkan sama.\n\nContoh orisinalnya adalah karakter permainan yang menenangkan rekannya dalam adegan singkat saat berteduh: suara yang tertahan berkata “Kita bisa menunggu di sini,” dengan ambiens hujan yang pelan dan satu bunyi langkah mendekat setelah kalimat tersebut. Pemeriksaan dengan mendengarkan yang berguna adalah apakah kata-katanya tetap dapat dipahami, suaranya menyampaikan ketenangan, dan isyarat bunyinya muncul pada titik yang masuk akal dalam adegan. Arahan lain dapat meminta narator yang jelas untuk memperkenalkan produk tanpa suasana bunyi di sekitarnya. Ini merupakan contoh cara menentukan maksud, bukan catatan audio yang telah dihasilkan atau janji tentang hasil mix yang sudah selesai.\n\nProdusen mendokumentasikan kendali waktu pada tingkat prompt untuk dialog karakter dengan interval 100 ms. Gunakan kendali itu untuk menjelaskan kapan suatu kalimat harus masuk dalam rangkaian berskenario atau untuk merencanakan materi ucapan agar sesuai dengan suntingan yang sudah ada. Pisahkan pengaturan waktu dialog dari penempatan efek dan ambiens: rilis tersebut menyebut dialog karakter sebagai fokus utama kendali waktu. Tinjau awal, jeda, dan tumpang tindih yang sebenarnya terhadap adegan yang dimaksud. Interval waktu menggambarkan tingkat ketelitian kendali model dan tidak menghilangkan kebutuhan untuk mendengarkan penampilan akhirnya.\n\nSuara dapat ditentukan melalui deskripsi teks, sampel referensi yang diizinkan, atau keduanya. Produsen menyajikannya sebagai pembentukan suara tanpa melatih model terpisah untuk setiap pembicara. Jelaskan karakteristik suara yang stabil secara terpisah dari emosi kalimat saat ini. Karakter yang muncul berulang mungkin memerlukan perkenalan yang tenang dan respons mendesak sambil tetap dapat dikenali. Sebagai persiapan praktis, pilih referensi yang jelas dengan suara yang dimaksud mudah terdengar, lalu tentukan hal-hal yang harus terbawa ke penampilan baru. Pertahankan konsistensi referensi dan arahan karakter tersebut saat menyiapkan adegan yang saling terkait.\n\nRilis tersebut mendokumentasikan generasi dalam lebih dari 20 bahasa, termasuk bahasa Tionghoa, Inggris, Jepang, Korea, Spanyol, Indonesia, Jerman, Prancis, Thai, dan Vietnam. Rilis itu menjelaskan penyesuaian suara karakter yang dapat dikenali terhadap ritme dan ekspresi berbagai bahasa. Berikan dialog dalam bahasa akhir dan tinjau nama, tekanan ucapan, jeda, serta nada emosionalnya bersama pendengar yang memahami bahasa tersebut. Untuk versi multibahasa, jaga peran karakter dan maksud emosionalnya tetap stabil sambil memberi setiap naskah cukup ruang untuk ungkapan yang alami. Siapkan terjemahan sebagai bagian dari pengerjaan naskah, alih-alih menganggap arahan adegan bunyi sudah menyediakan semua keputusan pelokalan.\n\nSeed Audio 1.0 dapat menghasilkan hingga dua menit dalam satu proses dan mendukung kelanjutan, menurut rilis produsen. Cerita yang lebih panjang terbantu oleh batas adegan dan arahan karakter yang dapat digunakan kembali. Pada setiap kelanjutan, dengarkan perubahan suara, tekstur latar, dan tempo, serta kata-kata yang menghubungkan bagian-bagiannya. Perlakukan audio yang dikembalikan sebagai aset untuk didengarkan: periksa informasi berkas aktualnya saat menyiapkan pemutaran atau mengimpornya ke editor, dan simpan naskah serta arahan adegan bersamanya untuk revisi. Produksi yang digabung harus diperiksa sebagai adegan berkesinambungan, bukan hanya sebagai klip terpisah.\n\nProdusen menjelaskan kerangka terpadu tempat maksud kreatif pada tingkat bahasa memandu generator akustik berbasis difusi. Implikasi praktisnya bagi arahan adalah bahwa suara dan lingkungan dapat dipertimbangkan bersama. Berfokuslah pada beberapa hubungan yang mendefinisikan adegan: apakah suatu kalimat tampil di depan, apakah efek menyelanya, dan bagaimana suasana mendukung momen emosional. Menambahkan banyak isyarat bunyi yang tidak terkait membuat bagian hasil yang perlu direvisi lebih sulit dikenali. Ubah arahan untuk bagian tersebut ketika isyarat bunyi bersaing dengan dialog atau penampilannya tidak mencapai nada yang dimaksud.\n\nKesinambungan suara dalam materi panjang yang kompleks dan pengaturan waktu yang lebih rinci antarelemen bunyi tetap menjadi bidang pengembangan yang disebutkan dalam rilis. Pertahankan peninjauan produksi yang spesifik: kata-kata persis, identitas pembicara, bahasa, waktu masuk, keterpahaman, dan konsistensi antarkelanjutan. Keluaran yang berguna dari model ini adalah adegan yang dapat didengar atau penampilan suara. Keputusan terpisah tentang pemotongan editorial, takarir, dan format penyerahan dapat dibuat berdasarkan hasil aktual itu serta persyaratan produksi tujuan.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "d67e931d2ef325fb1baba1d9f132e5b1d1779357a31f0d2fc507cdce3b9c2420",
    "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: Seed Audio 1.0</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/seed-audio-1-0</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|speech|/v1/audio/speech|bytedance-seed%2Fseed-audio-1-0\">Sintesis ucapan</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\">ByteDance Seed Audio 1.0 menghasilkan penampilan suara dan adegan bunyi dari arahan kreatif. Model ini mengoordinasikan suara, efek, dan ambiens, mendukung pengaturan waktu dialog dengan interval 100 ms, serta mencakup lebih dari 20 bahasa. Produsen menjelaskan durasi hingga dua menit per generasi dengan dukungan kelanjutan.</p><dl class=\"card-io\" data-card-io><div><dt>Masukan yang diterima</dt><dd>Teks</dd></div><div><dt>Hasil</dt><dd>Audio</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>ByteDance Seed Audio 1.0 adalah model pembuatan audio yang dirancang berdasarkan adegan bunyi. Ucapan, efek, dan ambiens dapat dibentuk bersama melalui arahan teks. Hal ini membuatnya berguna untuk cerita bersuara, pertemuan dalam permainan, percakapan dramatis singkat, atau adegan yang menyertai video hasil suntingan. Untuk pekerjaan yang hanya menggunakan suara, jelaskan pembicara dan penampilannya; untuk adegan yang lebih lengkap, jelaskan juga lingkungan akustik serta hubungan antara dialog dan bunyi di sekitarnya.</p><p>Siapkan arahan sesuai urutan yang seharusnya dialami pendengar dalam adegan. Identifikasi karakter, keadaan emosi yang dimaksud, dan kata-kata yang perlu mereka ucapkan. Kemudian jelaskan ruang, isyarat bunyi yang penting, dan perkembangan momen tersebut. Arahan produksi harus membedakan dialog yang persis dari deskripsi adegan agar hasil dapat diperiksa terhadap keduanya. Nyatakan elemen mana yang penting untuk pemahaman dan mana yang harus tetap berada di latar. Ruangan yang tenang, stasiun yang ramai, dan halaman terbuka membutuhkan desain suara yang berbeda meskipun kalimat yang diucapkan sama.</p><p>Contoh orisinalnya adalah karakter permainan yang menenangkan rekannya dalam adegan singkat saat berteduh: suara yang tertahan berkata “Kita bisa menunggu di sini,” dengan ambiens hujan yang pelan dan satu bunyi langkah mendekat setelah kalimat tersebut. Pemeriksaan dengan mendengarkan yang berguna adalah apakah kata-katanya tetap dapat dipahami, suaranya menyampaikan ketenangan, dan isyarat bunyinya muncul pada titik yang masuk akal dalam adegan. Arahan lain dapat meminta narator yang jelas untuk memperkenalkan produk tanpa suasana bunyi di sekitarnya. Ini merupakan contoh cara menentukan maksud, bukan catatan audio yang telah dihasilkan atau janji tentang hasil mix yang sudah selesai.</p><p>Produsen mendokumentasikan kendali waktu pada tingkat prompt untuk dialog karakter dengan interval 100 ms. Gunakan kendali itu untuk menjelaskan kapan suatu kalimat harus masuk dalam rangkaian berskenario atau untuk merencanakan materi ucapan agar sesuai dengan suntingan yang sudah ada. Pisahkan pengaturan waktu dialog dari penempatan efek dan ambiens: rilis tersebut menyebut dialog karakter sebagai fokus utama kendali waktu. Tinjau awal, jeda, dan tumpang tindih yang sebenarnya terhadap adegan yang dimaksud. Interval waktu menggambarkan tingkat ketelitian kendali model dan tidak menghilangkan kebutuhan untuk mendengarkan penampilan akhirnya.</p><p>Suara dapat ditentukan melalui deskripsi teks, sampel referensi yang diizinkan, atau keduanya. Produsen menyajikannya sebagai pembentukan suara tanpa melatih model terpisah untuk setiap pembicara. Jelaskan karakteristik suara yang stabil secara terpisah dari emosi kalimat saat ini. Karakter yang muncul berulang mungkin memerlukan perkenalan yang tenang dan respons mendesak sambil tetap dapat dikenali. Sebagai persiapan praktis, pilih referensi yang jelas dengan suara yang dimaksud mudah terdengar, lalu tentukan hal-hal yang harus terbawa ke penampilan baru. Pertahankan konsistensi referensi dan arahan karakter tersebut saat menyiapkan adegan yang saling terkait.</p><p>Rilis tersebut mendokumentasikan generasi dalam lebih dari 20 bahasa, termasuk bahasa Tionghoa, Inggris, Jepang, Korea, Spanyol, Indonesia, Jerman, Prancis, Thai, dan Vietnam. Rilis itu menjelaskan penyesuaian suara karakter yang dapat dikenali terhadap ritme dan ekspresi berbagai bahasa. Berikan dialog dalam bahasa akhir dan tinjau nama, tekanan ucapan, jeda, serta nada emosionalnya bersama pendengar yang memahami bahasa tersebut. Untuk versi multibahasa, jaga peran karakter dan maksud emosionalnya tetap stabil sambil memberi setiap naskah cukup ruang untuk ungkapan yang alami. Siapkan terjemahan sebagai bagian dari pengerjaan naskah, alih-alih menganggap arahan adegan bunyi sudah menyediakan semua keputusan pelokalan.</p><p>Seed Audio 1.0 dapat menghasilkan hingga dua menit dalam satu proses dan mendukung kelanjutan, menurut rilis produsen. Cerita yang lebih panjang terbantu oleh batas adegan dan arahan karakter yang dapat digunakan kembali. Pada setiap kelanjutan, dengarkan perubahan suara, tekstur latar, dan tempo, serta kata-kata yang menghubungkan bagian-bagiannya. Perlakukan audio yang dikembalikan sebagai aset untuk didengarkan: periksa informasi berkas aktualnya saat menyiapkan pemutaran atau mengimpornya ke editor, dan simpan naskah serta arahan adegan bersamanya untuk revisi. Produksi yang digabung harus diperiksa sebagai adegan berkesinambungan, bukan hanya sebagai klip terpisah.</p><p>Produsen menjelaskan kerangka terpadu tempat maksud kreatif pada tingkat bahasa memandu generator akustik berbasis difusi. Implikasi praktisnya bagi arahan adalah bahwa suara dan lingkungan dapat dipertimbangkan bersama. Berfokuslah pada beberapa hubungan yang mendefinisikan adegan: apakah suatu kalimat tampil di depan, apakah efek menyelanya, dan bagaimana suasana mendukung momen emosional. Menambahkan banyak isyarat bunyi yang tidak terkait membuat bagian hasil yang perlu direvisi lebih sulit dikenali. Ubah arahan untuk bagian tersebut ketika isyarat bunyi bersaing dengan dialog atau penampilannya tidak mencapai nada yang dimaksud.</p><p>Kesinambungan suara dalam materi panjang yang kompleks dan pengaturan waktu yang lebih rinci antarelemen bunyi tetap menjadi bidang pengembangan yang disebutkan dalam rilis. Pertahankan peninjauan produksi yang spesifik: kata-kata persis, identitas pembicara, bahasa, waktu masuk, keterpahaman, dan konsistensi antarkelanjutan. Keluaran yang berguna dari model ini adalah adegan yang dapat didengar atau penampilan suara. Keputusan terpisah tentang pemotongan editorial, takarir, dan format penyerahan dapat dibuat berdasarkan hasil aktual itu serta persyaratan produksi tujuan.</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 · Ucapan</b> <code>POST /v1/audio/speech</code></summary><dl class=\"method-capabilities\"><div><dt>Masukan</dt><dd><code>text</code></dd></div><div><dt>Keluaran</dt><dd><code>audio</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/seed-audio-1-0</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</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\">voice</code></th><td data-cell-label=\"Jenis\" data-field-type><span class=\"card-cell-label\">Jenis</span><code>string</code></td><td data-cell-label=\"Persyaratan\"><span class=\"card-cell-label\">Persyaratan</span>Opsional</td><td data-cell-label=\"Nilai &amp; batasan\"><span class=\"card-cell-label\">Nilai &amp; batasan</span><div>Panjang minimum: 1</div></td><td data-cell-label=\"Bawaan\" data-default=\"unspecified\"><span class=\"card-cell-label\">Bawaan</span>—</td></tr><tr><th data-cell-label=\"Kolom\" scope=\"row\"><span class=\"card-cell-label\">Kolom</span><code class=\"card-field-name\">response_format</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>mp3, pcm</div></td><td data-cell-label=\"Bawaan\" data-default=\"known\"><span class=\"card-cell-label\">Bawaan</span>pcm</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, input</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</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 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>Tarif Ailoot</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>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=\"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</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Keluaran · Token keluaran</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Masukan · Pembacaan cache</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Masukan · Penulisan cache</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Masukan · Penulisan cache, 1 jam</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>detik audio keluaran</th><td data-cell-label=\"Jadwal tarif\"><span class=\"card-cell-label\">Jadwal tarif</span>—</td><td data-cell-label=\"Satuan penagihan\"><span class=\"card-cell-label\">Satuan penagihan</span>per detik audio keluaran</td><td data-cell-label=\"Biaya\"><span class=\"card-cell-label\">Biaya</span><div><span>Keluaran · detik audio keluaran</span> <b>$0.005</b> <span class=\"price-unit\">per detik audio keluaran</span></div></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 · Ucapan</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-1119-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1119-panel-0\" aria-selected=\"true\" tabindex=\"0\">Gunakan input sebenarnya dan simpan hasil secara lengkap</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Salin kode\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-1119-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1119-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_INPUT_TEXT:?Set the actual documented input value}&quot;\nexport AILOOT_INPUT_TEXT\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\nrequest={&#39;model&#39;: &#39;bytedance-seed/seed-audio-1-0&#39;, &#39;input&#39;: &#39;${ACTUAL_INPUT_TEXT}&#39;}\nrequest[&#39;input&#39;]=os.environ[&#39;AILOOT_INPUT_TEXT&#39;]\nPath(&#39;request.json&#39;).write_text(json.dumps(request,ensure_ascii=False),encoding=&#39;utf-8&#39;)\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Terima dan simpan hasil</h3><h4>Ailoot Ultra · Ucapan</h4><p class=\"note-s\">Audio biner secara utuh atau respons audio_url asli, header, dan setiap aset milik Ailoot.</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-1120-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1120-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-1120-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1120-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 respons lengkap, berkas, dan bagian konten yang dikembalikan.</p><p class=\"note-s\">Simpan respons dan header secara lengkap, setiap keluaran aktual, identifikator asli yang dikembalikan, dan semua kolom usage. Pulihkan operasi asli tanpa mengirim ulang permintaan pembuatan.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Jika respons asli perlu diperiksa</h5><p class=\"note-s\">Simpan X-Client-Request-ID 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></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%2Fseed-audio-1-0&amp;route=Ultra&amp;caller=bytedance-seed%2Fseed-audio-1-0&amp;fmt=speech\"><code>bytedance-seed/seed-audio-1-0</code></a></span></p><h4>Alias jalur metode</h4><p class=\"note-s\">Gunakan jalur metode yang ditampilkan di atas.</p><h4>ID pemanggil terkait</h4><p class=\"note-s\"><a href=\"#m=bytedance-seed%2Fseed-audio-1-0&amp;route=Ultra&amp;caller=bytedance-seed%2Fseed-audio-1-0&amp;fmt=speech\"><code>bytedance-seed/seed-audio-1-0</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "bytedance-seed/seed-audio-1-0",
        "fmt": "speech",
        "http": "POST",
        "path": "/v1/audio/speech",
        "request_model_id": "bytedance-seed/seed-audio-1-0",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|speech|/v1/audio/speech|bytedance-seed%2Fseed-audio-1-0",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "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": "audio",
              "formats": [
                "mp3",
                "pcm"
              ],
              "result": "Audio biner secara utuh atau respons audio_url asli, header, dan setiap aset milik Ailoot."
            },
            "parameters": [
              {
                "enum": [
                  "bytedance-seed/seed-audio-1-0"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "max_length": 3000,
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string"
              },
              {
                "min_length": 1,
                "name": "voice",
                "required": false,
                "type": "string"
              },
              {
                "default": "pcm",
                "default_known": true,
                "enum": [
                  "mp3",
                  "pcm"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              },
              {
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input": {
                  "maxLength": 3000,
                  "minLength": 1,
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "bytedance-seed/seed-audio-1-0"
                  ],
                  "type": "string"
                },
                "provider": {
                  "description": "Documented speech data policy and provider-specific options.",
                  "properties": {
                    "data_collection": {
                      "enum": [
                        "allow",
                        "deny",
                        null
                      ],
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "options": {
                      "type": "object"
                    },
                    "zdr": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    }
                  },
                  "type": "object"
                },
                "response_format": {
                  "default": "pcm",
                  "enum": [
                    "mp3",
                    "pcm"
                  ],
                  "type": "string"
                },
                "voice": {
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input": "${ACTUAL_INPUT_TEXT}",
                "model": "bytedance-seed/seed-audio-1-0"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "required": [
              "model",
              "input"
            ]
          },
          "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/audio/speech"
          },
          "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": "audio",
            "formats": [
              "mp3",
              "pcm"
            ],
            "result": "Complete binary audio or original audio_url response, headers and every owned asset."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per output audio second"
            },
            "label": "output audio second",
            "units": [
              {
                "amount": "0.005",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_output_second",
                "label": "output audio second",
                "native_amount_usd_per_unit": "0.005",
                "native_quantity": 1,
                "public_unit_label": "per output audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "audio_output_second"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_INPUT_TEXT:?Set the actual documented input value}\"\nexport AILOOT_INPUT_TEXT\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nrequest={'model': 'bytedance-seed/seed-audio-1-0', 'input': '${ACTUAL_INPUT_TEXT}'}\nrequest['input']=os.environ['AILOOT_INPUT_TEXT']\nPath('request.json').write_text(json.dumps(request,ensure_ascii=False),encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\n",
            "label": "Use actual input and retain the complete result",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\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": "speech",
        "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"
        ],
        "label": "Ucapan",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_speech",
        "out": null,
        "output": [
          "audio"
        ],
        "path": "/v1/audio/speech",
        "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": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "audio_output_second": 0.005
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per output audio second"
            },
            "label": "output audio second",
            "units": [
              {
                "amount": "0.005",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_output_second",
                "label": "output audio second",
                "native_amount_usd_per_unit": "0.005",
                "native_quantity": 1,
                "public_unit_label": "per output audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "audio_output_second"
              }
            ]
          }
        ],
        "request_model_id": "bytedance-seed/seed-audio-1-0",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.005",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_output_second",
            "label": "output audio second",
            "native_amount_usd_per_unit": "0.005",
            "native_quantity": 1,
            "public_unit_label": "per output audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "audio_output_second"
          }
        ]
      }
    }
  ],
  "model_id": "bytedance-seed/seed-audio-1-0",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "e7c0ab1495b7a7414f885d26adb7c805c2c661ecdc267ae0f0a3a9c2ed564fb3",
    "input_html_sha256": "47dfe1a69b0aeaca2e4caf7be1096c8b7b305bd02c6e85cc0fd708586835e757",
    "private_audit_sha256": "56b18c1b9a63b6de12439eda56fd32bd4770a42703a2cdc5b5196460e7736b7c",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/id/bytedance-seed-seed-audio-1-0/",
    "description": "ByteDance Seed Audio 1.0 menghasilkan penampilan suara dan adegan bunyi dari arahan kreatif. Model ini mengoordinasikan suara, efek, dan ambiens, mendukung pengaturan waktu dialog dengan interval 100 ms, serta mencakup lebih dari 20 bahasa. Produsen menjelaskan durasi hingga dua menit per generasi dengan dukungan kelanjutan.",
    "locale": "id",
    "md_url": "https://ailoot.ai/models/id/bytedance-seed-seed-audio-1-0/index.md",
    "title": "ByteDance Seed: Seed Audio 1.0 — Ailoot",
    "url": "https://ailoot.ai/models/id/bytedance-seed-seed-audio-1-0/"
  },
  "rawModel": {
    "about": "ByteDance Seed Audio 1.0 adalah model pembuatan audio yang dirancang berdasarkan adegan bunyi. Ucapan, efek, dan ambiens dapat dibentuk bersama melalui arahan teks. Hal ini membuatnya berguna untuk cerita bersuara, pertemuan dalam permainan, percakapan dramatis singkat, atau adegan yang menyertai video hasil suntingan. Untuk pekerjaan yang hanya menggunakan suara, jelaskan pembicara dan penampilannya; untuk adegan yang lebih lengkap, jelaskan juga lingkungan akustik serta hubungan antara dialog dan bunyi di sekitarnya.\n\nSiapkan arahan sesuai urutan yang seharusnya dialami pendengar dalam adegan. Identifikasi karakter, keadaan emosi yang dimaksud, dan kata-kata yang perlu mereka ucapkan. Kemudian jelaskan ruang, isyarat bunyi yang penting, dan perkembangan momen tersebut. Arahan produksi harus membedakan dialog yang persis dari deskripsi adegan agar hasil dapat diperiksa terhadap keduanya. Nyatakan elemen mana yang penting untuk pemahaman dan mana yang harus tetap berada di latar. Ruangan yang tenang, stasiun yang ramai, dan halaman terbuka membutuhkan desain suara yang berbeda meskipun kalimat yang diucapkan sama.\n\nContoh orisinalnya adalah karakter permainan yang menenangkan rekannya dalam adegan singkat saat berteduh: suara yang tertahan berkata “Kita bisa menunggu di sini,” dengan ambiens hujan yang pelan dan satu bunyi langkah mendekat setelah kalimat tersebut. Pemeriksaan dengan mendengarkan yang berguna adalah apakah kata-katanya tetap dapat dipahami, suaranya menyampaikan ketenangan, dan isyarat bunyinya muncul pada titik yang masuk akal dalam adegan. Arahan lain dapat meminta narator yang jelas untuk memperkenalkan produk tanpa suasana bunyi di sekitarnya. Ini merupakan contoh cara menentukan maksud, bukan catatan audio yang telah dihasilkan atau janji tentang hasil mix yang sudah selesai.\n\nProdusen mendokumentasikan kendali waktu pada tingkat prompt untuk dialog karakter dengan interval 100 ms. Gunakan kendali itu untuk menjelaskan kapan suatu kalimat harus masuk dalam rangkaian berskenario atau untuk merencanakan materi ucapan agar sesuai dengan suntingan yang sudah ada. Pisahkan pengaturan waktu dialog dari penempatan efek dan ambiens: rilis tersebut menyebut dialog karakter sebagai fokus utama kendali waktu. Tinjau awal, jeda, dan tumpang tindih yang sebenarnya terhadap adegan yang dimaksud. Interval waktu menggambarkan tingkat ketelitian kendali model dan tidak menghilangkan kebutuhan untuk mendengarkan penampilan akhirnya.\n\nSuara dapat ditentukan melalui deskripsi teks, sampel referensi yang diizinkan, atau keduanya. Produsen menyajikannya sebagai pembentukan suara tanpa melatih model terpisah untuk setiap pembicara. Jelaskan karakteristik suara yang stabil secara terpisah dari emosi kalimat saat ini. Karakter yang muncul berulang mungkin memerlukan perkenalan yang tenang dan respons mendesak sambil tetap dapat dikenali. Sebagai persiapan praktis, pilih referensi yang jelas dengan suara yang dimaksud mudah terdengar, lalu tentukan hal-hal yang harus terbawa ke penampilan baru. Pertahankan konsistensi referensi dan arahan karakter tersebut saat menyiapkan adegan yang saling terkait.\n\nRilis tersebut mendokumentasikan generasi dalam lebih dari 20 bahasa, termasuk bahasa Tionghoa, Inggris, Jepang, Korea, Spanyol, Indonesia, Jerman, Prancis, Thai, dan Vietnam. Rilis itu menjelaskan penyesuaian suara karakter yang dapat dikenali terhadap ritme dan ekspresi berbagai bahasa. Berikan dialog dalam bahasa akhir dan tinjau nama, tekanan ucapan, jeda, serta nada emosionalnya bersama pendengar yang memahami bahasa tersebut. Untuk versi multibahasa, jaga peran karakter dan maksud emosionalnya tetap stabil sambil memberi setiap naskah cukup ruang untuk ungkapan yang alami. Siapkan terjemahan sebagai bagian dari pengerjaan naskah, alih-alih menganggap arahan adegan bunyi sudah menyediakan semua keputusan pelokalan.\n\nSeed Audio 1.0 dapat menghasilkan hingga dua menit dalam satu proses dan mendukung kelanjutan, menurut rilis produsen. Cerita yang lebih panjang terbantu oleh batas adegan dan arahan karakter yang dapat digunakan kembali. Pada setiap kelanjutan, dengarkan perubahan suara, tekstur latar, dan tempo, serta kata-kata yang menghubungkan bagian-bagiannya. Perlakukan audio yang dikembalikan sebagai aset untuk didengarkan: periksa informasi berkas aktualnya saat menyiapkan pemutaran atau mengimpornya ke editor, dan simpan naskah serta arahan adegan bersamanya untuk revisi. Produksi yang digabung harus diperiksa sebagai adegan berkesinambungan, bukan hanya sebagai klip terpisah.\n\nProdusen menjelaskan kerangka terpadu tempat maksud kreatif pada tingkat bahasa memandu generator akustik berbasis difusi. Implikasi praktisnya bagi arahan adalah bahwa suara dan lingkungan dapat dipertimbangkan bersama. Berfokuslah pada beberapa hubungan yang mendefinisikan adegan: apakah suatu kalimat tampil di depan, apakah efek menyelanya, dan bagaimana suasana mendukung momen emosional. Menambahkan banyak isyarat bunyi yang tidak terkait membuat bagian hasil yang perlu direvisi lebih sulit dikenali. Ubah arahan untuk bagian tersebut ketika isyarat bunyi bersaing dengan dialog atau penampilannya tidak mencapai nada yang dimaksud.\n\nKesinambungan suara dalam materi panjang yang kompleks dan pengaturan waktu yang lebih rinci antarelemen bunyi tetap menjadi bidang pengembangan yang disebutkan dalam rilis. Pertahankan peninjauan produksi yang spesifik: kata-kata persis, identitas pembicara, bahasa, waktu masuk, keterpahaman, dan konsistensi antarkelanjutan. Keluaran yang berguna dari model ini adalah adegan yang dapat didengar atau penampilan suara. Keputusan terpisah tentang pemotongan editorial, takarir, dan format penyerahan dapat dibuat berdasarkan hasil aktual itu serta persyaratan produksi tujuan.",
    "alias_of": null,
    "aliases": [],
    "author": "ByteDance Seed",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "text"
      ],
      "manufacturer_output": [
        "speech"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.005",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_output_second",
            "label": "output audio second",
            "native_amount_usd_per_unit": "0.005",
            "native_quantity": 1,
            "public_unit_label": "per output audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "audio_output_second"
          }
        ],
        "summary": "Informasi lengkap harga konfigurasi tersedia di bagian detail."
      }
    ],
    "ctx": null,
    "formats": [
      "speech"
    ],
    "id": "bytedance-seed/seed-audio-1-0",
    "input": [
      "text"
    ],
    "kind": "audio",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "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": "audio",
              "formats": [
                "mp3",
                "pcm"
              ],
              "result": "Audio biner secara utuh atau respons audio_url asli, header, dan setiap aset milik Ailoot."
            },
            "parameters": [
              {
                "enum": [
                  "bytedance-seed/seed-audio-1-0"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "max_length": 3000,
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string"
              },
              {
                "min_length": 1,
                "name": "voice",
                "required": false,
                "type": "string"
              },
              {
                "default": "pcm",
                "default_known": true,
                "enum": [
                  "mp3",
                  "pcm"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              },
              {
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input": {
                  "maxLength": 3000,
                  "minLength": 1,
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "bytedance-seed/seed-audio-1-0"
                  ],
                  "type": "string"
                },
                "provider": {
                  "description": "Documented speech data policy and provider-specific options.",
                  "properties": {
                    "data_collection": {
                      "enum": [
                        "allow",
                        "deny",
                        null
                      ],
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "options": {
                      "type": "object"
                    },
                    "zdr": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    }
                  },
                  "type": "object"
                },
                "response_format": {
                  "default": "pcm",
                  "enum": [
                    "mp3",
                    "pcm"
                  ],
                  "type": "string"
                },
                "voice": {
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input": "${ACTUAL_INPUT_TEXT}",
                "model": "bytedance-seed/seed-audio-1-0"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "required": [
              "model",
              "input"
            ]
          },
          "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/audio/speech"
          },
          "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": "audio",
            "formats": [
              "mp3",
              "pcm"
            ],
            "result": "Complete binary audio or original audio_url response, headers and every owned asset."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per output audio second"
            },
            "label": "output audio second",
            "units": [
              {
                "amount": "0.005",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_output_second",
                "label": "output audio second",
                "native_amount_usd_per_unit": "0.005",
                "native_quantity": 1,
                "public_unit_label": "per output audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "audio_output_second"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_INPUT_TEXT:?Set the actual documented input value}\"\nexport AILOOT_INPUT_TEXT\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nrequest={'model': 'bytedance-seed/seed-audio-1-0', 'input': '${ACTUAL_INPUT_TEXT}'}\nrequest['input']=os.environ['AILOOT_INPUT_TEXT']\nPath('request.json').write_text(json.dumps(request,ensure_ascii=False),encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\n",
            "label": "Use actual input and retain the complete result",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\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": "speech",
        "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"
        ],
        "label": "Ucapan",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_speech",
        "out": null,
        "output": [
          "audio"
        ],
        "path": "/v1/audio/speech",
        "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": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "audio_output_second": 0.005
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per output audio second"
            },
            "label": "output audio second",
            "units": [
              {
                "amount": "0.005",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_output_second",
                "label": "output audio second",
                "native_amount_usd_per_unit": "0.005",
                "native_quantity": 1,
                "public_unit_label": "per output audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "audio_output_second"
              }
            ]
          }
        ],
        "request_model_id": "bytedance-seed/seed-audio-1-0",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.005",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_output_second",
            "label": "output audio second",
            "native_amount_usd_per_unit": "0.005",
            "native_quantity": 1,
            "public_unit_label": "per output audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "audio_output_second"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "bytedance-seed/seed-audio-1-0",
        "request_model_id": "bytedance-seed/seed-audio-1-0",
        "route_label": "Ultra"
      }
    ],
    "name": "ByteDance Seed: Seed Audio 1.0",
    "price": {
      "in": null,
      "in_label": null,
      "out": 0.005,
      "out_label": "per output audio second",
      "sort_in": null,
      "sort_out": 0.005,
      "varies": true
    },
    "short": "ByteDance Seed Audio 1.0 menghasilkan penampilan suara dan adegan bunyi dari arahan kreatif. Model ini mengoordinasikan suara, efek, dan ambiens, mendukung pengaturan waktu dialog dengan interval 100 ms, serta mencakup lebih dari 20 bahasa. Produsen menjelaskan durasi hingga dua menit per generasi dengan dukungan kelanjutan."
  },
  "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": "ByteDance Seed Audio 1.0 menghasilkan penampilan suara dan adegan bunyi dari arahan kreatif. Model ini mengoordinasikan suara, efek, dan ambiens, mendukung pengaturan waktu dialog dengan interval 100 ms, serta mencakup lebih dari 20 bahasa. Produsen menjelaskan durasi hingga dua menit per generasi dengan dukungan kelanjutan.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "eb427628c65299771c6a531096069725d1c3cf8ba2d584fbd927326014e13b53",
    "renderer_sha256": "2a0471475a29000c23db326ca1e315df73dee7524f6bc2907818ee3458813f2d"
  },
  "sourceRevision": "99e114db9ea292e2cdae7550493900e054a40422b7ad78c6fa77fa08bd20d91f"
}
