{
  "aboutHtml": "<p>Muse Voice Transcribe 1.0 adalah model persepsi audio Meta untuk mentranskripsikan ucapan, mendeteksi batas ujaran, dan mengatribusikan giliran bicara kepada pembicara. Model ini termasuk keluarga model Muse Spark dan menggabungkan pengenalan, diarization, serta endpointing di dalam model. Keluarannya berupa teks yang dikenali, dengan informasi waktu dan pembicara yang tersedia dalam mode yang dipilih.</p><p>Model ini memproses audio dalam potongan 80 milidetik dan menentukan kapan harus terus mendengarkan atau mengeluarkan teks. Penundaan adaptifnya memungkinkan model menunggu audio tambahan ketika suatu kata lebih sulit dipastikan. Ini menghasilkan teks parsial saat ucapan masuk, kemudian diikuti hasil transkripsi yang selesai. Perlakukan hipotesis parsial dan giliran yang telah selesai sebagai tahap berbeda dalam pengalaman mendengarkan.</p><p>Pilih di antara tiga mode. Push-to-talk adalah mode bawaan untuk satu ujaran yang terkontrol, seperti pertanyaan suara atau teks dikte singkat. Endpointing memungkinkan model mendeteksi batas giliran bicara dan mengembalikan satu transkrip lengkap untuk setiap segmen yang terdeteksi. Diarization mengatribusikan ucapan yang dikenali ke label pembicara dan ditujukan untuk rekaman dengan beberapa pembicara, bukan pergantian giliran perintah suara yang paling cepat.</p><p>Untuk klip rekaman, alur kerja transkripsi berkas mengembalikan transkrip lengkap dalam satu permintaan. Hasil bawaan berupa JSON yang memuat transkrip dan durasi audio, dengan array turns dalam mode endpointing dan diarization. Setiap giliran dapat memuat pengenal, waktu mulai dan akhir dalam milidetik, serta teks yang dikenali. Label pembicara tersedia dalam mode diarization. Push-to-talk menghasilkan transkrip lengkap tanpa giliran yang terdeteksi di dalam array tersebut. Antarmuka berkas rekaman dari produsen juga dapat mengembalikan teks biasa atau aliran peristiwa transkripsi. Teks biasa menempatkan giliran yang terdeteksi pada baris terpisah dan dapat menyertakan label pembicara; aliran peristiwa berakhir setelah peristiwa terakhirnya tanpa ringkasan JSON terpisah. Mode parsial delta-nya mengembalikan teks secara bertahap, sedangkan peristiwa transkrip akhir memuat kata-kata lengkap.</p><p>Siapkan berkas RIFF/WAVE yang memuat audio PCM mono berupa integer 16-bit pada 16 atau 24 kHz. Laju asli model adalah 24 kHz, dan antarmukanya juga menerima 16 kHz. Konversikan kontainer atau pengodean lain ke bentuk WAV yang didukung tersebut sebelum memberikan rekaman. Profil transkripsi berkas mengizinkan audio hingga 10 menit dan total badan permintaan hingga 32 MB. Pertahankan hubungan rekaman asli dan setiap hasil konversi dengan transkrip yang dikembalikan untuk peninjauan melalui mendengarkan di kemudian hari.</p><p>Alur kerja audio langsung menggunakan PCM mono mentah bertanda 16-bit little-endian, dengan audio 16 atau 24 kHz yang dikirim dengan kecepatan kira-kira waktu nyata. Jendela sesi yang didokumentasikan adalah 60 menit. Meta menjelaskan masukan audio asli yang melebihi satu jam; batas berkas dan sesi langsung yang didokumentasikan tetap merupakan batas antarmuka terpisah. Pilih alur kerja berkas rekaman atau langsung sesuai apakah audio sudah lengkap atau masih direkam, dan pertahankan hasil dari sesi terpisah terkait dengan segmen masukannya masing-masing.</p><p>Muse Voice Transcribe dilatih dalam lebih dari 70 bahasa, sedangkan antarmuka pengenalan yang didokumentasikan merinci 25 bahasa yang didukung. Bahasa tersebut mencakup Inggris, Prancis, Jerman, Spanyol, Arab, Mandarin, Hindi, Jepang, Korea, Italia, dan Portugis. Model ini mengenali peralihan bahasa di dalam atau antar kalimat. Petunjuk bahasa dapat menyebutkan bahasa yang diperkirakan ada dalam audio, tetapi petunjuk tersebut mengarahkan pengenalan, bukan memaksa transkrip menjadi satu bahasa.</p><p>Petunjuk kosakata membantu mengenali istilah produk, akronim, nama, atau tempat yang penting dalam rekaman. Berikan kata dan ejaan aktual yang Anda perkirakan akan terdengar. Daftar kata kunci memengaruhi pengenalan tanpa menjamin ejaan yang persis, jadi periksa istilah yang menentukan dengan membandingkannya terhadap audio. Petunjuk bahasa dan kata kunci dipilih pada awal transkripsi; jaga agar sesuai dengan rekaman tersebut, alih-alih mengubah maknanya ketika sesi sedang berjalan.</p><p>Model ini mendukung diarization untuk percakapan dengan lebih dari 20 pembicara. Label seperti A dan B mengidentifikasi pembicara dalam satu transkripsi. Label tersebut bukan nama terverifikasi dan tidak membuktikan bahwa sebuah label merujuk pada orang yang sama dalam sesi lain. Untuk tugas analisis rapat asli, mintalah giliran yang diatribusikan kepada pembicara, pertahankan rekaman, dan gunakan label untuk mengatur diskusi sebelum menetapkan nama peserta yang sebenarnya melalui alur kerja yang menaunginya.</p><p>Transkrip parsial langsung dapat berubah seiring masuknya lebih banyak ucapan. Dalam mode kumulatif, setiap hasil parsial menggantikan hipotesis sebelumnya, bukan menambahkan salinan lain. Akhir ucapan yang terdeteksi menandai batas, sedangkan hasil giliran yang selesai menyediakan teks akhir dan dapat berbeda dari hasil parsial terakhir. Pertahankan giliran yang tumpang tindih terkait dengan pengenal gilirannya, dan gunakan hasil yang sudah selesai sebelum memperlakukan transkrip sebagai tuntas. Ketika masukan langsung berakhir, berikan sinyal akhir masukan dan terus menerima hingga produsen selesai mengeluarkan hasil yang tertunda. Menutup koneksi langsung dapat membuang hasil tersebut; batas ucapan yang terdeteksi mengakhiri satu giliran, bukan seluruh sesi.</p><p>Penanda waktu tersedia pada tingkat giliran. Profil ini tidak menyediakan stempel waktu tingkat kata atau skor keyakinan, dan progres pemrosesan audio bukan stempel waktu untuk kata tertentu. Deteksi peristiwa suara, deteksi emosi, dan pemformatan ulang transkrip juga berada di luar profil keluaran yang didokumentasikan. Gunakan interval giliran yang dikembalikan untuk linimasa pembicara atau peninjauan tingkat segmen, dan pertahankan kata-kata yang dikenali jika langkah penyuntingan terpisah kemudian membuat catatan yang lebih rapi.</p><p>Artefak yang berguna mencakup teks dikte yang selesai, transkrip pertanyaan suara, percakapan dengan atribusi pembicara, atau linimasa ujaran. Bandingkan nama, angka, dan istilah teknis dengan rekaman asli, pertahankan mode serta keterkaitan waktunya, dan sediakan giliran lengkap untuk ditinjau. Transkripsi menetapkan apa yang dikenali dalam audio; menjawab pertanyaan lisan, menerjemahkannya, atau mengubahnya menjadi catatan rapat merupakan tugas langkah aplikasi berikutnya.</p>",
  "aboutText": "Muse Voice Transcribe 1.0 adalah model persepsi audio Meta untuk mentranskripsikan ucapan, mendeteksi batas ujaran, dan mengatribusikan giliran bicara kepada pembicara. Model ini termasuk keluarga model Muse Spark dan menggabungkan pengenalan, diarization, serta endpointing di dalam model. Keluarannya berupa teks yang dikenali, dengan informasi waktu dan pembicara yang tersedia dalam mode yang dipilih.\n\nModel ini memproses audio dalam potongan 80 milidetik dan menentukan kapan harus terus mendengarkan atau mengeluarkan teks. Penundaan adaptifnya memungkinkan model menunggu audio tambahan ketika suatu kata lebih sulit dipastikan. Ini menghasilkan teks parsial saat ucapan masuk, kemudian diikuti hasil transkripsi yang selesai. Perlakukan hipotesis parsial dan giliran yang telah selesai sebagai tahap berbeda dalam pengalaman mendengarkan.\n\nPilih di antara tiga mode. Push-to-talk adalah mode bawaan untuk satu ujaran yang terkontrol, seperti pertanyaan suara atau teks dikte singkat. Endpointing memungkinkan model mendeteksi batas giliran bicara dan mengembalikan satu transkrip lengkap untuk setiap segmen yang terdeteksi. Diarization mengatribusikan ucapan yang dikenali ke label pembicara dan ditujukan untuk rekaman dengan beberapa pembicara, bukan pergantian giliran perintah suara yang paling cepat.\n\nUntuk klip rekaman, alur kerja transkripsi berkas mengembalikan transkrip lengkap dalam satu permintaan. Hasil bawaan berupa JSON yang memuat transkrip dan durasi audio, dengan array turns dalam mode endpointing dan diarization. Setiap giliran dapat memuat pengenal, waktu mulai dan akhir dalam milidetik, serta teks yang dikenali. Label pembicara tersedia dalam mode diarization. Push-to-talk menghasilkan transkrip lengkap tanpa giliran yang terdeteksi di dalam array tersebut. Antarmuka berkas rekaman dari produsen juga dapat mengembalikan teks biasa atau aliran peristiwa transkripsi. Teks biasa menempatkan giliran yang terdeteksi pada baris terpisah dan dapat menyertakan label pembicara; aliran peristiwa berakhir setelah peristiwa terakhirnya tanpa ringkasan JSON terpisah. Mode parsial delta-nya mengembalikan teks secara bertahap, sedangkan peristiwa transkrip akhir memuat kata-kata lengkap.\n\nSiapkan berkas RIFF/WAVE yang memuat audio PCM mono berupa integer 16-bit pada 16 atau 24 kHz. Laju asli model adalah 24 kHz, dan antarmukanya juga menerima 16 kHz. Konversikan kontainer atau pengodean lain ke bentuk WAV yang didukung tersebut sebelum memberikan rekaman. Profil transkripsi berkas mengizinkan audio hingga 10 menit dan total badan permintaan hingga 32 MB. Pertahankan hubungan rekaman asli dan setiap hasil konversi dengan transkrip yang dikembalikan untuk peninjauan melalui mendengarkan di kemudian hari.\n\nAlur kerja audio langsung menggunakan PCM mono mentah bertanda 16-bit little-endian, dengan audio 16 atau 24 kHz yang dikirim dengan kecepatan kira-kira waktu nyata. Jendela sesi yang didokumentasikan adalah 60 menit. Meta menjelaskan masukan audio asli yang melebihi satu jam; batas berkas dan sesi langsung yang didokumentasikan tetap merupakan batas antarmuka terpisah. Pilih alur kerja berkas rekaman atau langsung sesuai apakah audio sudah lengkap atau masih direkam, dan pertahankan hasil dari sesi terpisah terkait dengan segmen masukannya masing-masing.\n\nMuse Voice Transcribe dilatih dalam lebih dari 70 bahasa, sedangkan antarmuka pengenalan yang didokumentasikan merinci 25 bahasa yang didukung. Bahasa tersebut mencakup Inggris, Prancis, Jerman, Spanyol, Arab, Mandarin, Hindi, Jepang, Korea, Italia, dan Portugis. Model ini mengenali peralihan bahasa di dalam atau antar kalimat. Petunjuk bahasa dapat menyebutkan bahasa yang diperkirakan ada dalam audio, tetapi petunjuk tersebut mengarahkan pengenalan, bukan memaksa transkrip menjadi satu bahasa.\n\nPetunjuk kosakata membantu mengenali istilah produk, akronim, nama, atau tempat yang penting dalam rekaman. Berikan kata dan ejaan aktual yang Anda perkirakan akan terdengar. Daftar kata kunci memengaruhi pengenalan tanpa menjamin ejaan yang persis, jadi periksa istilah yang menentukan dengan membandingkannya terhadap audio. Petunjuk bahasa dan kata kunci dipilih pada awal transkripsi; jaga agar sesuai dengan rekaman tersebut, alih-alih mengubah maknanya ketika sesi sedang berjalan.\n\nModel ini mendukung diarization untuk percakapan dengan lebih dari 20 pembicara. Label seperti A dan B mengidentifikasi pembicara dalam satu transkripsi. Label tersebut bukan nama terverifikasi dan tidak membuktikan bahwa sebuah label merujuk pada orang yang sama dalam sesi lain. Untuk tugas analisis rapat asli, mintalah giliran yang diatribusikan kepada pembicara, pertahankan rekaman, dan gunakan label untuk mengatur diskusi sebelum menetapkan nama peserta yang sebenarnya melalui alur kerja yang menaunginya.\n\nTranskrip parsial langsung dapat berubah seiring masuknya lebih banyak ucapan. Dalam mode kumulatif, setiap hasil parsial menggantikan hipotesis sebelumnya, bukan menambahkan salinan lain. Akhir ucapan yang terdeteksi menandai batas, sedangkan hasil giliran yang selesai menyediakan teks akhir dan dapat berbeda dari hasil parsial terakhir. Pertahankan giliran yang tumpang tindih terkait dengan pengenal gilirannya, dan gunakan hasil yang sudah selesai sebelum memperlakukan transkrip sebagai tuntas. Ketika masukan langsung berakhir, berikan sinyal akhir masukan dan terus menerima hingga produsen selesai mengeluarkan hasil yang tertunda. Menutup koneksi langsung dapat membuang hasil tersebut; batas ucapan yang terdeteksi mengakhiri satu giliran, bukan seluruh sesi.\n\nPenanda waktu tersedia pada tingkat giliran. Profil ini tidak menyediakan stempel waktu tingkat kata atau skor keyakinan, dan progres pemrosesan audio bukan stempel waktu untuk kata tertentu. Deteksi peristiwa suara, deteksi emosi, dan pemformatan ulang transkrip juga berada di luar profil keluaran yang didokumentasikan. Gunakan interval giliran yang dikembalikan untuk linimasa pembicara atau peninjauan tingkat segmen, dan pertahankan kata-kata yang dikenali jika langkah penyuntingan terpisah kemudian membuat catatan yang lebih rapi.\n\nArtefak yang berguna mencakup teks dikte yang selesai, transkrip pertanyaan suara, percakapan dengan atribusi pembicara, atau linimasa ujaran. Bandingkan nama, angka, dan istilah teknis dengan rekaman asli, pertahankan mode serta keterkaitan waktunya, dan sediakan giliran lengkap untuk ditinjau. Transkripsi menetapkan apa yang dikenali dalam audio; menjawab pertanyaan lisan, menerjemahkannya, atau mengubahnya menjadi catatan rapat merupakan tugas langkah aplikasi berikutnya.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "4135cf267c2529844388dd37a522b1380b45b8539b3ace13695e9ca6f1646d6c",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "id",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">M</span><h2 id=\"sheet-title\">Meta: Muse Voice Transcribe 1.0</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Tutup\">×</button></div><div class=\"idline\"><span>Meta /</span><code>meta/muse-voice-transcribe-1.0</code><button type=\"button\" id=\"copy-id\">Salin ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Bagian kartu model\"><button type=\"button\" data-card-jump=\"overview\">Mulai</button><button type=\"button\" data-card-jump=\"methods\">Masukan &amp; metode</button><button type=\"button\" data-card-jump=\"pricing\">Paket</button><button type=\"button\" data-card-jump=\"examples\">Contoh</button><button type=\"button\" data-card-jump=\"results\">Hasil</button><button type=\"button\" data-card-jump=\"aliases\">Alias</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"Metode API\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|transcriptions|/v1/audio/transcriptions|meta%2Fmuse-voice-transcribe-1.0\">Transkripsi</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-0\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">Mulai</h3><p class=\"mdesc-full\">Muse Voice Transcribe 1.0 adalah model ucapan-ke-teks Meta untuk dikte, giliran bicara yang terdeteksi, dan transkrip dengan informasi pembicara. Model ini mendukung petunjuk bahasa dan kosakata, peralihan bahasa, serta penanda waktu tingkat giliran, dengan alur kerja terpisah untuk klip rekaman dan audio langsung.</p><dl class=\"card-io\" data-card-io><div><dt>Masukan 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>Deskripsi ini mencakup kemampuan model. Masukan, keluaran, dan opsi yang tersedia di Ailoot tercantum di bawah untuk metode yang dipilih.</p><div class=\"mabout\" id=\"m-about\"><p>Muse Voice Transcribe 1.0 adalah model persepsi audio Meta untuk mentranskripsikan ucapan, mendeteksi batas ujaran, dan mengatribusikan giliran bicara kepada pembicara. Model ini termasuk keluarga model Muse Spark dan menggabungkan pengenalan, diarization, serta endpointing di dalam model. Keluarannya berupa teks yang dikenali, dengan informasi waktu dan pembicara yang tersedia dalam mode yang dipilih.</p><p>Model ini memproses audio dalam potongan 80 milidetik dan menentukan kapan harus terus mendengarkan atau mengeluarkan teks. Penundaan adaptifnya memungkinkan model menunggu audio tambahan ketika suatu kata lebih sulit dipastikan. Ini menghasilkan teks parsial saat ucapan masuk, kemudian diikuti hasil transkripsi yang selesai. Perlakukan hipotesis parsial dan giliran yang telah selesai sebagai tahap berbeda dalam pengalaman mendengarkan.</p><p>Pilih di antara tiga mode. Push-to-talk adalah mode bawaan untuk satu ujaran yang terkontrol, seperti pertanyaan suara atau teks dikte singkat. Endpointing memungkinkan model mendeteksi batas giliran bicara dan mengembalikan satu transkrip lengkap untuk setiap segmen yang terdeteksi. Diarization mengatribusikan ucapan yang dikenali ke label pembicara dan ditujukan untuk rekaman dengan beberapa pembicara, bukan pergantian giliran perintah suara yang paling cepat.</p><p>Untuk klip rekaman, alur kerja transkripsi berkas mengembalikan transkrip lengkap dalam satu permintaan. Hasil bawaan berupa JSON yang memuat transkrip dan durasi audio, dengan array turns dalam mode endpointing dan diarization. Setiap giliran dapat memuat pengenal, waktu mulai dan akhir dalam milidetik, serta teks yang dikenali. Label pembicara tersedia dalam mode diarization. Push-to-talk menghasilkan transkrip lengkap tanpa giliran yang terdeteksi di dalam array tersebut. Antarmuka berkas rekaman dari produsen juga dapat mengembalikan teks biasa atau aliran peristiwa transkripsi. Teks biasa menempatkan giliran yang terdeteksi pada baris terpisah dan dapat menyertakan label pembicara; aliran peristiwa berakhir setelah peristiwa terakhirnya tanpa ringkasan JSON terpisah. Mode parsial delta-nya mengembalikan teks secara bertahap, sedangkan peristiwa transkrip akhir memuat kata-kata lengkap.</p><p>Siapkan berkas RIFF/WAVE yang memuat audio PCM mono berupa integer 16-bit pada 16 atau 24 kHz. Laju asli model adalah 24 kHz, dan antarmukanya juga menerima 16 kHz. Konversikan kontainer atau pengodean lain ke bentuk WAV yang didukung tersebut sebelum memberikan rekaman. Profil transkripsi berkas mengizinkan audio hingga 10 menit dan total badan permintaan hingga 32 MB. Pertahankan hubungan rekaman asli dan setiap hasil konversi dengan transkrip yang dikembalikan untuk peninjauan melalui mendengarkan di kemudian hari.</p><p>Alur kerja audio langsung menggunakan PCM mono mentah bertanda 16-bit little-endian, dengan audio 16 atau 24 kHz yang dikirim dengan kecepatan kira-kira waktu nyata. Jendela sesi yang didokumentasikan adalah 60 menit. Meta menjelaskan masukan audio asli yang melebihi satu jam; batas berkas dan sesi langsung yang didokumentasikan tetap merupakan batas antarmuka terpisah. Pilih alur kerja berkas rekaman atau langsung sesuai apakah audio sudah lengkap atau masih direkam, dan pertahankan hasil dari sesi terpisah terkait dengan segmen masukannya masing-masing.</p><p>Muse Voice Transcribe dilatih dalam lebih dari 70 bahasa, sedangkan antarmuka pengenalan yang didokumentasikan merinci 25 bahasa yang didukung. Bahasa tersebut mencakup Inggris, Prancis, Jerman, Spanyol, Arab, Mandarin, Hindi, Jepang, Korea, Italia, dan Portugis. Model ini mengenali peralihan bahasa di dalam atau antar kalimat. Petunjuk bahasa dapat menyebutkan bahasa yang diperkirakan ada dalam audio, tetapi petunjuk tersebut mengarahkan pengenalan, bukan memaksa transkrip menjadi satu bahasa.</p><p>Petunjuk kosakata membantu mengenali istilah produk, akronim, nama, atau tempat yang penting dalam rekaman. Berikan kata dan ejaan aktual yang Anda perkirakan akan terdengar. Daftar kata kunci memengaruhi pengenalan tanpa menjamin ejaan yang persis, jadi periksa istilah yang menentukan dengan membandingkannya terhadap audio. Petunjuk bahasa dan kata kunci dipilih pada awal transkripsi; jaga agar sesuai dengan rekaman tersebut, alih-alih mengubah maknanya ketika sesi sedang berjalan.</p><p>Model ini mendukung diarization untuk percakapan dengan lebih dari 20 pembicara. Label seperti A dan B mengidentifikasi pembicara dalam satu transkripsi. Label tersebut bukan nama terverifikasi dan tidak membuktikan bahwa sebuah label merujuk pada orang yang sama dalam sesi lain. Untuk tugas analisis rapat asli, mintalah giliran yang diatribusikan kepada pembicara, pertahankan rekaman, dan gunakan label untuk mengatur diskusi sebelum menetapkan nama peserta yang sebenarnya melalui alur kerja yang menaunginya.</p><p>Transkrip parsial langsung dapat berubah seiring masuknya lebih banyak ucapan. Dalam mode kumulatif, setiap hasil parsial menggantikan hipotesis sebelumnya, bukan menambahkan salinan lain. Akhir ucapan yang terdeteksi menandai batas, sedangkan hasil giliran yang selesai menyediakan teks akhir dan dapat berbeda dari hasil parsial terakhir. Pertahankan giliran yang tumpang tindih terkait dengan pengenal gilirannya, dan gunakan hasil yang sudah selesai sebelum memperlakukan transkrip sebagai tuntas. Ketika masukan langsung berakhir, berikan sinyal akhir masukan dan terus menerima hingga produsen selesai mengeluarkan hasil yang tertunda. Menutup koneksi langsung dapat membuang hasil tersebut; batas ucapan yang terdeteksi mengakhiri satu giliran, bukan seluruh sesi.</p><p>Penanda waktu tersedia pada tingkat giliran. Profil ini tidak menyediakan stempel waktu tingkat kata atau skor keyakinan, dan progres pemrosesan audio bukan stempel waktu untuk kata tertentu. Deteksi peristiwa suara, deteksi emosi, dan pemformatan ulang transkrip juga berada di luar profil keluaran yang didokumentasikan. Gunakan interval giliran yang dikembalikan untuk linimasa pembicara atau peninjauan tingkat segmen, dan pertahankan kata-kata yang dikenali jika langkah penyuntingan terpisah kemudian membuat catatan yang lebih rapi.</p><p>Artefak yang berguna mencakup teks dikte yang selesai, transkrip pertanyaan suara, percakapan dengan atribusi pembicara, atau linimasa ujaran. Bandingkan nama, angka, dan istilah teknis dengan rekaman asli, pertahankan mode serta keterkaitan waktunya, dan sediakan giliran lengkap untuk ditinjau. Transkripsi menetapkan apa yang dikenali dalam audio; menjawab pertanyaan lisan, menerjemahkannya, atau mengubahnya menjadi catatan rapat merupakan tugas langkah aplikasi berikutnya.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Tersedia di Ailoot · masukan &amp; metode</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Transkripsi</b> <code>POST /v1/audio/transcriptions</code></summary><dl class=\"method-capabilities\"><div><dt>Masukan</dt><dd><code>audio</code></dd></div><div><dt>Keluaran</dt><dd><code>text</code></dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Kolom</th><th>Jenis</th><th>Persyaratan</th><th>Nilai &amp; batasan</th><th>Bawaan</th></tr></thead><tbody><tr><th data-cell-label=\"Kolom\" scope=\"row\"><span class=\"card-cell-label\">Kolom</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Jenis\" data-field-type><span class=\"card-cell-label\">Jenis</span><code>string</code></td><td data-cell-label=\"Persyaratan\"><span class=\"card-cell-label\">Persyaratan</span>Wajib</td><td data-cell-label=\"Nilai &amp; batasan\"><span class=\"card-cell-label\">Nilai &amp; batasan</span><div>meta/muse-voice-transcribe-1.0</div></td><td data-cell-label=\"Bawaan\" data-default=\"unspecified\"><span class=\"card-cell-label\">Bawaan</span>—</td></tr><tr><th data-cell-label=\"Kolom\" scope=\"row\"><span class=\"card-cell-label\">Kolom</span><code class=\"card-field-name\">input_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=\"Persyaratan\"><span class=\"card-cell-label\">Persyaratan</span>Wajib</td><td data-cell-label=\"Nilai &amp; batasan\"><span class=\"card-cell-label\">Nilai &amp; batasan</span></td><td data-cell-label=\"Bawaan\" data-default=\"unspecified\"><span class=\"card-cell-label\">Bawaan</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>Parameter metode dan siklus hidup</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parameter</th><th>Kontrak</th></tr></thead><tbody><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>content_type</code></th><td data-cell-label=\"Kontrak\"><span class=\"card-cell-label\">Kontrak</span>application/json</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>required</code></th><td data-cell-label=\"Kontrak\"><span class=\"card-cell-label\">Kontrak</span>model, input_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 berkas PCM WAV Anda yang benar-benar ada dan tidak kosong, mengodekan seluruh byte berkas sebagai base64, lalu mengirim input_audio.format dengan nilai wav.</td></tr></tbody></table></div><p>Siklus hidup: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · task_id persis dari catatan media milik Ailoot yang sudah ada</p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}/content</code></p><p class=\"note-s\"><code>GET /v1/media/assets</code></p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Paket</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Referensi tarif tidak menambah opsi permintaan. Parameter yang didukung tercantum pada metode yang dipilih.</p><dl data-price-conditions><dt>Mode Fast</dt><dd>Tidak ditentukan <span class=\"note-s\">Saat mode fast dipilih</span></dd><dt>Mode Flex</dt><dd>Tidak ditentukan <span class=\"note-s\">Saat mode flex dipilih</span></dd><dt>Upaya penalaran maksimum</dt><dd>Tidak ditentukan <span class=\"note-s\">Saat upaya penalaran maksimum menggunakan penyesuaian default</span></dd></dl></div><div data-declared-tariff-pricing><h4>Tarif Ailoot</h4><h4>Harga menurut konfigurasi</h4><p class=\"note-s\">Cocokkan setiap biaya dengan kondisi yang ditampilkan. Gunakan satu tarif untuk setiap kelompok konfigurasi alternatif.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Konfigurasi</th><th>Jadwal tarif</th><th>Satuan penagihan</th><th>Biaya</th></tr></thead><tbody><tr><th data-cell-label=\"Konfigurasi\" scope=\"row\"><span class=\"card-cell-label\">Konfigurasi</span>Tarif dasar token</th><td data-cell-label=\"Jadwal tarif\"><span class=\"card-cell-label\">Jadwal tarif</span>Tarif dasar</td><td data-cell-label=\"Satuan penagihan\"><span class=\"card-cell-label\">Satuan penagihan</span>—</td><td data-cell-label=\"Biaya\"><span class=\"card-cell-label\">Biaya</span><div><span>Masukan · Token masukan</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Keluaran · Token keluaran</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Masukan · Pembacaan cache</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Masukan · Penulisan cache</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Masukan · Penulisan cache, 1 jam</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div></td></tr><tr><th data-cell-label=\"Konfigurasi\" scope=\"row\"><span class=\"card-cell-label\">Konfigurasi</span>detik audio masukan</th><td data-cell-label=\"Jadwal tarif\"><span class=\"card-cell-label\">Jadwal tarif</span>—</td><td data-cell-label=\"Satuan penagihan\"><span class=\"card-cell-label\">Satuan penagihan</span>per detik audio masukan</td><td data-cell-label=\"Biaya\"><span class=\"card-cell-label\">Biaya</span><div><span>Masukan · detik audio masukan</span> <b>$0.0001</b> <span class=\"price-unit\">per detik audio masukan</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot mencadangkan perkiraan dana sebelum permintaan. Setelah hasil diterima, tagihan akhir diselesaikan berdasarkan penggunaan yang terukur. Penyelesaian tagihan streaming menggunakan catatan penggunaan akhir. <a href=\"/docs/id/billing/reserve/\">Cara kerja cadangan dan penyelesaian tagihan →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Contoh permintaan</h3><h4>Ailoot Ultra · Transkripsi</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Pilihan kode\"><button class=\"cg-tab\" id=\"model-code-1834-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1834-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · berkas WAV yang sebenarnya dan hasil asli secara lengkap</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Salin kode\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-1834-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1834-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;meta/muse-voice-transcribe-1.0&#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\">Isi respons asli secara utuh, status, dan header yang diteruskan. Handler ini tidak menambahkan struktur JSON universal, bidang teks, atau 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, berkas, dan bagian konten yang dikembalikan.</p><p class=\"note-s\">Simpan respons dan header secara lengkap, setiap keluaran aktual, identifikator asli yang dikembalikan, dan semua kolom usage. Pulihkan operasi asli tanpa mengirim ulang permintaan pembuatan.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Jika respons asli perlu diperiksa</h5><p class=\"note-s\">Simpan X-Client-Request-ID aktual dan respons secara utuh. Baca aset asli yang dimiliki beserta URL konten bertanda tangan yang persis; jangan pernah kirim ulang pembuatan yang statusnya belum pasti.</p></div><details class=\"card-about\" data-output-fields><summary>Kolom respons</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Kolom</th><th>Jenis</th></tr></thead><tbody><tr><th data-cell-label=\"Kolom\" scope=\"row\"><span class=\"card-cell-label\">Kolom</span><code class=\"card-field-name\">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=\"Kolom\" scope=\"row\"><span class=\"card-cell-label\">Kolom</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>Kesalahan dan langkah berikutnya</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Respons</th><th>Kondisi</th><th>Langkah berikutnya</th></tr></thead><tbody><tr><th data-cell-label=\"Respons\" scope=\"row\"><span class=\"card-cell-label\">Respons</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Kondisi\"><span class=\"card-cell-label\">Kondisi</span>Isi JSON atau ID model kanonis eksplisit tidak valid.</td><td data-cell-label=\"Langkah berikutnya\"><span class=\"card-cell-label\">Langkah berikutnya</span>Simpan respons dan perbaiki bidang permintaan yang ditunjukkan.</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=\"Kondisi\"><span class=\"card-cell-label\">Kondisi</span>Kunci API Ailoot tidak valid.</td><td data-cell-label=\"Langkah berikutnya\"><span class=\"card-cell-label\">Langkah berikutnya</span>Gunakan kunci API Ailoot Anda yang diotorisasi.</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=\"Kondisi\"><span class=\"card-cell-label\">Kondisi</span>Grup kunci tidak mengizinkan metode ini.</td><td data-cell-label=\"Langkah berikutnya\"><span class=\"card-cell-label\">Langkah berikutnya</span>Simpan rincian kesalahan 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=\"Kondisi\"><span class=\"card-cell-label\">Kondisi</span>Metode yang dipilih tidak memiliki rute yang diizinkan.</td><td data-cell-label=\"Langkah berikutnya\"><span class=\"card-cell-label\">Langkah berikutnya</span>Simpan rincian kesalahan 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=\"Kondisi\"><span class=\"card-cell-label\">Kondisi</span>Tarif yang diterima tidak dapat memperoleh jumlah atau batas masukan yang diwajibkan.</td><td data-cell-label=\"Langkah berikutnya\"><span class=\"card-cell-label\">Langkah berikutnya</span>Simpan respons; gunakan representasi masukan yang diwajibkan 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=\"Kondisi\"><span class=\"card-cell-label\">Kondisi</span>Penyimpanan, rute, harga metode, atau pencadangan dana yang diperlukan tidak tersedia.</td><td data-cell-label=\"Langkah berikutnya\"><span class=\"card-cell-label\">Langkah berikutnya</span>Simpan respons asli secara utuh. Pencadangan dana yang belum pasti tidak mengizinkan pengiriman ulang.</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=\"Kondisi\"><span class=\"card-cell-label\">Kondisi</span>Hasil awal, penggunaan, atau penyelesaian tagihan perlu diperiksa.</td><td data-cell-label=\"Langkah berikutnya\"><span class=\"card-cell-label\">Langkah berikutnya</span>Simpan ID permintaan aktual dan respons asli. Baca catatan yang dimiliki yang sudah ada; jangan kirim ulang pembuatan.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Alias</h3><h4>Alias model</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=meta%2Fmuse-voice-transcribe-1.0&amp;route=Ultra&amp;caller=meta%2Fmuse-voice-transcribe-1.0&amp;fmt=transcriptions\"><code>meta/muse-voice-transcribe-1.0</code></a></span></p><h4>Alias jalur metode</h4><p class=\"note-s\">Gunakan jalur metode yang ditampilkan di atas.</p><h4>ID pemanggil terkait</h4><p class=\"note-s\"><a href=\"#m=meta%2Fmuse-voice-transcribe-1.0&amp;route=Ultra&amp;caller=meta%2Fmuse-voice-transcribe-1.0&amp;fmt=transcriptions\"><code>meta/muse-voice-transcribe-1.0</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "meta/muse-voice-transcribe-1.0",
        "fmt": "transcriptions",
        "http": "POST",
        "path": "/v1/audio/transcriptions",
        "request_model_id": "meta/muse-voice-transcribe-1.0",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|transcriptions|/v1/audio/transcriptions|meta%2Fmuse-voice-transcribe-1.0",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "errors": [
              {
                "code": null,
                "condition": "Isi JSON atau ID model kanonis eksplisit tidak valid.",
                "http_status": 400,
                "recovery": "Simpan respons dan perbaiki bidang permintaan yang ditunjukkan.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Kunci API Ailoot tidak valid.",
                "http_status": 401,
                "recovery": "Gunakan kunci API Ailoot Anda yang diotorisasi.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "Grup kunci tidak mengizinkan metode ini.",
                "http_status": 403,
                "recovery": "Simpan rincian kesalahan yang dikembalikan.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "Metode yang dipilih tidak memiliki rute yang diizinkan.",
                "http_status": 404,
                "recovery": "Simpan rincian kesalahan yang dikembalikan.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "Tarif yang diterima tidak dapat memperoleh jumlah atau batas masukan yang diwajibkan.",
                "http_status": 422,
                "recovery": "Simpan respons; gunakan representasi masukan yang diwajibkan oleh tarif yang diterima.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Penyimpanan, rute, harga metode, atau pencadangan dana yang diperlukan tidak tersedia.",
                "http_status": 503,
                "recovery": "Simpan respons asli secara utuh. Pencadangan dana yang belum pasti tidak mengizinkan pengiriman ulang.",
                "type": null
              },
              {
                "code": null,
                "condition": "Hasil awal, penggunaan, atau penyelesaian tagihan perlu diperiksa.",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "Simpan ID permintaan aktual dan respons asli. Baca catatan yang dimiliki yang sudah ada; jangan kirim ulang pembuatan.",
                "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 aktual dan respons secara utuh. Baca aset asli yang dimiliki beserta URL konten bertanda tangan yang persis; jangan pernah kirim ulang pembuatan yang statusnya belum pasti."
            },
            "outputs": {
              "all_results": "Simpan respons dan header secara lengkap, setiap keluaran aktual, identifikator asli yang dikembalikan, dan semua kolom usage. Pulihkan operasi asli tanpa mengirim ulang permintaan pembuatan.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "Isi respons asli secara utuh, status, dan header yang diteruskan. Handler ini tidak menambahkan struktur JSON universal, bidang teks, atau pembungkus tugas."
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "meta/muse-voice-transcribe-1.0"
                ],
                "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": [
                    "meta/muse-voice-transcribe-1.0"
                  ],
                  "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": "meta/muse-voice-transcribe-1.0"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "Contoh ini membaca berkas PCM WAV Anda yang benar-benar ada dan tidak kosong, mengodekan seluruh byte berkas sebagai base64, lalu mengirim input_audio.format dengan nilai 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 persis dari catatan media milik Ailoot yang sudah ada",
                "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.0001",
                "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.0001",
                "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': 'meta/muse-voice-transcribe-1.0', '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.0001
          }
        },
        "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.0001",
                "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.0001",
                "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": "meta/muse-voice-transcribe-1.0",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.0001",
            "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.0001",
            "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": "meta/muse-voice-transcribe-1.0",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "61842a8d675423bdf0b7220e1f0c19c64c2dcbd230677afd5bee4d9bcc0358b3",
    "input_html_sha256": "0a4ff202f99d7aca2a9167b529a2e19d051dc1fd17709668ad1d3a24deb7901c",
    "private_audit_sha256": "6f97d392eb3f855db8fa24e7939ded7c59bfb5a9efc08165eaa2f34d7efe4e94",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/id/meta-muse-voice-transcribe-1-0/",
    "description": "Muse Voice Transcribe 1.0 adalah model ucapan-ke-teks Meta untuk dikte, giliran bicara yang terdeteksi, dan transkrip dengan informasi pembicara. Model ini mendukung petunjuk bahasa dan kosakata, peralihan bahasa, serta penanda waktu tingkat giliran, dengan alur kerja terpisah untuk klip rekaman dan audio langsung.",
    "locale": "id",
    "md_url": "https://ailoot.ai/models/id/meta-muse-voice-transcribe-1-0/index.md",
    "title": "Meta: Muse Voice Transcribe 1.0 — Ailoot",
    "url": "https://ailoot.ai/models/id/meta-muse-voice-transcribe-1-0/"
  },
  "rawModel": {
    "about": "Muse Voice Transcribe 1.0 adalah model persepsi audio Meta untuk mentranskripsikan ucapan, mendeteksi batas ujaran, dan mengatribusikan giliran bicara kepada pembicara. Model ini termasuk keluarga model Muse Spark dan menggabungkan pengenalan, diarization, serta endpointing di dalam model. Keluarannya berupa teks yang dikenali, dengan informasi waktu dan pembicara yang tersedia dalam mode yang dipilih.\n\nModel ini memproses audio dalam potongan 80 milidetik dan menentukan kapan harus terus mendengarkan atau mengeluarkan teks. Penundaan adaptifnya memungkinkan model menunggu audio tambahan ketika suatu kata lebih sulit dipastikan. Ini menghasilkan teks parsial saat ucapan masuk, kemudian diikuti hasil transkripsi yang selesai. Perlakukan hipotesis parsial dan giliran yang telah selesai sebagai tahap berbeda dalam pengalaman mendengarkan.\n\nPilih di antara tiga mode. Push-to-talk adalah mode bawaan untuk satu ujaran yang terkontrol, seperti pertanyaan suara atau teks dikte singkat. Endpointing memungkinkan model mendeteksi batas giliran bicara dan mengembalikan satu transkrip lengkap untuk setiap segmen yang terdeteksi. Diarization mengatribusikan ucapan yang dikenali ke label pembicara dan ditujukan untuk rekaman dengan beberapa pembicara, bukan pergantian giliran perintah suara yang paling cepat.\n\nUntuk klip rekaman, alur kerja transkripsi berkas mengembalikan transkrip lengkap dalam satu permintaan. Hasil bawaan berupa JSON yang memuat transkrip dan durasi audio, dengan array turns dalam mode endpointing dan diarization. Setiap giliran dapat memuat pengenal, waktu mulai dan akhir dalam milidetik, serta teks yang dikenali. Label pembicara tersedia dalam mode diarization. Push-to-talk menghasilkan transkrip lengkap tanpa giliran yang terdeteksi di dalam array tersebut. Antarmuka berkas rekaman dari produsen juga dapat mengembalikan teks biasa atau aliran peristiwa transkripsi. Teks biasa menempatkan giliran yang terdeteksi pada baris terpisah dan dapat menyertakan label pembicara; aliran peristiwa berakhir setelah peristiwa terakhirnya tanpa ringkasan JSON terpisah. Mode parsial delta-nya mengembalikan teks secara bertahap, sedangkan peristiwa transkrip akhir memuat kata-kata lengkap.\n\nSiapkan berkas RIFF/WAVE yang memuat audio PCM mono berupa integer 16-bit pada 16 atau 24 kHz. Laju asli model adalah 24 kHz, dan antarmukanya juga menerima 16 kHz. Konversikan kontainer atau pengodean lain ke bentuk WAV yang didukung tersebut sebelum memberikan rekaman. Profil transkripsi berkas mengizinkan audio hingga 10 menit dan total badan permintaan hingga 32 MB. Pertahankan hubungan rekaman asli dan setiap hasil konversi dengan transkrip yang dikembalikan untuk peninjauan melalui mendengarkan di kemudian hari.\n\nAlur kerja audio langsung menggunakan PCM mono mentah bertanda 16-bit little-endian, dengan audio 16 atau 24 kHz yang dikirim dengan kecepatan kira-kira waktu nyata. Jendela sesi yang didokumentasikan adalah 60 menit. Meta menjelaskan masukan audio asli yang melebihi satu jam; batas berkas dan sesi langsung yang didokumentasikan tetap merupakan batas antarmuka terpisah. Pilih alur kerja berkas rekaman atau langsung sesuai apakah audio sudah lengkap atau masih direkam, dan pertahankan hasil dari sesi terpisah terkait dengan segmen masukannya masing-masing.\n\nMuse Voice Transcribe dilatih dalam lebih dari 70 bahasa, sedangkan antarmuka pengenalan yang didokumentasikan merinci 25 bahasa yang didukung. Bahasa tersebut mencakup Inggris, Prancis, Jerman, Spanyol, Arab, Mandarin, Hindi, Jepang, Korea, Italia, dan Portugis. Model ini mengenali peralihan bahasa di dalam atau antar kalimat. Petunjuk bahasa dapat menyebutkan bahasa yang diperkirakan ada dalam audio, tetapi petunjuk tersebut mengarahkan pengenalan, bukan memaksa transkrip menjadi satu bahasa.\n\nPetunjuk kosakata membantu mengenali istilah produk, akronim, nama, atau tempat yang penting dalam rekaman. Berikan kata dan ejaan aktual yang Anda perkirakan akan terdengar. Daftar kata kunci memengaruhi pengenalan tanpa menjamin ejaan yang persis, jadi periksa istilah yang menentukan dengan membandingkannya terhadap audio. Petunjuk bahasa dan kata kunci dipilih pada awal transkripsi; jaga agar sesuai dengan rekaman tersebut, alih-alih mengubah maknanya ketika sesi sedang berjalan.\n\nModel ini mendukung diarization untuk percakapan dengan lebih dari 20 pembicara. Label seperti A dan B mengidentifikasi pembicara dalam satu transkripsi. Label tersebut bukan nama terverifikasi dan tidak membuktikan bahwa sebuah label merujuk pada orang yang sama dalam sesi lain. Untuk tugas analisis rapat asli, mintalah giliran yang diatribusikan kepada pembicara, pertahankan rekaman, dan gunakan label untuk mengatur diskusi sebelum menetapkan nama peserta yang sebenarnya melalui alur kerja yang menaunginya.\n\nTranskrip parsial langsung dapat berubah seiring masuknya lebih banyak ucapan. Dalam mode kumulatif, setiap hasil parsial menggantikan hipotesis sebelumnya, bukan menambahkan salinan lain. Akhir ucapan yang terdeteksi menandai batas, sedangkan hasil giliran yang selesai menyediakan teks akhir dan dapat berbeda dari hasil parsial terakhir. Pertahankan giliran yang tumpang tindih terkait dengan pengenal gilirannya, dan gunakan hasil yang sudah selesai sebelum memperlakukan transkrip sebagai tuntas. Ketika masukan langsung berakhir, berikan sinyal akhir masukan dan terus menerima hingga produsen selesai mengeluarkan hasil yang tertunda. Menutup koneksi langsung dapat membuang hasil tersebut; batas ucapan yang terdeteksi mengakhiri satu giliran, bukan seluruh sesi.\n\nPenanda waktu tersedia pada tingkat giliran. Profil ini tidak menyediakan stempel waktu tingkat kata atau skor keyakinan, dan progres pemrosesan audio bukan stempel waktu untuk kata tertentu. Deteksi peristiwa suara, deteksi emosi, dan pemformatan ulang transkrip juga berada di luar profil keluaran yang didokumentasikan. Gunakan interval giliran yang dikembalikan untuk linimasa pembicara atau peninjauan tingkat segmen, dan pertahankan kata-kata yang dikenali jika langkah penyuntingan terpisah kemudian membuat catatan yang lebih rapi.\n\nArtefak yang berguna mencakup teks dikte yang selesai, transkrip pertanyaan suara, percakapan dengan atribusi pembicara, atau linimasa ujaran. Bandingkan nama, angka, dan istilah teknis dengan rekaman asli, pertahankan mode serta keterkaitan waktunya, dan sediakan giliran lengkap untuk ditinjau. Transkripsi menetapkan apa yang dikenali dalam audio; menjawab pertanyaan lisan, menerjemahkannya, atau mengubahnya menjadi catatan rapat merupakan tugas langkah aplikasi berikutnya.",
    "alias_of": null,
    "aliases": [],
    "author": "Meta",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "audio"
      ],
      "manufacturer_output": [
        "transcription"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.0001",
            "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.0001",
            "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": "Informasi lengkap harga konfigurasi tersedia di bagian detail."
      }
    ],
    "ctx": null,
    "formats": [
      "transcriptions"
    ],
    "id": "meta/muse-voice-transcribe-1.0",
    "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": "Isi JSON atau ID model kanonis eksplisit tidak valid.",
                "http_status": 400,
                "recovery": "Simpan respons dan perbaiki bidang permintaan yang ditunjukkan.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Kunci API Ailoot tidak valid.",
                "http_status": 401,
                "recovery": "Gunakan kunci API Ailoot Anda yang diotorisasi.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "Grup kunci tidak mengizinkan metode ini.",
                "http_status": 403,
                "recovery": "Simpan rincian kesalahan yang dikembalikan.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "Metode yang dipilih tidak memiliki rute yang diizinkan.",
                "http_status": 404,
                "recovery": "Simpan rincian kesalahan yang dikembalikan.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "Tarif yang diterima tidak dapat memperoleh jumlah atau batas masukan yang diwajibkan.",
                "http_status": 422,
                "recovery": "Simpan respons; gunakan representasi masukan yang diwajibkan oleh tarif yang diterima.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Penyimpanan, rute, harga metode, atau pencadangan dana yang diperlukan tidak tersedia.",
                "http_status": 503,
                "recovery": "Simpan respons asli secara utuh. Pencadangan dana yang belum pasti tidak mengizinkan pengiriman ulang.",
                "type": null
              },
              {
                "code": null,
                "condition": "Hasil awal, penggunaan, atau penyelesaian tagihan perlu diperiksa.",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "Simpan ID permintaan aktual dan respons asli. Baca catatan yang dimiliki yang sudah ada; jangan kirim ulang pembuatan.",
                "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 aktual dan respons secara utuh. Baca aset asli yang dimiliki beserta URL konten bertanda tangan yang persis; jangan pernah kirim ulang pembuatan yang statusnya belum pasti."
            },
            "outputs": {
              "all_results": "Simpan respons dan header secara lengkap, setiap keluaran aktual, identifikator asli yang dikembalikan, dan semua kolom usage. Pulihkan operasi asli tanpa mengirim ulang permintaan pembuatan.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "Isi respons asli secara utuh, status, dan header yang diteruskan. Handler ini tidak menambahkan struktur JSON universal, bidang teks, atau pembungkus tugas."
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "meta/muse-voice-transcribe-1.0"
                ],
                "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": [
                    "meta/muse-voice-transcribe-1.0"
                  ],
                  "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": "meta/muse-voice-transcribe-1.0"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "Contoh ini membaca berkas PCM WAV Anda yang benar-benar ada dan tidak kosong, mengodekan seluruh byte berkas sebagai base64, lalu mengirim input_audio.format dengan nilai 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 persis dari catatan media milik Ailoot yang sudah ada",
                "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.0001",
                "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.0001",
                "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': 'meta/muse-voice-transcribe-1.0', '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.0001
          }
        },
        "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.0001",
                "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.0001",
                "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": "meta/muse-voice-transcribe-1.0",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.0001",
            "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.0001",
            "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": "meta/muse-voice-transcribe-1.0",
        "request_model_id": "meta/muse-voice-transcribe-1.0",
        "route_label": "Ultra"
      }
    ],
    "name": "Meta: Muse Voice Transcribe 1.0",
    "price": {
      "in": null,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": true
    },
    "short": "Muse Voice Transcribe 1.0 adalah model ucapan-ke-teks Meta untuk dikte, giliran bicara yang terdeteksi, dan transkrip dengan informasi pembicara. Model ini mendukung petunjuk bahasa dan kosakata, peralihan bahasa, serta penanda waktu tingkat giliran, dengan alur kerja terpisah untuk klip rekaman dan audio langsung."
  },
  "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": "Muse Voice Transcribe 1.0 adalah model ucapan-ke-teks Meta untuk dikte, giliran bicara yang terdeteksi, dan transkrip dengan informasi pembicara. Model ini mendukung petunjuk bahasa dan kosakata, peralihan bahasa, serta penanda waktu tingkat giliran, dengan alur kerja terpisah untuk klip rekaman dan audio langsung.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "d7699ca7361b4b8c3d6c28b6c502004f1e46a9cd051d59bd1a2c7ed9890a2db7",
    "renderer_sha256": "2a0471475a29000c23db326ca1e315df73dee7524f6bc2907818ee3458813f2d"
  },
  "sourceRevision": "6629e9356d33c06410bbb644573b57f3d16a35eea6547f4cd24a21edcf055cae"
}
