{
  "aboutHtml": "<p>Google Chirp 3 ialah model pengecaman pertuturan automatik berbilang bahasa yang menukar audio pertuturan kepada teks. Google mendokumenkannya sebagai model transkripsi Chirp 3 dalam keluarga Speech-to-Text V2, dengan pengecam model chirp_3. Tujuannya ialah mengenal pasti pertuturan rakaman atau distrim, dengan pengesanan bahasa dan ciri khusus transkripsi. Artifak terhasil ialah transkrip dan metadata yang disokong kaedah pengecaman terpilih, bukannya pertuturan terjana atau jawapan pembantu terbuka.</p><p>Pengeluar membezakan pengecaman penstriman, pengecaman segerak bagi klip ringkas dan pengecaman kelompok bagi rakaman lebih panjang. Pilih mod mengikut audio sumber serta hasil wajib. Untuk nota suara ringkas, respons teks lengkap mungkin mencukupi. Untuk temu bual atau panggilan rakaman, hasil kelompok dengan maklumat penutur boleh lebih berguna. Untuk kapsyen langsung atau antara muka arahan lisan, bezakan teks perantaraan daripada hasil pengecaman akhir dan kekalkan selang audio yang diterangkannya.</p><p>Sediakan audio dalam pengekodan yang dijangkakan pelaksanaan pengecaman. Contoh Chirp 3 Google menggunakan penyahkodan yang dikesan secara automatik bagi fail rakaman dan penyahkodan yang dikonfigurasi secara eksplisit bagi konfigurasi penstriman mentah. Rujukan penyahkod V2 berkaitan menyenaraikan WAV PCM atau audio dikompand, FLAC, MP3, Ogg/WebM Opus dan AAC dalam bekas MP4, M4A atau MOV, antara pengekodan disokongnya. Nama bekas tidak menggantikan codec dan konfigurasi sampel sebenar. Kekalkan pertuturan jelas dan elakkan pemotongan isyarat teruk atau penukaran tidak perlu yang menghilangkan butiran boleh didengar.</p><p>Chirp 3 boleh mengenal pasti dan mentranskripsikan bahasa dominan secara automatik, dan set lokal dijangka boleh mengecilkan pilihan pengecamannya. Ketersediaan bahasa berbeza mengikut kaedah dan ciri. Senarai bahasa transkripsi lebih luas daripada senarai diarisasi, jadi pengecaman sesuatu bahasa tidak membuktikan setiap ciri penutur atau pemasaan terpakai padanya. Gunakan lokal yang sepadan dengan rakaman dan simpan nama yang disebut ketika pertuturan bertukar bahasa atau istilah pakar untuk semakan. Label bahasa dikesan ialah sebahagian hasil, bukannya bukti semua perkataan luar biasa dikenal pasti dengan betul.</p><p>Diarisasi penutur mengelompokkan pertuturan mengikut suara dalam rakaman satu saluran. Google memberikan contoh transkripsi kelompok dengan maklumat penutur bagi setiap perkataan. Untuk temu bual, simpan label itu bersama teks dikenal pasti dan bandingkan perubahan penutur dengan rakaman sebelum melampirkan nama atau peranan sebenar. Suara serupa, gangguan dan pertuturan bertindih boleh menyukarkan atribusi. Jelaskan susunan saluran sumber dan tugas semakan penutur dimaksudkan daripada menganggap label sebagai identiti yang disahkan secara bebas.</p><p>Pemasaannya juga khusus mengikut kaedah. Pengecaman penstriman memberikan cap masa peringkat ujaran, manakala panduan pengecaman fail pembuat menerangkan pemasaan perkataan pilihan dengan kemungkinan kompromi kualiti transkripsi. Simpan metadata yang benar-benar dikembalikan kaedah terpilih dan semak penjajaran bersama ungkapan. Aliran kerja kapsyen memerlukan kedua-duanya: teks dikenal pasti yang boleh dibaca dan bukti bahawa sempadan pemasaan sepadan dengan bunyi betul. Google turut memberi amaran bahawa nilai keyakinan peringkat perkataan yang dikembalikan bukan skor keyakinan sebenar, jadi ia tidak sepatutnya digunakan untuk memperakui perkataan itu betul.</p><p>Penyesuaian pertuturan membekalkan frasa dan kata nama khas yang mungkin terdapat dalam rakaman. Pembuat mendokumenkan kamus sehingga 1,000 frasa dan mengesyorkan sesedikit mungkin entri berkaitan untuk mengelakkan kemerosotan pengecaman istilah lain. Untuk pembentangan teknikal, sediakan senarai pendek nama produk serta singkatan sebenar, kemudian periksanya dalam transkrip. Pemberatan keutamaan membantu pengecaman mempertimbangkan istilah; ia tidak membuktikan istilah itu dituturkan atau menggantikan semakan terhadap audio.</p><p>Model menyediakan tanda baca dan penggunaan huruf besar automatik, yang boleh dinyahaktifkan oleh antara muka didokumenkan. Google turut menerangkan ciri pratonton bagi arahan format transkripsi tersuai, seperti cara nama atau tarikh tertentu perlu ditulis. Pastikan arahan itu berfokus pada pemformatan pertuturan dikenal pasti. Transkrip yang menormalkan tarikh atau menggunakan huruf besar untuk jenama masih perlu mengekalkan makna lisan. Ringkasan, terjemahan atau analisis fakta ialah penggunaan transkrip kemudian, bukannya sesuatu yang dibuktikan hasil pengecaman itu sendiri.</p><p>Penyahhingar terbina dalam bertujuan mengurangkan muzik latar dan bunyi persekitaran seperti hujan atau hingar jalanan. Google menyatakan secara jelas bahawa ia tidak boleh membuang suara manusia latar belakang. Kekalkan perbezaan itu semasa menyediakan rakaman dengan perbualan bertindih. Semak bahagian bising dan sunyi terhadap sumber daripada mengandaikan transkrip yang kelihatan lebih bersih membuktikan bunyi gangguan dibuang. Hasil berguna memastikan petikan tidak pasti boleh dikenal pasti untuk pembetulan.</p><p>Untuk tugas penstriman, sensitiviti penentuan titik akhir mengubah bila ujaran dianggap selesai. Pembuat menerangkan tetapan standard, short dan supershort untuk pertuturan dijangka yang semakin ringkas. Tetapan lebih pantas boleh memotong penutur yang berjeda di pertengahan fikiran. Padankan tetapan dengan imlak semula jadi, ayat pendek atau arahan sangat ringkas, dan simpan status hasil akhir bersama transkrip. Untuk fail lengkap, semak nama, kuantiti, kata nafi dan sempadan penutur, kemudian simpan mod terpilih serta audio sumber supaya hasil boleh disemak atau digunakan semula.</p>",
  "aboutText": "Google Chirp 3 ialah model pengecaman pertuturan automatik berbilang bahasa yang menukar audio pertuturan kepada teks. Google mendokumenkannya sebagai model transkripsi Chirp 3 dalam keluarga Speech-to-Text V2, dengan pengecam model chirp_3. Tujuannya ialah mengenal pasti pertuturan rakaman atau distrim, dengan pengesanan bahasa dan ciri khusus transkripsi. Artifak terhasil ialah transkrip dan metadata yang disokong kaedah pengecaman terpilih, bukannya pertuturan terjana atau jawapan pembantu terbuka.\n\nPengeluar membezakan pengecaman penstriman, pengecaman segerak bagi klip ringkas dan pengecaman kelompok bagi rakaman lebih panjang. Pilih mod mengikut audio sumber serta hasil wajib. Untuk nota suara ringkas, respons teks lengkap mungkin mencukupi. Untuk temu bual atau panggilan rakaman, hasil kelompok dengan maklumat penutur boleh lebih berguna. Untuk kapsyen langsung atau antara muka arahan lisan, bezakan teks perantaraan daripada hasil pengecaman akhir dan kekalkan selang audio yang diterangkannya.\n\nSediakan audio dalam pengekodan yang dijangkakan pelaksanaan pengecaman. Contoh Chirp 3 Google menggunakan penyahkodan yang dikesan secara automatik bagi fail rakaman dan penyahkodan yang dikonfigurasi secara eksplisit bagi konfigurasi penstriman mentah. Rujukan penyahkod V2 berkaitan menyenaraikan WAV PCM atau audio dikompand, FLAC, MP3, Ogg/WebM Opus dan AAC dalam bekas MP4, M4A atau MOV, antara pengekodan disokongnya. Nama bekas tidak menggantikan codec dan konfigurasi sampel sebenar. Kekalkan pertuturan jelas dan elakkan pemotongan isyarat teruk atau penukaran tidak perlu yang menghilangkan butiran boleh didengar.\n\nChirp 3 boleh mengenal pasti dan mentranskripsikan bahasa dominan secara automatik, dan set lokal dijangka boleh mengecilkan pilihan pengecamannya. Ketersediaan bahasa berbeza mengikut kaedah dan ciri. Senarai bahasa transkripsi lebih luas daripada senarai diarisasi, jadi pengecaman sesuatu bahasa tidak membuktikan setiap ciri penutur atau pemasaan terpakai padanya. Gunakan lokal yang sepadan dengan rakaman dan simpan nama yang disebut ketika pertuturan bertukar bahasa atau istilah pakar untuk semakan. Label bahasa dikesan ialah sebahagian hasil, bukannya bukti semua perkataan luar biasa dikenal pasti dengan betul.\n\nDiarisasi penutur mengelompokkan pertuturan mengikut suara dalam rakaman satu saluran. Google memberikan contoh transkripsi kelompok dengan maklumat penutur bagi setiap perkataan. Untuk temu bual, simpan label itu bersama teks dikenal pasti dan bandingkan perubahan penutur dengan rakaman sebelum melampirkan nama atau peranan sebenar. Suara serupa, gangguan dan pertuturan bertindih boleh menyukarkan atribusi. Jelaskan susunan saluran sumber dan tugas semakan penutur dimaksudkan daripada menganggap label sebagai identiti yang disahkan secara bebas.\n\nPemasaannya juga khusus mengikut kaedah. Pengecaman penstriman memberikan cap masa peringkat ujaran, manakala panduan pengecaman fail pembuat menerangkan pemasaan perkataan pilihan dengan kemungkinan kompromi kualiti transkripsi. Simpan metadata yang benar-benar dikembalikan kaedah terpilih dan semak penjajaran bersama ungkapan. Aliran kerja kapsyen memerlukan kedua-duanya: teks dikenal pasti yang boleh dibaca dan bukti bahawa sempadan pemasaan sepadan dengan bunyi betul. Google turut memberi amaran bahawa nilai keyakinan peringkat perkataan yang dikembalikan bukan skor keyakinan sebenar, jadi ia tidak sepatutnya digunakan untuk memperakui perkataan itu betul.\n\nPenyesuaian pertuturan membekalkan frasa dan kata nama khas yang mungkin terdapat dalam rakaman. Pembuat mendokumenkan kamus sehingga 1,000 frasa dan mengesyorkan sesedikit mungkin entri berkaitan untuk mengelakkan kemerosotan pengecaman istilah lain. Untuk pembentangan teknikal, sediakan senarai pendek nama produk serta singkatan sebenar, kemudian periksanya dalam transkrip. Pemberatan keutamaan membantu pengecaman mempertimbangkan istilah; ia tidak membuktikan istilah itu dituturkan atau menggantikan semakan terhadap audio.\n\nModel menyediakan tanda baca dan penggunaan huruf besar automatik, yang boleh dinyahaktifkan oleh antara muka didokumenkan. Google turut menerangkan ciri pratonton bagi arahan format transkripsi tersuai, seperti cara nama atau tarikh tertentu perlu ditulis. Pastikan arahan itu berfokus pada pemformatan pertuturan dikenal pasti. Transkrip yang menormalkan tarikh atau menggunakan huruf besar untuk jenama masih perlu mengekalkan makna lisan. Ringkasan, terjemahan atau analisis fakta ialah penggunaan transkrip kemudian, bukannya sesuatu yang dibuktikan hasil pengecaman itu sendiri.\n\nPenyahhingar terbina dalam bertujuan mengurangkan muzik latar dan bunyi persekitaran seperti hujan atau hingar jalanan. Google menyatakan secara jelas bahawa ia tidak boleh membuang suara manusia latar belakang. Kekalkan perbezaan itu semasa menyediakan rakaman dengan perbualan bertindih. Semak bahagian bising dan sunyi terhadap sumber daripada mengandaikan transkrip yang kelihatan lebih bersih membuktikan bunyi gangguan dibuang. Hasil berguna memastikan petikan tidak pasti boleh dikenal pasti untuk pembetulan.\n\nUntuk tugas penstriman, sensitiviti penentuan titik akhir mengubah bila ujaran dianggap selesai. Pembuat menerangkan tetapan standard, short dan supershort untuk pertuturan dijangka yang semakin ringkas. Tetapan lebih pantas boleh memotong penutur yang berjeda di pertengahan fikiran. Padankan tetapan dengan imlak semula jadi, ayat pendek atau arahan sangat ringkas, dan simpan status hasil akhir bersama transkrip. Untuk fail lengkap, semak nama, kuantiti, kata nafi dan sempadan penutur, kemudian simpan mod terpilih serta audio sumber supaya hasil boleh disemak atau digunakan semula.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "7129996fb777598fb88009d4ab1c501d74d63f996701b2626387b775062cec98",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "ms",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">G</span><h2 id=\"sheet-title\">Google: Chirp 3</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Tutup\">×</button></div><div class=\"idline\"><span>Google /</span><code>google/chirp-3</code><button type=\"button\" id=\"copy-id\">Salin ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Bahagian kad model\"><button type=\"button\" data-card-jump=\"overview\">Pengenalan</button><button type=\"button\" data-card-jump=\"methods\">Input &amp; kaedah</button><button type=\"button\" data-card-jump=\"pricing\">Pelan harga</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=\"Kaedah 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|transcriptions|/v1/audio/transcriptions|google%2Fchirp-3\">Pengecaman</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\">Pengenalan</h3><p class=\"mdesc-full\">Google Chirp 3 ialah model pengecaman pertuturan berbilang bahasa untuk penstriman, rakaman ringkas dan transkripsi kelompok lebih panjang. Ia menyediakan pengesanan bahasa automatik, tanda baca, penyesuaian kosa kata serta pemasaan atau metadata penutur mengikut mod. Penyahhingarnya mengurangkan hingar latar belakang tetapi tidak boleh membuang suara lain.</p><dl class=\"card-io\" data-card-io><div><dt>Input yang diterima</dt><dd>Audio</dd></div><div><dt>Hasil</dt><dd>Teks</dd></div></dl><details class=\"card-about\"><summary>Tentang model</summary><p class=\"note-s\" data-model-method-boundary>Huraian ini merangkumi keupayaan model. Input, output dan pilihan yang tersedia di Ailoot disenaraikan di bawah untuk kaedah yang dipilih.</p><div class=\"mabout\" id=\"m-about\"><p>Google Chirp 3 ialah model pengecaman pertuturan automatik berbilang bahasa yang menukar audio pertuturan kepada teks. Google mendokumenkannya sebagai model transkripsi Chirp 3 dalam keluarga Speech-to-Text V2, dengan pengecam model chirp_3. Tujuannya ialah mengenal pasti pertuturan rakaman atau distrim, dengan pengesanan bahasa dan ciri khusus transkripsi. Artifak terhasil ialah transkrip dan metadata yang disokong kaedah pengecaman terpilih, bukannya pertuturan terjana atau jawapan pembantu terbuka.</p><p>Pengeluar membezakan pengecaman penstriman, pengecaman segerak bagi klip ringkas dan pengecaman kelompok bagi rakaman lebih panjang. Pilih mod mengikut audio sumber serta hasil wajib. Untuk nota suara ringkas, respons teks lengkap mungkin mencukupi. Untuk temu bual atau panggilan rakaman, hasil kelompok dengan maklumat penutur boleh lebih berguna. Untuk kapsyen langsung atau antara muka arahan lisan, bezakan teks perantaraan daripada hasil pengecaman akhir dan kekalkan selang audio yang diterangkannya.</p><p>Sediakan audio dalam pengekodan yang dijangkakan pelaksanaan pengecaman. Contoh Chirp 3 Google menggunakan penyahkodan yang dikesan secara automatik bagi fail rakaman dan penyahkodan yang dikonfigurasi secara eksplisit bagi konfigurasi penstriman mentah. Rujukan penyahkod V2 berkaitan menyenaraikan WAV PCM atau audio dikompand, FLAC, MP3, Ogg/WebM Opus dan AAC dalam bekas MP4, M4A atau MOV, antara pengekodan disokongnya. Nama bekas tidak menggantikan codec dan konfigurasi sampel sebenar. Kekalkan pertuturan jelas dan elakkan pemotongan isyarat teruk atau penukaran tidak perlu yang menghilangkan butiran boleh didengar.</p><p>Chirp 3 boleh mengenal pasti dan mentranskripsikan bahasa dominan secara automatik, dan set lokal dijangka boleh mengecilkan pilihan pengecamannya. Ketersediaan bahasa berbeza mengikut kaedah dan ciri. Senarai bahasa transkripsi lebih luas daripada senarai diarisasi, jadi pengecaman sesuatu bahasa tidak membuktikan setiap ciri penutur atau pemasaan terpakai padanya. Gunakan lokal yang sepadan dengan rakaman dan simpan nama yang disebut ketika pertuturan bertukar bahasa atau istilah pakar untuk semakan. Label bahasa dikesan ialah sebahagian hasil, bukannya bukti semua perkataan luar biasa dikenal pasti dengan betul.</p><p>Diarisasi penutur mengelompokkan pertuturan mengikut suara dalam rakaman satu saluran. Google memberikan contoh transkripsi kelompok dengan maklumat penutur bagi setiap perkataan. Untuk temu bual, simpan label itu bersama teks dikenal pasti dan bandingkan perubahan penutur dengan rakaman sebelum melampirkan nama atau peranan sebenar. Suara serupa, gangguan dan pertuturan bertindih boleh menyukarkan atribusi. Jelaskan susunan saluran sumber dan tugas semakan penutur dimaksudkan daripada menganggap label sebagai identiti yang disahkan secara bebas.</p><p>Pemasaannya juga khusus mengikut kaedah. Pengecaman penstriman memberikan cap masa peringkat ujaran, manakala panduan pengecaman fail pembuat menerangkan pemasaan perkataan pilihan dengan kemungkinan kompromi kualiti transkripsi. Simpan metadata yang benar-benar dikembalikan kaedah terpilih dan semak penjajaran bersama ungkapan. Aliran kerja kapsyen memerlukan kedua-duanya: teks dikenal pasti yang boleh dibaca dan bukti bahawa sempadan pemasaan sepadan dengan bunyi betul. Google turut memberi amaran bahawa nilai keyakinan peringkat perkataan yang dikembalikan bukan skor keyakinan sebenar, jadi ia tidak sepatutnya digunakan untuk memperakui perkataan itu betul.</p><p>Penyesuaian pertuturan membekalkan frasa dan kata nama khas yang mungkin terdapat dalam rakaman. Pembuat mendokumenkan kamus sehingga 1,000 frasa dan mengesyorkan sesedikit mungkin entri berkaitan untuk mengelakkan kemerosotan pengecaman istilah lain. Untuk pembentangan teknikal, sediakan senarai pendek nama produk serta singkatan sebenar, kemudian periksanya dalam transkrip. Pemberatan keutamaan membantu pengecaman mempertimbangkan istilah; ia tidak membuktikan istilah itu dituturkan atau menggantikan semakan terhadap audio.</p><p>Model menyediakan tanda baca dan penggunaan huruf besar automatik, yang boleh dinyahaktifkan oleh antara muka didokumenkan. Google turut menerangkan ciri pratonton bagi arahan format transkripsi tersuai, seperti cara nama atau tarikh tertentu perlu ditulis. Pastikan arahan itu berfokus pada pemformatan pertuturan dikenal pasti. Transkrip yang menormalkan tarikh atau menggunakan huruf besar untuk jenama masih perlu mengekalkan makna lisan. Ringkasan, terjemahan atau analisis fakta ialah penggunaan transkrip kemudian, bukannya sesuatu yang dibuktikan hasil pengecaman itu sendiri.</p><p>Penyahhingar terbina dalam bertujuan mengurangkan muzik latar dan bunyi persekitaran seperti hujan atau hingar jalanan. Google menyatakan secara jelas bahawa ia tidak boleh membuang suara manusia latar belakang. Kekalkan perbezaan itu semasa menyediakan rakaman dengan perbualan bertindih. Semak bahagian bising dan sunyi terhadap sumber daripada mengandaikan transkrip yang kelihatan lebih bersih membuktikan bunyi gangguan dibuang. Hasil berguna memastikan petikan tidak pasti boleh dikenal pasti untuk pembetulan.</p><p>Untuk tugas penstriman, sensitiviti penentuan titik akhir mengubah bila ujaran dianggap selesai. Pembuat menerangkan tetapan standard, short dan supershort untuk pertuturan dijangka yang semakin ringkas. Tetapan lebih pantas boleh memotong penutur yang berjeda di pertengahan fikiran. Padankan tetapan dengan imlak semula jadi, ayat pendek atau arahan sangat ringkas, dan simpan status hasil akhir bersama transkrip. Untuk fail lengkap, semak nama, kuantiti, kata nafi dan sempadan penutur, kemudian simpan mod terpilih serta audio sumber supaya hasil boleh disemak atau digunakan semula.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Tersedia di Ailoot · input &amp; kaedah</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Transkripsi</b> <code>POST /v1/audio/transcriptions</code></summary><dl class=\"method-capabilities\"><div><dt>Input</dt><dd><code>audio</code></dd></div><div><dt>Output</dt><dd><code>text</code></dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Medan</th><th>Jenis</th><th>Keperluan</th><th>Nilai &amp; had</th><th>Lalai</th></tr></thead><tbody><tr><th data-cell-label=\"Medan\" scope=\"row\"><span class=\"card-cell-label\">Medan</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=\"Keperluan\"><span class=\"card-cell-label\">Keperluan</span>Diperlukan</td><td data-cell-label=\"Nilai &amp; had\"><span class=\"card-cell-label\">Nilai &amp; had</span><div>google/chirp-3</div></td><td data-cell-label=\"Lalai\" data-default=\"unspecified\"><span class=\"card-cell-label\">Lalai</span>—</td></tr><tr><th data-cell-label=\"Medan\" scope=\"row\"><span class=\"card-cell-label\">Medan</span><code class=\"card-field-name\">input_audio</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=\"Keperluan\"><span class=\"card-cell-label\">Keperluan</span>Diperlukan</td><td data-cell-label=\"Nilai &amp; had\"><span class=\"card-cell-label\">Nilai &amp; had</span></td><td data-cell-label=\"Lalai\" data-default=\"unspecified\"><span class=\"card-cell-label\">Lalai</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>Parameter kaedah dan kitar hayat</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_audio</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>audio</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>material_conditions</code></th><td data-cell-label=\"Kontrak\"><span class=\"card-cell-label\">Kontrak</span>Contoh ini membaca fail PCM WAV sebenar anda yang tidak kosong, mengekodkan keseluruhan bait fail sebagai base64 dan menghantar input_audio.format sebagai wav.</td></tr></tbody></table></div><p>Kitar hayat: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · task_id tepat daripada rekod media sedia ada milik anda</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\">Pelan harga</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Rujukan tarif tidak menambah pilihan permintaan. Parameter yang disokong disenaraikan untuk kaedah yang dipilih.</p><dl data-price-conditions><dt>Mod pantas</dt><dd>Tidak dinyatakan <span class=\"note-s\">Apabila mod pantas dipilih</span></dd><dt>Mod flex</dt><dd>Tidak dinyatakan <span class=\"note-s\">Apabila mod flex dipilih</span></dd><dt>Usaha penaakulan maksimum</dt><dd>Tidak dinyatakan <span class=\"note-s\">Apabila usaha penaakulan maksimum menggunakan pelarasan default</span></dd></dl></div><div data-declared-tariff-pricing><h4>Kadar Ailoot</h4><h4>Harga mengikut konfigurasi</h4><p class=\"note-s\">Padankan setiap caj dengan syarat yang dipaparkan. Gunakan satu kadar bagi setiap set konfigurasi alternatif.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Konfigurasi</th><th>Jadual kadar</th><th>Unit pengebilan</th><th>Caj</th></tr></thead><tbody><tr><th data-cell-label=\"Konfigurasi\" scope=\"row\"><span class=\"card-cell-label\">Konfigurasi</span>Kadar asas token</th><td data-cell-label=\"Jadual kadar\"><span class=\"card-cell-label\">Jadual kadar</span>Kadar asas</td><td data-cell-label=\"Unit pengebilan\"><span class=\"card-cell-label\">Unit pengebilan</span>—</td><td data-cell-label=\"Caj\"><span class=\"card-cell-label\">Caj</span><div><span>Input · Token input</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Output · Token output</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Input · Bacaan cache</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Input · Penulisan cache</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Input · 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>saat audio input</th><td data-cell-label=\"Jadual kadar\"><span class=\"card-cell-label\">Jadual kadar</span>—</td><td data-cell-label=\"Unit pengebilan\"><span class=\"card-cell-label\">Unit pengebilan</span>bagi setiap saat audio masukan</td><td data-cell-label=\"Caj\"><span class=\"card-cell-label\">Caj</span><div><span>Input · saat audio input</span> <b>$0.000533333333334</b> <span class=\"price-unit\">bagi setiap saat audio masukan</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot merizabkan anggaran amaun sebelum permintaan. Selepas hasil diterima, caj akhir diselesaikan berdasarkan penggunaan terukur. Penyelesaian caj penstriman menggunakan rekod penggunaan akhir. <a href=\"/docs/ms/billing/reserve/\">Cara rizab dan penyelesaian caj berfungsi →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Contoh permintaan</h3><h4>Ailoot Ultra · Transkripsi</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Pilihan kod\"><button class=\"cg-tab\" id=\"model-code-1435-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1435-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · fail WAV sebenar dan hasil asal yang lengkap</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Salin kod\"><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-1435-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1435-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_AUDIO_FILE:?Set the path to your actual PCM WAV recording}&quot;\nexport AILOOT_AUDIO_FILE\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport base64, io, json, os, wave\nfrom pathlib import Path\naudio = Path(os.environ[&#39;AILOOT_AUDIO_FILE&#39;]).read_bytes()\nif not (audio[:4] == b&#39;RIFF&#39; and audio[8:12] == b&#39;WAVE&#39;):\n    raise SystemExit(&#39;Supply your actual PCM WAV audio file&#39;)\nwith wave.open(io.BytesIO(audio), &#39;rb&#39;) as recording:\n    if recording.getcomptype() != &#39;NONE&#39; or recording.getnframes() &lt;= 0:\n        raise SystemExit(&#39;Supply a nonempty PCM WAV recording&#39;)\nrequest = {&#39;model&#39;: &#39;google/chirp-3&#39;, &#39;input_audio&#39;: {&#39;data&#39;: base64.b64encode(audio).decode(&#39;ascii&#39;), &#39;format&#39;: &#39;wav&#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/transcriptions \\\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 original response, headers and actual X-Client-Request-ID.\n# Read existing owned records for recovery; do not resubmit an uncertain operation.\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 · Transkripsi</h4><p class=\"note-s\">Badan respons asal yang lengkap, status dan pengepala yang dimajukan. Pengendali ini tidak menambah bentuk JSON sejagat, medan teks atau struktur pembungkus tugas.</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><div class=\"card-result-process\" data-all-results><h5>Simpan semua hasil yang selesai</h5><p class=\"note-s\">Simpan setiap respons lengkap, fail dan bahagian kandungan yang dikembalikan.</p><p class=\"note-s\">Simpan respons dan pengepala yang lengkap, setiap output sebenar, pengecam asal yang dikembalikan serta semua medan penggunaan. Pulihkan operasi asal tanpa menghantar permintaan penciptaan sekali lagi.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Jika respons asal perlu disemak</h5><p class=\"note-s\">Simpan X-Client-Request-ID sebenar dan respons lengkap. Baca aset asal milik anda serta pautan kandungan bertandatangan yang tepat; jangan sekali-kali hantar semula penciptaan yang tidak pasti.</p></div><details class=\"card-about\" data-output-fields><summary>Medan respons</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Medan</th><th>Jenis</th></tr></thead><tbody><tr><th data-cell-label=\"Medan\" scope=\"row\"><span class=\"card-cell-label\">Medan</span><code class=\"card-field-name\">text (when present)</code></th><td data-cell-label=\"Jenis\" data-field-type><span class=\"card-cell-label\">Jenis</span></td></tr><tr><th data-cell-label=\"Medan\" scope=\"row\"><span class=\"card-cell-label\">Medan</span><code class=\"card-field-name\">usage (when present)</code></th><td data-cell-label=\"Jenis\" data-field-type><span class=\"card-cell-label\">Jenis</span></td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Ralat dan langkah seterusnya</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Respons</th><th>Syarat</th><th>Langkah seterusnya</th></tr></thead><tbody><tr><th data-cell-label=\"Respons\" scope=\"row\"><span class=\"card-cell-label\">Respons</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Syarat\"><span class=\"card-cell-label\">Syarat</span>Badan JSON atau ID model kanonik yang dinyatakan secara jelas tidak sah.</td><td data-cell-label=\"Langkah seterusnya\"><span class=\"card-cell-label\">Langkah seterusnya</span>Simpan respons dan betulkan medan permintaan yang dinyatakan.</td></tr><tr><th data-cell-label=\"Respons\" scope=\"row\"><span class=\"card-cell-label\">Respons</span>401 · <code>authentication_error</code></th><td data-cell-label=\"Syarat\"><span class=\"card-cell-label\">Syarat</span>Kunci API Ailoot tidak sah.</td><td data-cell-label=\"Langkah seterusnya\"><span class=\"card-cell-label\">Langkah seterusnya</span>Gunakan kunci API Ailoot anda yang dibenarkan.</td></tr><tr><th data-cell-label=\"Respons\" scope=\"row\"><span class=\"card-cell-label\">Respons</span>403 · <code>permission_error</code></th><td data-cell-label=\"Syarat\"><span class=\"card-cell-label\">Syarat</span>Kumpulan kunci tidak membenarkan kaedah ini.</td><td data-cell-label=\"Langkah seterusnya\"><span class=\"card-cell-label\">Langkah seterusnya</span>Simpan butiran ralat yang dikembalikan.</td></tr><tr><th data-cell-label=\"Respons\" scope=\"row\"><span class=\"card-cell-label\">Respons</span>404 · <code>not_found_error</code></th><td data-cell-label=\"Syarat\"><span class=\"card-cell-label\">Syarat</span>Kaedah yang dipilih tidak mempunyai laluan yang dibenarkan.</td><td data-cell-label=\"Langkah seterusnya\"><span class=\"card-cell-label\">Langkah seterusnya</span>Simpan butiran ralat yang dikembalikan.</td></tr><tr><th data-cell-label=\"Respons\" scope=\"row\"><span class=\"card-cell-label\">Respons</span>422 · <code>price_unavailable</code></th><td data-cell-label=\"Syarat\"><span class=\"card-cell-label\">Syarat</span>Tarif yang diterima tidak dapat memperoleh kuantiti input atau batas yang diperlukan.</td><td data-cell-label=\"Langkah seterusnya\"><span class=\"card-cell-label\">Langkah seterusnya</span>Simpan respons; gunakan bentuk perwakilan input yang diperlukan oleh tarif yang diterima.</td></tr><tr><th data-cell-label=\"Respons\" scope=\"row\"><span class=\"card-cell-label\">Respons</span>503 · <code></code></th><td data-cell-label=\"Syarat\"><span class=\"card-cell-label\">Syarat</span>Storan, laluan, harga kaedah atau penahanan dana yang diperlukan tidak tersedia.</td><td data-cell-label=\"Langkah seterusnya\"><span class=\"card-cell-label\">Langkah seterusnya</span>Simpan respons asal yang lengkap. Penahanan dana yang tidak pasti bukan kebenaran untuk menghantar semula.</td></tr><tr><th data-cell-label=\"Respons\" scope=\"row\"><span class=\"card-cell-label\">Respons</span>502 · <code>server_error</code></th><td data-cell-label=\"Syarat\"><span class=\"card-cell-label\">Syarat</span>Hasil asal, penggunaan atau penyelesaian caj memerlukan semakan.</td><td data-cell-label=\"Langkah seterusnya\"><span class=\"card-cell-label\">Langkah seterusnya</span>Simpan ID permintaan sebenar dan respons asal. Baca rekod sedia ada milik anda; jangan hantar semula permintaan penciptaan.</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=google%2Fchirp-3&amp;route=Ultra&amp;caller=google%2Fchirp-3&amp;fmt=transcriptions\"><code>google/chirp-3</code></a></span></p><h4>Alias laluan kaedah</h4><p class=\"note-s\">Gunakan laluan kaedah yang dipaparkan di atas.</p><h4>ID pemanggil berkaitan</h4><p class=\"note-s\"><a href=\"#m=google%2Fchirp-3&amp;route=Ultra&amp;caller=google%2Fchirp-3&amp;fmt=transcriptions\"><code>google/chirp-3</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "google/chirp-3",
        "fmt": "transcriptions",
        "http": "POST",
        "path": "/v1/audio/transcriptions",
        "request_model_id": "google/chirp-3",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|transcriptions|/v1/audio/transcriptions|google%2Fchirp-3",
      "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.",
            "errors": [
              {
                "code": null,
                "condition": "Badan JSON atau ID model kanonik yang dinyatakan secara jelas tidak sah.",
                "http_status": 400,
                "recovery": "Simpan respons dan betulkan medan permintaan yang dinyatakan.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Kunci API Ailoot tidak sah.",
                "http_status": 401,
                "recovery": "Gunakan kunci API Ailoot anda yang dibenarkan.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "Kumpulan kunci tidak membenarkan kaedah ini.",
                "http_status": 403,
                "recovery": "Simpan butiran ralat yang dikembalikan.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "Kaedah yang dipilih tidak mempunyai laluan yang dibenarkan.",
                "http_status": 404,
                "recovery": "Simpan butiran ralat yang dikembalikan.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "Tarif yang diterima tidak dapat memperoleh kuantiti input atau batas yang diperlukan.",
                "http_status": 422,
                "recovery": "Simpan respons; gunakan bentuk perwakilan input yang diperlukan oleh tarif yang diterima.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Storan, laluan, harga kaedah atau penahanan dana yang diperlukan tidak tersedia.",
                "http_status": 503,
                "recovery": "Simpan respons asal yang lengkap. Penahanan dana yang tidak pasti bukan kebenaran untuk menghantar semula.",
                "type": null
              },
              {
                "code": null,
                "condition": "Hasil asal, penggunaan atau penyelesaian caj memerlukan semakan.",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "Simpan ID permintaan sebenar dan respons asal. Baca rekod sedia ada milik anda; jangan hantar semula permintaan penciptaan.",
                "response_headers": {
                  "x-should-retry": "false"
                },
                "type": "server_error"
              }
            ],
            "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 content URL"
                }
              ],
              "dedicated_method_polling_or_cancel": false,
              "mode": "synchronous_result_then_owned_library",
              "original_POST_adds_task_envelope": false,
              "status": [
                {
                  "http": "GET",
                  "id_source": "exact task_id from an existing owned media record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Simpan X-Client-Request-ID sebenar dan respons lengkap. Baca aset asal milik anda serta pautan kandungan bertandatangan yang tepat; jangan sekali-kali hantar semula penciptaan yang tidak pasti."
            },
            "outputs": {
              "all_results": "Simpan respons dan pengepala yang lengkap, setiap output sebenar, pengecam asal yang dikembalikan serta semua medan penggunaan. Pulihkan operasi asal tanpa menghantar permintaan penciptaan sekali lagi.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "Badan respons asal yang lengkap, status dan pengepala yang dimajukan. Pengendali ini tidak menambah bentuk JSON sejagat, medan teks atau struktur pembungkus tugas."
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "google/chirp-3"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "input_audio",
                "required": true,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input_audio": {
                  "properties": {
                    "data": {
                      "contentEncoding": "base64",
                      "type": "string"
                    },
                    "format": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "data",
                    "format"
                  ],
                  "type": "object"
                },
                "model": {
                  "enum": [
                    "google/chirp-3"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input_audio"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": true,
              "body": {
                "input_audio": {
                  "data": "${BASE64_ACTUAL_WAV_BYTES}",
                  "format": "wav"
                },
                "model": "google/chirp-3"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "Contoh ini membaca fail PCM WAV sebenar anda yang tidak kosong, mengekodkan keseluruhan bait fail sebagai base64 dan menghantar input_audio.format sebagai wav."
            ],
            "material_types": [
              "audio"
            ],
            "required": [
              "model",
              "input_audio"
            ]
          },
          "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 content URL"
              }
            ],
            "dedicated_method_polling_or_cancel": false,
            "mode": "synchronous_result_then_owned_library",
            "original_POST_adds_task_envelope": false,
            "status": [
              {
                "http": "GET",
                "id_source": "task_id tepat daripada rekod media sedia ada milik anda",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain the actual X-Client-Request-ID and complete response. Read the original owned assets and their exact signed content URLs; never resubmit an uncertain creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "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": "text",
            "fields": [
              {
                "description": null,
                "name": "text (when present)",
                "type": null
              },
              {
                "description": null,
                "name": "usage (when present)",
                "type": null
              }
            ],
            "result": "Complete original response body, status and forwarded headers. No universal JSON shape, text field or task envelope is added by this handler."
          }
        },
        "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 input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.000533333333334",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.000533333333334",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_AUDIO_FILE:?Set the path to your actual PCM WAV recording}\"\nexport AILOOT_AUDIO_FILE\npython3 - <<'PY_REQUEST'\nimport base64, io, json, os, wave\nfrom pathlib import Path\naudio = Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()\nif not (audio[:4] == b'RIFF' and audio[8:12] == b'WAVE'):\n    raise SystemExit('Supply your actual PCM WAV audio file')\nwith wave.open(io.BytesIO(audio), 'rb') as recording:\n    if recording.getcomptype() != 'NONE' or recording.getnframes() <= 0:\n        raise SystemExit('Supply a nonempty PCM WAV recording')\nrequest = {'model': 'google/chirp-3', 'input_audio': {'data': base64.b64encode(audio).decode('ascii'), 'format': 'wav'}}\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/transcriptions \\\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 original response, headers and actual X-Client-Request-ID.\n# Read existing owned records for recovery; do not resubmit an uncertain operation.\n",
            "label": "curl · actual WAV file and complete original result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "The example reads your actual nonempty PCM WAV file, encodes the complete file bytes as base64 and sends input_audio.format as wav.",
          "The format value in the example is the documented recipe; no model-specific format list, limit or default is asserted.",
          "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": [
          "audio"
        ],
        "label": "Transkripsi",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_transcriptions",
        "out": null,
        "output": [
          "text"
        ],
        "path": "/v1/audio/transcriptions",
        "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_input_second": 0.000533333333334
          }
        },
        "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 input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.000533333333334",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.000533333333334",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "request_model_id": "google/chirp-3",
        "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.000533333333334",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.000533333333334",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ]
      }
    }
  ],
  "model_id": "google/chirp-3",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "f8780addb00dc56a75a40ab9e21c62c1d650f64274990b0ec84221887d61bf78",
    "input_html_sha256": "029810bc81b5fbae1686bbea8832da88f478bf7540d0c8cf1362b2c750cb7f81",
    "private_audit_sha256": "7881c060d08b23cb9ff3cbe577a65808c4858c537883a96c3c4e1f37380a9138",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/ms/google-chirp-3/",
    "description": "Google Chirp 3 ialah model pengecaman pertuturan berbilang bahasa untuk penstriman, rakaman ringkas dan transkripsi kelompok lebih panjang. Ia menyediakan pengesanan bahasa automatik, tanda baca, penyesuaian kosa kata serta pemasaan atau metadata penutur mengikut mod. Penyahhingarnya mengurangkan hingar latar belakang tetapi tidak boleh membuang suara lain.",
    "locale": "ms",
    "md_url": "https://ailoot.ai/models/ms/google-chirp-3/index.md",
    "title": "Google: Chirp 3 — Ailoot",
    "url": "https://ailoot.ai/models/ms/google-chirp-3/"
  },
  "rawModel": {
    "about": "Google Chirp 3 ialah model pengecaman pertuturan automatik berbilang bahasa yang menukar audio pertuturan kepada teks. Google mendokumenkannya sebagai model transkripsi Chirp 3 dalam keluarga Speech-to-Text V2, dengan pengecam model chirp_3. Tujuannya ialah mengenal pasti pertuturan rakaman atau distrim, dengan pengesanan bahasa dan ciri khusus transkripsi. Artifak terhasil ialah transkrip dan metadata yang disokong kaedah pengecaman terpilih, bukannya pertuturan terjana atau jawapan pembantu terbuka.\n\nPengeluar membezakan pengecaman penstriman, pengecaman segerak bagi klip ringkas dan pengecaman kelompok bagi rakaman lebih panjang. Pilih mod mengikut audio sumber serta hasil wajib. Untuk nota suara ringkas, respons teks lengkap mungkin mencukupi. Untuk temu bual atau panggilan rakaman, hasil kelompok dengan maklumat penutur boleh lebih berguna. Untuk kapsyen langsung atau antara muka arahan lisan, bezakan teks perantaraan daripada hasil pengecaman akhir dan kekalkan selang audio yang diterangkannya.\n\nSediakan audio dalam pengekodan yang dijangkakan pelaksanaan pengecaman. Contoh Chirp 3 Google menggunakan penyahkodan yang dikesan secara automatik bagi fail rakaman dan penyahkodan yang dikonfigurasi secara eksplisit bagi konfigurasi penstriman mentah. Rujukan penyahkod V2 berkaitan menyenaraikan WAV PCM atau audio dikompand, FLAC, MP3, Ogg/WebM Opus dan AAC dalam bekas MP4, M4A atau MOV, antara pengekodan disokongnya. Nama bekas tidak menggantikan codec dan konfigurasi sampel sebenar. Kekalkan pertuturan jelas dan elakkan pemotongan isyarat teruk atau penukaran tidak perlu yang menghilangkan butiran boleh didengar.\n\nChirp 3 boleh mengenal pasti dan mentranskripsikan bahasa dominan secara automatik, dan set lokal dijangka boleh mengecilkan pilihan pengecamannya. Ketersediaan bahasa berbeza mengikut kaedah dan ciri. Senarai bahasa transkripsi lebih luas daripada senarai diarisasi, jadi pengecaman sesuatu bahasa tidak membuktikan setiap ciri penutur atau pemasaan terpakai padanya. Gunakan lokal yang sepadan dengan rakaman dan simpan nama yang disebut ketika pertuturan bertukar bahasa atau istilah pakar untuk semakan. Label bahasa dikesan ialah sebahagian hasil, bukannya bukti semua perkataan luar biasa dikenal pasti dengan betul.\n\nDiarisasi penutur mengelompokkan pertuturan mengikut suara dalam rakaman satu saluran. Google memberikan contoh transkripsi kelompok dengan maklumat penutur bagi setiap perkataan. Untuk temu bual, simpan label itu bersama teks dikenal pasti dan bandingkan perubahan penutur dengan rakaman sebelum melampirkan nama atau peranan sebenar. Suara serupa, gangguan dan pertuturan bertindih boleh menyukarkan atribusi. Jelaskan susunan saluran sumber dan tugas semakan penutur dimaksudkan daripada menganggap label sebagai identiti yang disahkan secara bebas.\n\nPemasaannya juga khusus mengikut kaedah. Pengecaman penstriman memberikan cap masa peringkat ujaran, manakala panduan pengecaman fail pembuat menerangkan pemasaan perkataan pilihan dengan kemungkinan kompromi kualiti transkripsi. Simpan metadata yang benar-benar dikembalikan kaedah terpilih dan semak penjajaran bersama ungkapan. Aliran kerja kapsyen memerlukan kedua-duanya: teks dikenal pasti yang boleh dibaca dan bukti bahawa sempadan pemasaan sepadan dengan bunyi betul. Google turut memberi amaran bahawa nilai keyakinan peringkat perkataan yang dikembalikan bukan skor keyakinan sebenar, jadi ia tidak sepatutnya digunakan untuk memperakui perkataan itu betul.\n\nPenyesuaian pertuturan membekalkan frasa dan kata nama khas yang mungkin terdapat dalam rakaman. Pembuat mendokumenkan kamus sehingga 1,000 frasa dan mengesyorkan sesedikit mungkin entri berkaitan untuk mengelakkan kemerosotan pengecaman istilah lain. Untuk pembentangan teknikal, sediakan senarai pendek nama produk serta singkatan sebenar, kemudian periksanya dalam transkrip. Pemberatan keutamaan membantu pengecaman mempertimbangkan istilah; ia tidak membuktikan istilah itu dituturkan atau menggantikan semakan terhadap audio.\n\nModel menyediakan tanda baca dan penggunaan huruf besar automatik, yang boleh dinyahaktifkan oleh antara muka didokumenkan. Google turut menerangkan ciri pratonton bagi arahan format transkripsi tersuai, seperti cara nama atau tarikh tertentu perlu ditulis. Pastikan arahan itu berfokus pada pemformatan pertuturan dikenal pasti. Transkrip yang menormalkan tarikh atau menggunakan huruf besar untuk jenama masih perlu mengekalkan makna lisan. Ringkasan, terjemahan atau analisis fakta ialah penggunaan transkrip kemudian, bukannya sesuatu yang dibuktikan hasil pengecaman itu sendiri.\n\nPenyahhingar terbina dalam bertujuan mengurangkan muzik latar dan bunyi persekitaran seperti hujan atau hingar jalanan. Google menyatakan secara jelas bahawa ia tidak boleh membuang suara manusia latar belakang. Kekalkan perbezaan itu semasa menyediakan rakaman dengan perbualan bertindih. Semak bahagian bising dan sunyi terhadap sumber daripada mengandaikan transkrip yang kelihatan lebih bersih membuktikan bunyi gangguan dibuang. Hasil berguna memastikan petikan tidak pasti boleh dikenal pasti untuk pembetulan.\n\nUntuk tugas penstriman, sensitiviti penentuan titik akhir mengubah bila ujaran dianggap selesai. Pembuat menerangkan tetapan standard, short dan supershort untuk pertuturan dijangka yang semakin ringkas. Tetapan lebih pantas boleh memotong penutur yang berjeda di pertengahan fikiran. Padankan tetapan dengan imlak semula jadi, ayat pendek atau arahan sangat ringkas, dan simpan status hasil akhir bersama transkrip. Untuk fail lengkap, semak nama, kuantiti, kata nafi dan sempadan penutur, kemudian simpan mod terpilih serta audio sumber supaya hasil boleh disemak atau digunakan semula.",
    "alias_of": null,
    "aliases": [],
    "author": "Google",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "audio"
      ],
      "manufacturer_output": [
        "transcription"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.000533333333334",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.000533333333334",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ],
        "summary": "Maklumat lengkap tentang harga konfigurasi terdapat dalam butiran."
      }
    ],
    "ctx": null,
    "formats": [
      "transcriptions"
    ],
    "id": "google/chirp-3",
    "input": [
      "audio"
    ],
    "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.",
            "errors": [
              {
                "code": null,
                "condition": "Badan JSON atau ID model kanonik yang dinyatakan secara jelas tidak sah.",
                "http_status": 400,
                "recovery": "Simpan respons dan betulkan medan permintaan yang dinyatakan.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Kunci API Ailoot tidak sah.",
                "http_status": 401,
                "recovery": "Gunakan kunci API Ailoot anda yang dibenarkan.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "Kumpulan kunci tidak membenarkan kaedah ini.",
                "http_status": 403,
                "recovery": "Simpan butiran ralat yang dikembalikan.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "Kaedah yang dipilih tidak mempunyai laluan yang dibenarkan.",
                "http_status": 404,
                "recovery": "Simpan butiran ralat yang dikembalikan.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "Tarif yang diterima tidak dapat memperoleh kuantiti input atau batas yang diperlukan.",
                "http_status": 422,
                "recovery": "Simpan respons; gunakan bentuk perwakilan input yang diperlukan oleh tarif yang diterima.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Storan, laluan, harga kaedah atau penahanan dana yang diperlukan tidak tersedia.",
                "http_status": 503,
                "recovery": "Simpan respons asal yang lengkap. Penahanan dana yang tidak pasti bukan kebenaran untuk menghantar semula.",
                "type": null
              },
              {
                "code": null,
                "condition": "Hasil asal, penggunaan atau penyelesaian caj memerlukan semakan.",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "Simpan ID permintaan sebenar dan respons asal. Baca rekod sedia ada milik anda; jangan hantar semula permintaan penciptaan.",
                "response_headers": {
                  "x-should-retry": "false"
                },
                "type": "server_error"
              }
            ],
            "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 content URL"
                }
              ],
              "dedicated_method_polling_or_cancel": false,
              "mode": "synchronous_result_then_owned_library",
              "original_POST_adds_task_envelope": false,
              "status": [
                {
                  "http": "GET",
                  "id_source": "exact task_id from an existing owned media record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Simpan X-Client-Request-ID sebenar dan respons lengkap. Baca aset asal milik anda serta pautan kandungan bertandatangan yang tepat; jangan sekali-kali hantar semula penciptaan yang tidak pasti."
            },
            "outputs": {
              "all_results": "Simpan respons dan pengepala yang lengkap, setiap output sebenar, pengecam asal yang dikembalikan serta semua medan penggunaan. Pulihkan operasi asal tanpa menghantar permintaan penciptaan sekali lagi.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "Badan respons asal yang lengkap, status dan pengepala yang dimajukan. Pengendali ini tidak menambah bentuk JSON sejagat, medan teks atau struktur pembungkus tugas."
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "google/chirp-3"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "input_audio",
                "required": true,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input_audio": {
                  "properties": {
                    "data": {
                      "contentEncoding": "base64",
                      "type": "string"
                    },
                    "format": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "data",
                    "format"
                  ],
                  "type": "object"
                },
                "model": {
                  "enum": [
                    "google/chirp-3"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input_audio"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": true,
              "body": {
                "input_audio": {
                  "data": "${BASE64_ACTUAL_WAV_BYTES}",
                  "format": "wav"
                },
                "model": "google/chirp-3"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "Contoh ini membaca fail PCM WAV sebenar anda yang tidak kosong, mengekodkan keseluruhan bait fail sebagai base64 dan menghantar input_audio.format sebagai wav."
            ],
            "material_types": [
              "audio"
            ],
            "required": [
              "model",
              "input_audio"
            ]
          },
          "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 content URL"
              }
            ],
            "dedicated_method_polling_or_cancel": false,
            "mode": "synchronous_result_then_owned_library",
            "original_POST_adds_task_envelope": false,
            "status": [
              {
                "http": "GET",
                "id_source": "task_id tepat daripada rekod media sedia ada milik anda",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain the actual X-Client-Request-ID and complete response. Read the original owned assets and their exact signed content URLs; never resubmit an uncertain creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "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": "text",
            "fields": [
              {
                "description": null,
                "name": "text (when present)",
                "type": null
              },
              {
                "description": null,
                "name": "usage (when present)",
                "type": null
              }
            ],
            "result": "Complete original response body, status and forwarded headers. No universal JSON shape, text field or task envelope is added by this handler."
          }
        },
        "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 input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.000533333333334",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.000533333333334",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_AUDIO_FILE:?Set the path to your actual PCM WAV recording}\"\nexport AILOOT_AUDIO_FILE\npython3 - <<'PY_REQUEST'\nimport base64, io, json, os, wave\nfrom pathlib import Path\naudio = Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()\nif not (audio[:4] == b'RIFF' and audio[8:12] == b'WAVE'):\n    raise SystemExit('Supply your actual PCM WAV audio file')\nwith wave.open(io.BytesIO(audio), 'rb') as recording:\n    if recording.getcomptype() != 'NONE' or recording.getnframes() <= 0:\n        raise SystemExit('Supply a nonempty PCM WAV recording')\nrequest = {'model': 'google/chirp-3', 'input_audio': {'data': base64.b64encode(audio).decode('ascii'), 'format': 'wav'}}\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/transcriptions \\\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 original response, headers and actual X-Client-Request-ID.\n# Read existing owned records for recovery; do not resubmit an uncertain operation.\n",
            "label": "curl · actual WAV file and complete original result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "The example reads your actual nonempty PCM WAV file, encodes the complete file bytes as base64 and sends input_audio.format as wav.",
          "The format value in the example is the documented recipe; no model-specific format list, limit or default is asserted.",
          "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": [
          "audio"
        ],
        "label": "Transkripsi",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_transcriptions",
        "out": null,
        "output": [
          "text"
        ],
        "path": "/v1/audio/transcriptions",
        "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_input_second": 0.000533333333334
          }
        },
        "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 input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.000533333333334",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.000533333333334",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "request_model_id": "google/chirp-3",
        "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.000533333333334",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.000533333333334",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "google/chirp-3",
        "request_model_id": "google/chirp-3",
        "route_label": "Ultra"
      }
    ],
    "name": "Google: Chirp 3",
    "price": {
      "in": null,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": true
    },
    "short": "Google Chirp 3 ialah model pengecaman pertuturan berbilang bahasa untuk penstriman, rakaman ringkas dan transkripsi kelompok lebih panjang. Ia menyediakan pengesanan bahasa automatik, tanda baca, penyesuaian kosa kata serta pemasaan atau metadata penutur mengikut mod. Penyahhingarnya mengurangkan hingar latar belakang tetapi tidak boleh membuang suara lain."
  },
  "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": "Google Chirp 3 ialah model pengecaman pertuturan berbilang bahasa untuk penstriman, rakaman ringkas dan transkripsi kelompok lebih panjang. Ia menyediakan pengesanan bahasa automatik, tanda baca, penyesuaian kosa kata serta pemasaan atau metadata penutur mengikut mod. Penyahhingarnya mengurangkan hingar latar belakang tetapi tidak boleh membuang suara lain.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "37104daaf1bf191abf8b32783b178c6d9614f4d5f6fdd9f7fd2c34281bd2f901",
    "renderer_sha256": "1dab5ba62521e9568c8b7c82005622cabbf330a075df7cce1f83274a04009460"
  },
  "sourceRevision": "d9493387d8634c4dbba1a7f75d97604a13ebdc03ebe57f4f30d96370c60bac04"
}
