{
  "aboutHtml": "<p>GPT Transcribe ialah model pertuturan kepada teks OpenAI untuk fail audio lengkap, transkrip fail secara penstriman dan giliran audio yang dikomit dalam sesi Realtime. Model ini menerima audio dengan konteks teks pilihan dan memulangkan teks yang dikenal pasti. Pengeluar meletakkannya sebagai model untuk transkripsi tepat bagi pertuturan yang dirakam dalam bahasa asalnya, termasuk kosa kata bidang tertentu, rakaman berbilang bahasa dan pertukaran kod bahasa. Output yang berguna ialah transkrip yang kekal berkaitan dengan rakaman, bersama metadata bahasa yang dikesan apabila model dapat membuat ramalan yang boleh dipercayai.</p><h4>Menyediakan rakaman lengkap</h4><p>Aliran kerja transkripsi fail OpenAI menerima muat naik sehingga 25 MB. Rujukan titik akhir semasa menyenaraikan format input FLAC, MP3, MP4, MPEG, MPGA, M4A, OGG, WAV dan WebM serta mengesyorkan metadata fail yang mencukupi untuk mengenal pasti format, termasuk sambungan nama fail dan jenis kandungan yang sesuai. Untuk rakaman yang lebih besar, panduan mengesyorkan pemampatan atau pembahagiannya kepada fail bersaiz 25 MB atau kurang. Elakkan memotong di tengah ayat kerana membuang pertuturan di sekitarnya boleh mengurangkan ketepatan pengecaman. Kekalkan susunan bahagian dan kedudukannya dalam rakaman asal.</p><p>Untuk mesyuarat, temu bual atau pembentangan yang dirakam, berikan audio sebenar dan kenal pasti topik serta istilah yang mungkin dituturkan. Hasil yang berguna ialah kata-kata yang dikenal pasti, bukannya ringkasan perbincangan berdasarkan inferens. Simpan pengecam rakaman bersama teks yang dipulangkan supaya orang yang menyemak nama, nombor atau frasa yang meragukan dapat kembali kepada sumber yang betul. Transkrip kemudian boleh menjadi bahan untuk aliran kerja peringkasan, terjemahan atau penyuntingan yang berasingan.</p><h4>Konteks, petunjuk kata kunci dan bahasa yang dijangkakan</h4><p>Pengeluar membezakan tiga jenis panduan. Prompt memberikan konteks bentuk bebas tentang topik atau latar rakaman. Kata kunci memberikan perkataan atau frasa literal yang dijangka terdapat dalam pertuturan. Senarai languages mengenal pasti bahasa pertuturan yang dijangkakan. Untuk perbincangan produk dwibahasa, huraikan latar dalam prompt, senaraikan nama produk yang berkaitan sebagai kata kunci dan berikan bahasa yang dijangkakan. Ini ialah petunjuk pengecaman, bukannya arahan untuk memasukkan kosa kata yang tidak dituturkan oleh sesiapa.</p><p>GPT Transcribe menggunakan medan jamak languages menggantikan medan tunggal language yang lebih lama; OpenAI menyatakan bahawa kedua-duanya tidak boleh dihantar bersama. Panduannya menerima kod ISO 639-1 yang disokong, kod ISO 639-3 terpilih dan kod lokal bahasa Cina serantau, manakala nilai yang tidak disokong atau salah format ditolak. Setiap kata kunci mesti kekal pada satu baris dan tidak boleh mengandungi kurungan sudut, aksara carriage return atau line feed. Kata kunci yang tidak sah atau prompt yang terlalu panjang boleh menyebabkan seluruh permintaan ditolak. Pastikan konteks relevan dan semak sama ada nama yang diberikan sebagai petunjuk benar-benar muncul dalam audio, bukannya menganggap senarai petunjuk itu sebagai transkrip.</p><h4>Output JSON dan ramalan bahasa yang dikesan</h4><p>Hasil fail yang didokumenkan ialah JSON yang mengandungi transkrip dan bahasa yang dikesan. Ramalan bahasa itu ialah output model, bukannya salinan petunjuk bahasa yang diberikan. Senarai bahasa kosong ialah hasil yang sah apabila model tidak dapat membuat ramalan yang boleh dipercayai; ini tidak membuktikan bahawa rakaman itu senyap atau transkripsi gagal. Asingkan teks yang dikenal pasti daripada metadata bahasa supaya pemprosesan seterusnya dapat menggunakan setiap satunya mengikut maknanya.</p><h4>Menstrim transkrip fail</h4><p>Fail lengkap boleh menghasilkan teks transkrip secara beransur-ansur semasa diproses. OpenAI mendokumenkan peristiwa transcript.text.delta untuk teks separa dan transcript.text.done untuk transkrip fail lengkap; peristiwa akhir turut merangkumi bahasa yang dikesan. Ini menstrim output daripada rakaman yang telah dibekalkan. Ia berguna untuk memaparkan kemajuan bagi muat naik yang panjang, manakala peristiwa akhir menetapkan teks yang perlu disimpan sebagai hasil lengkap.</p><h4>Giliran yang dikomit dalam sesi Realtime</h4><p>GPT Transcribe turut mempunyai aliran kerja Realtime khusus melalui WebSocket. Audio ditambahkan pada penimbal input, kemudian aplikasi mengkomit satu giliran audio secara nyata. Transkripsi bermula untuk bahagian yang telah dikomit itu dan boleh mengeluarkan delta sebelum peristiwa penyelesaiannya, termasuk maklumat bahasa yang dikesan. Model menggunakan giliran yang telah ditranskripsikan sebelumnya secara automatik sebagai konteks dalam aliran sesi pengeluar ini. Ini berbeza daripada mengeluarkan teks kapsyen langsung secara berterusan apabila audio mikrofon tiba; OpenAI menamakan GPT Live Transcribe untuk aliran kerja berterusan itu.</p><p>Untuk beberapa giliran, simpan pengecam item input bersama transkrip yang sepadan. OpenAI memberi amaran bahawa peristiwa penyelesaian daripada giliran yang berbeza tidak semestinya tiba mengikut urutan pertuturan, jadi kaitkan setiap hasil akhir dengan input yang dikomit, bukannya menyusun perbualan berdasarkan masa penyelesaian sahaja. Artifak yang berguna ialah transkrip tersusun yang dihimpunkan daripada item akhir yang betul, dengan teks sementara dianggap sebagai kemajuan dan bukannya ujaran lengkap yang berasingan.</p><h4>Output khusus dan batasan substantif</h4><p>Profil ini tidak menyediakan kontrak sejagat untuk sari kata, cap masa, terjemahan atau label penutur. Panduan migrasi OpenAI membezakan keupayaan khusus itu: format sari kata asli dan pemasaan perkataan memerlukan model serta format yang serasi, manakala label penutur menggunakan GPT-4o Transcribe Diarize. Hasil fail GPT Transcribe ialah JSON, bukannya pengganti terus bagi respons SRT, VTT atau respons dengan cap masa terperinci. Kad model yang tepat tidak menerbitkan had angka bagi konteks atau output maksimum, jadi tetingkap token model sembang tidak boleh dianggap terpakai pada transkripsi audio.</p><p>Semak kosa kata yang sukar, nombor, loghat, hingar latar dan pertukaran bahasa terhadap rakaman. Pastikan petunjuk yang relevan meningkatkan pengecaman tanpa memperkenalkan istilah yang tidak dituturkan dan transkrip akhir merangkumi penghujung audio. Untuk hasil berbilang bahasa, kekalkan kata-kata yang dituturkan sebelum menyediakan versi terjemahan. Pemeriksaan ini menjadikan transkrip berguna sebagai bahan sumber sambil membezakan petunjuk konteks, bahasa yang dikesan dan pertuturan yang dikenal pasti dengan jelas.</p>",
  "aboutText": "GPT Transcribe ialah model pertuturan kepada teks OpenAI untuk fail audio lengkap, transkrip fail secara penstriman dan giliran audio yang dikomit dalam sesi Realtime. Model ini menerima audio dengan konteks teks pilihan dan memulangkan teks yang dikenal pasti. Pengeluar meletakkannya sebagai model untuk transkripsi tepat bagi pertuturan yang dirakam dalam bahasa asalnya, termasuk kosa kata bidang tertentu, rakaman berbilang bahasa dan pertukaran kod bahasa. Output yang berguna ialah transkrip yang kekal berkaitan dengan rakaman, bersama metadata bahasa yang dikesan apabila model dapat membuat ramalan yang boleh dipercayai.\n\n### Menyediakan rakaman lengkap\n\nAliran kerja transkripsi fail OpenAI menerima muat naik sehingga 25 MB. Rujukan titik akhir semasa menyenaraikan format input FLAC, MP3, MP4, MPEG, MPGA, M4A, OGG, WAV dan WebM serta mengesyorkan metadata fail yang mencukupi untuk mengenal pasti format, termasuk sambungan nama fail dan jenis kandungan yang sesuai. Untuk rakaman yang lebih besar, panduan mengesyorkan pemampatan atau pembahagiannya kepada fail bersaiz 25 MB atau kurang. Elakkan memotong di tengah ayat kerana membuang pertuturan di sekitarnya boleh mengurangkan ketepatan pengecaman. Kekalkan susunan bahagian dan kedudukannya dalam rakaman asal.\n\nUntuk mesyuarat, temu bual atau pembentangan yang dirakam, berikan audio sebenar dan kenal pasti topik serta istilah yang mungkin dituturkan. Hasil yang berguna ialah kata-kata yang dikenal pasti, bukannya ringkasan perbincangan berdasarkan inferens. Simpan pengecam rakaman bersama teks yang dipulangkan supaya orang yang menyemak nama, nombor atau frasa yang meragukan dapat kembali kepada sumber yang betul. Transkrip kemudian boleh menjadi bahan untuk aliran kerja peringkasan, terjemahan atau penyuntingan yang berasingan.\n\n### Konteks, petunjuk kata kunci dan bahasa yang dijangkakan\n\nPengeluar membezakan tiga jenis panduan. Prompt memberikan konteks bentuk bebas tentang topik atau latar rakaman. Kata kunci memberikan perkataan atau frasa literal yang dijangka terdapat dalam pertuturan. Senarai languages mengenal pasti bahasa pertuturan yang dijangkakan. Untuk perbincangan produk dwibahasa, huraikan latar dalam prompt, senaraikan nama produk yang berkaitan sebagai kata kunci dan berikan bahasa yang dijangkakan. Ini ialah petunjuk pengecaman, bukannya arahan untuk memasukkan kosa kata yang tidak dituturkan oleh sesiapa.\n\nGPT Transcribe menggunakan medan jamak languages menggantikan medan tunggal language yang lebih lama; OpenAI menyatakan bahawa kedua-duanya tidak boleh dihantar bersama. Panduannya menerima kod ISO 639-1 yang disokong, kod ISO 639-3 terpilih dan kod lokal bahasa Cina serantau, manakala nilai yang tidak disokong atau salah format ditolak. Setiap kata kunci mesti kekal pada satu baris dan tidak boleh mengandungi kurungan sudut, aksara carriage return atau line feed. Kata kunci yang tidak sah atau prompt yang terlalu panjang boleh menyebabkan seluruh permintaan ditolak. Pastikan konteks relevan dan semak sama ada nama yang diberikan sebagai petunjuk benar-benar muncul dalam audio, bukannya menganggap senarai petunjuk itu sebagai transkrip.\n\n### Output JSON dan ramalan bahasa yang dikesan\n\nHasil fail yang didokumenkan ialah JSON yang mengandungi transkrip dan bahasa yang dikesan. Ramalan bahasa itu ialah output model, bukannya salinan petunjuk bahasa yang diberikan. Senarai bahasa kosong ialah hasil yang sah apabila model tidak dapat membuat ramalan yang boleh dipercayai; ini tidak membuktikan bahawa rakaman itu senyap atau transkripsi gagal. Asingkan teks yang dikenal pasti daripada metadata bahasa supaya pemprosesan seterusnya dapat menggunakan setiap satunya mengikut maknanya.\n\n### Menstrim transkrip fail\n\nFail lengkap boleh menghasilkan teks transkrip secara beransur-ansur semasa diproses. OpenAI mendokumenkan peristiwa transcript.text.delta untuk teks separa dan transcript.text.done untuk transkrip fail lengkap; peristiwa akhir turut merangkumi bahasa yang dikesan. Ini menstrim output daripada rakaman yang telah dibekalkan. Ia berguna untuk memaparkan kemajuan bagi muat naik yang panjang, manakala peristiwa akhir menetapkan teks yang perlu disimpan sebagai hasil lengkap.\n\n### Giliran yang dikomit dalam sesi Realtime\n\nGPT Transcribe turut mempunyai aliran kerja Realtime khusus melalui WebSocket. Audio ditambahkan pada penimbal input, kemudian aplikasi mengkomit satu giliran audio secara nyata. Transkripsi bermula untuk bahagian yang telah dikomit itu dan boleh mengeluarkan delta sebelum peristiwa penyelesaiannya, termasuk maklumat bahasa yang dikesan. Model menggunakan giliran yang telah ditranskripsikan sebelumnya secara automatik sebagai konteks dalam aliran sesi pengeluar ini. Ini berbeza daripada mengeluarkan teks kapsyen langsung secara berterusan apabila audio mikrofon tiba; OpenAI menamakan GPT Live Transcribe untuk aliran kerja berterusan itu.\n\nUntuk beberapa giliran, simpan pengecam item input bersama transkrip yang sepadan. OpenAI memberi amaran bahawa peristiwa penyelesaian daripada giliran yang berbeza tidak semestinya tiba mengikut urutan pertuturan, jadi kaitkan setiap hasil akhir dengan input yang dikomit, bukannya menyusun perbualan berdasarkan masa penyelesaian sahaja. Artifak yang berguna ialah transkrip tersusun yang dihimpunkan daripada item akhir yang betul, dengan teks sementara dianggap sebagai kemajuan dan bukannya ujaran lengkap yang berasingan.\n\n### Output khusus dan batasan substantif\n\nProfil ini tidak menyediakan kontrak sejagat untuk sari kata, cap masa, terjemahan atau label penutur. Panduan migrasi OpenAI membezakan keupayaan khusus itu: format sari kata asli dan pemasaan perkataan memerlukan model serta format yang serasi, manakala label penutur menggunakan GPT-4o Transcribe Diarize. Hasil fail GPT Transcribe ialah JSON, bukannya pengganti terus bagi respons SRT, VTT atau respons dengan cap masa terperinci. Kad model yang tepat tidak menerbitkan had angka bagi konteks atau output maksimum, jadi tetingkap token model sembang tidak boleh dianggap terpakai pada transkripsi audio.\n\nSemak kosa kata yang sukar, nombor, loghat, hingar latar dan pertukaran bahasa terhadap rakaman. Pastikan petunjuk yang relevan meningkatkan pengecaman tanpa memperkenalkan istilah yang tidak dituturkan dan transkrip akhir merangkumi penghujung audio. Untuk hasil berbilang bahasa, kekalkan kata-kata yang dituturkan sebelum menyediakan versi terjemahan. Pemeriksaan ini menjadikan transkrip berguna sebagai bahan sumber sambil membezakan petunjuk konteks, bahasa yang dikesan dan pertuturan yang dikenal pasti dengan jelas.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "251eb2348a7eb8377d72145de3e54b1f3455186851b60759b21d355f1b447361",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "ms",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">O</span><h2 id=\"sheet-title\">OpenAI: GPT Transcribe</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Tutup\">×</button></div><div class=\"idline\"><span>OpenAI /</span><code>openai/gpt-transcribe</code><button type=\"button\" id=\"copy-id\">Salin ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Bahagian kad model\"><button type=\"button\" data-card-jump=\"overview\">Pengenalan</button><button type=\"button\" data-card-jump=\"methods\">Input &amp; kaedah</button><button type=\"button\" data-card-jump=\"pricing\">Pelan harga</button><button type=\"button\" data-card-jump=\"examples\">Contoh</button><button type=\"button\" data-card-jump=\"results\">Hasil</button><button type=\"button\" data-card-jump=\"aliases\">Alias</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"Kaedah API\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|transcriptions|/v1/audio/transcriptions|openai%2Fgpt-transcribe\">Pengecaman</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-0\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">Pengenalan</h3><p class=\"mdesc-full\">GPT Transcribe menukar pertuturan yang dirakam kepada teks dalam bahasa asalnya, dengan prompt berkonteks, petunjuk kata kunci literal dan petunjuk berbilang bahasa. OpenAI mendokumenkan transkripsi fail lengkap, hasil fail secara penstriman dan transkripsi selepas giliran audio Realtime dikomit.</p><dl class=\"card-io\" data-card-io><div><dt>Input yang diterima</dt><dd>Audio</dd></div><div><dt>Hasil</dt><dd>Teks</dd></div></dl><details class=\"card-about\"><summary>Tentang model</summary><p class=\"note-s\" data-model-method-boundary>Huraian ini merangkumi keupayaan model. Input, output dan pilihan yang tersedia di Ailoot disenaraikan di bawah untuk kaedah yang dipilih.</p><div class=\"mabout\" id=\"m-about\"><p>GPT Transcribe ialah model pertuturan kepada teks OpenAI untuk fail audio lengkap, transkrip fail secara penstriman dan giliran audio yang dikomit dalam sesi Realtime. Model ini menerima audio dengan konteks teks pilihan dan memulangkan teks yang dikenal pasti. Pengeluar meletakkannya sebagai model untuk transkripsi tepat bagi pertuturan yang dirakam dalam bahasa asalnya, termasuk kosa kata bidang tertentu, rakaman berbilang bahasa dan pertukaran kod bahasa. Output yang berguna ialah transkrip yang kekal berkaitan dengan rakaman, bersama metadata bahasa yang dikesan apabila model dapat membuat ramalan yang boleh dipercayai.</p><h4>Menyediakan rakaman lengkap</h4><p>Aliran kerja transkripsi fail OpenAI menerima muat naik sehingga 25 MB. Rujukan titik akhir semasa menyenaraikan format input FLAC, MP3, MP4, MPEG, MPGA, M4A, OGG, WAV dan WebM serta mengesyorkan metadata fail yang mencukupi untuk mengenal pasti format, termasuk sambungan nama fail dan jenis kandungan yang sesuai. Untuk rakaman yang lebih besar, panduan mengesyorkan pemampatan atau pembahagiannya kepada fail bersaiz 25 MB atau kurang. Elakkan memotong di tengah ayat kerana membuang pertuturan di sekitarnya boleh mengurangkan ketepatan pengecaman. Kekalkan susunan bahagian dan kedudukannya dalam rakaman asal.</p><p>Untuk mesyuarat, temu bual atau pembentangan yang dirakam, berikan audio sebenar dan kenal pasti topik serta istilah yang mungkin dituturkan. Hasil yang berguna ialah kata-kata yang dikenal pasti, bukannya ringkasan perbincangan berdasarkan inferens. Simpan pengecam rakaman bersama teks yang dipulangkan supaya orang yang menyemak nama, nombor atau frasa yang meragukan dapat kembali kepada sumber yang betul. Transkrip kemudian boleh menjadi bahan untuk aliran kerja peringkasan, terjemahan atau penyuntingan yang berasingan.</p><h4>Konteks, petunjuk kata kunci dan bahasa yang dijangkakan</h4><p>Pengeluar membezakan tiga jenis panduan. Prompt memberikan konteks bentuk bebas tentang topik atau latar rakaman. Kata kunci memberikan perkataan atau frasa literal yang dijangka terdapat dalam pertuturan. Senarai languages mengenal pasti bahasa pertuturan yang dijangkakan. Untuk perbincangan produk dwibahasa, huraikan latar dalam prompt, senaraikan nama produk yang berkaitan sebagai kata kunci dan berikan bahasa yang dijangkakan. Ini ialah petunjuk pengecaman, bukannya arahan untuk memasukkan kosa kata yang tidak dituturkan oleh sesiapa.</p><p>GPT Transcribe menggunakan medan jamak languages menggantikan medan tunggal language yang lebih lama; OpenAI menyatakan bahawa kedua-duanya tidak boleh dihantar bersama. Panduannya menerima kod ISO 639-1 yang disokong, kod ISO 639-3 terpilih dan kod lokal bahasa Cina serantau, manakala nilai yang tidak disokong atau salah format ditolak. Setiap kata kunci mesti kekal pada satu baris dan tidak boleh mengandungi kurungan sudut, aksara carriage return atau line feed. Kata kunci yang tidak sah atau prompt yang terlalu panjang boleh menyebabkan seluruh permintaan ditolak. Pastikan konteks relevan dan semak sama ada nama yang diberikan sebagai petunjuk benar-benar muncul dalam audio, bukannya menganggap senarai petunjuk itu sebagai transkrip.</p><h4>Output JSON dan ramalan bahasa yang dikesan</h4><p>Hasil fail yang didokumenkan ialah JSON yang mengandungi transkrip dan bahasa yang dikesan. Ramalan bahasa itu ialah output model, bukannya salinan petunjuk bahasa yang diberikan. Senarai bahasa kosong ialah hasil yang sah apabila model tidak dapat membuat ramalan yang boleh dipercayai; ini tidak membuktikan bahawa rakaman itu senyap atau transkripsi gagal. Asingkan teks yang dikenal pasti daripada metadata bahasa supaya pemprosesan seterusnya dapat menggunakan setiap satunya mengikut maknanya.</p><h4>Menstrim transkrip fail</h4><p>Fail lengkap boleh menghasilkan teks transkrip secara beransur-ansur semasa diproses. OpenAI mendokumenkan peristiwa transcript.text.delta untuk teks separa dan transcript.text.done untuk transkrip fail lengkap; peristiwa akhir turut merangkumi bahasa yang dikesan. Ini menstrim output daripada rakaman yang telah dibekalkan. Ia berguna untuk memaparkan kemajuan bagi muat naik yang panjang, manakala peristiwa akhir menetapkan teks yang perlu disimpan sebagai hasil lengkap.</p><h4>Giliran yang dikomit dalam sesi Realtime</h4><p>GPT Transcribe turut mempunyai aliran kerja Realtime khusus melalui WebSocket. Audio ditambahkan pada penimbal input, kemudian aplikasi mengkomit satu giliran audio secara nyata. Transkripsi bermula untuk bahagian yang telah dikomit itu dan boleh mengeluarkan delta sebelum peristiwa penyelesaiannya, termasuk maklumat bahasa yang dikesan. Model menggunakan giliran yang telah ditranskripsikan sebelumnya secara automatik sebagai konteks dalam aliran sesi pengeluar ini. Ini berbeza daripada mengeluarkan teks kapsyen langsung secara berterusan apabila audio mikrofon tiba; OpenAI menamakan GPT Live Transcribe untuk aliran kerja berterusan itu.</p><p>Untuk beberapa giliran, simpan pengecam item input bersama transkrip yang sepadan. OpenAI memberi amaran bahawa peristiwa penyelesaian daripada giliran yang berbeza tidak semestinya tiba mengikut urutan pertuturan, jadi kaitkan setiap hasil akhir dengan input yang dikomit, bukannya menyusun perbualan berdasarkan masa penyelesaian sahaja. Artifak yang berguna ialah transkrip tersusun yang dihimpunkan daripada item akhir yang betul, dengan teks sementara dianggap sebagai kemajuan dan bukannya ujaran lengkap yang berasingan.</p><h4>Output khusus dan batasan substantif</h4><p>Profil ini tidak menyediakan kontrak sejagat untuk sari kata, cap masa, terjemahan atau label penutur. Panduan migrasi OpenAI membezakan keupayaan khusus itu: format sari kata asli dan pemasaan perkataan memerlukan model serta format yang serasi, manakala label penutur menggunakan GPT-4o Transcribe Diarize. Hasil fail GPT Transcribe ialah JSON, bukannya pengganti terus bagi respons SRT, VTT atau respons dengan cap masa terperinci. Kad model yang tepat tidak menerbitkan had angka bagi konteks atau output maksimum, jadi tetingkap token model sembang tidak boleh dianggap terpakai pada transkripsi audio.</p><p>Semak kosa kata yang sukar, nombor, loghat, hingar latar dan pertukaran bahasa terhadap rakaman. Pastikan petunjuk yang relevan meningkatkan pengecaman tanpa memperkenalkan istilah yang tidak dituturkan dan transkrip akhir merangkumi penghujung audio. Untuk hasil berbilang bahasa, kekalkan kata-kata yang dituturkan sebelum menyediakan versi terjemahan. Pemeriksaan ini menjadikan transkrip berguna sebagai bahan sumber sambil membezakan petunjuk konteks, bahasa yang dikesan dan pertuturan yang dikenal pasti dengan jelas.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Tersedia di Ailoot · input &amp; kaedah</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Transkripsi</b> <code>POST /v1/audio/transcriptions</code></summary><dl class=\"method-capabilities\"><div><dt>Input</dt><dd><code>audio</code></dd></div><div><dt>Output</dt><dd><code>text</code></dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Medan</th><th>Jenis</th><th>Keperluan</th><th>Nilai &amp; had</th><th>Lalai</th></tr></thead><tbody><tr><th data-cell-label=\"Medan\" scope=\"row\"><span class=\"card-cell-label\">Medan</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Jenis\" data-field-type><span class=\"card-cell-label\">Jenis</span><code>string</code></td><td data-cell-label=\"Keperluan\"><span class=\"card-cell-label\">Keperluan</span>Diperlukan</td><td data-cell-label=\"Nilai &amp; had\"><span class=\"card-cell-label\">Nilai &amp; had</span><div>openai/gpt-transcribe</div></td><td data-cell-label=\"Lalai\" data-default=\"unspecified\"><span class=\"card-cell-label\">Lalai</span>—</td></tr><tr><th data-cell-label=\"Medan\" scope=\"row\"><span class=\"card-cell-label\">Medan</span><code class=\"card-field-name\">input_audio</code></th><td data-cell-label=\"Jenis\" data-field-type><span class=\"card-cell-label\">Jenis</span><code>object</code></td><td data-cell-label=\"Keperluan\"><span class=\"card-cell-label\">Keperluan</span>Diperlukan</td><td data-cell-label=\"Nilai &amp; had\"><span class=\"card-cell-label\">Nilai &amp; had</span></td><td data-cell-label=\"Lalai\" data-default=\"unspecified\"><span class=\"card-cell-label\">Lalai</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>Parameter kaedah dan kitar hayat</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parameter</th><th>Kontrak</th></tr></thead><tbody><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>content_type</code></th><td data-cell-label=\"Kontrak\"><span class=\"card-cell-label\">Kontrak</span>application/json</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>required</code></th><td data-cell-label=\"Kontrak\"><span class=\"card-cell-label\">Kontrak</span>model, input_audio</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>material_types</code></th><td data-cell-label=\"Kontrak\"><span class=\"card-cell-label\">Kontrak</span>audio</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>material_conditions</code></th><td data-cell-label=\"Kontrak\"><span class=\"card-cell-label\">Kontrak</span>Contoh ini membaca fail PCM WAV sebenar anda yang tidak kosong, mengekodkan keseluruhan bait fail sebagai base64 dan menghantar input_audio.format sebagai wav.</td></tr></tbody></table></div><p>Kitar hayat: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · task_id tepat daripada rekod media sedia ada milik anda</p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}/content</code></p><p class=\"note-s\"><code>GET /v1/media/assets</code></p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Pelan harga</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Rujukan tarif tidak menambah pilihan permintaan. Parameter yang disokong disenaraikan untuk kaedah yang dipilih.</p><dl data-price-conditions><dt>Mod pantas</dt><dd>Tidak dinyatakan <span class=\"note-s\">Apabila mod pantas dipilih</span></dd><dt>Mod flex</dt><dd>Tidak dinyatakan <span class=\"note-s\">Apabila mod flex dipilih</span></dd><dt>Usaha penaakulan maksimum</dt><dd>Tidak dinyatakan <span class=\"note-s\">Apabila usaha penaakulan maksimum menggunakan pelarasan default</span></dd></dl></div><div data-declared-tariff-pricing><h4>Kadar Ailoot</h4><h4>Harga mengikut konfigurasi</h4><p class=\"note-s\">Padankan setiap caj dengan syarat yang dipaparkan. Gunakan satu kadar bagi setiap set konfigurasi alternatif.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Konfigurasi</th><th>Jadual kadar</th><th>Unit pengebilan</th><th>Caj</th></tr></thead><tbody><tr><th data-cell-label=\"Konfigurasi\" scope=\"row\"><span class=\"card-cell-label\">Konfigurasi</span>Kadar asas token</th><td data-cell-label=\"Jadual kadar\"><span class=\"card-cell-label\">Jadual kadar</span>Kadar asas</td><td data-cell-label=\"Unit pengebilan\"><span class=\"card-cell-label\">Unit pengebilan</span>—</td><td data-cell-label=\"Caj\"><span class=\"card-cell-label\">Caj</span><div><span>Input · Token input</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Output · Token output</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Input · Bacaan cache</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Input · Penulisan cache</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Input · Penulisan cache, 1 jam</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div></td></tr><tr><th data-cell-label=\"Konfigurasi\" scope=\"row\"><span class=\"card-cell-label\">Konfigurasi</span>saat audio input</th><td data-cell-label=\"Jadual kadar\"><span class=\"card-cell-label\">Jadual kadar</span>—</td><td data-cell-label=\"Unit pengebilan\"><span class=\"card-cell-label\">Unit pengebilan</span>bagi setiap saat audio masukan</td><td data-cell-label=\"Caj\"><span class=\"card-cell-label\">Caj</span><div><span>Input · saat audio input</span> <b>$0.00015</b> <span class=\"price-unit\">bagi setiap saat audio masukan</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot merizabkan anggaran amaun sebelum permintaan. Selepas hasil diterima, caj akhir diselesaikan berdasarkan penggunaan terukur. Penyelesaian caj penstriman menggunakan rekod penggunaan akhir. <a href=\"/docs/ms/billing/reserve/\">Cara rizab dan penyelesaian caj berfungsi →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Contoh permintaan</h3><h4>Ailoot Ultra · Transkripsi</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Pilihan kod\"><button class=\"cg-tab\" id=\"model-code-2158-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2158-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · fail WAV sebenar dan hasil asal yang lengkap</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Salin kod\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-2158-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2158-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;openai/gpt-transcribe&#39;, &#39;input_audio&#39;: {&#39;data&#39;: base64.b64encode(audio).decode(&#39;ascii&#39;), &#39;format&#39;: &#39;wav&#39;}}\nPath(&#39;request.json&#39;).write_text(json.dumps(request, ensure_ascii=False), encoding=&#39;utf-8&#39;)\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete original response, headers and actual X-Client-Request-ID.\n# Read existing owned records for recovery; do not resubmit an uncertain operation.\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Terima dan simpan hasil</h3><h4>Ailoot Ultra · Transkripsi</h4><p class=\"note-s\">Badan respons asal yang lengkap, status dan pengepala yang dimajukan. Pengendali ini tidak menambah bentuk JSON sejagat, medan teks atau struktur pembungkus tugas.</p><ul class=\"card-result-paths\"><li><code>GET /v1/media/tasks/{task_id}</code></li><li><code>GET /v1/media/assets/{asset_id}/content</code></li><li><code>GET /v1/media/assets</code></li><li><code>GET /v1/media/assets/{asset_id}</code></li></ul><div class=\"card-result-process\" data-all-results><h5>Simpan semua hasil yang selesai</h5><p class=\"note-s\">Simpan setiap respons lengkap, fail dan bahagian kandungan yang dikembalikan.</p><p class=\"note-s\">Simpan respons dan pengepala yang lengkap, setiap output sebenar, pengecam asal yang dikembalikan serta semua medan penggunaan. Pulihkan operasi asal tanpa menghantar permintaan penciptaan sekali lagi.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Jika respons asal perlu disemak</h5><p class=\"note-s\">Simpan X-Client-Request-ID sebenar dan respons lengkap. Baca aset asal milik anda serta pautan kandungan bertandatangan yang tepat; jangan sekali-kali hantar semula penciptaan yang tidak pasti.</p></div><details class=\"card-about\" data-output-fields><summary>Medan respons</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Medan</th><th>Jenis</th></tr></thead><tbody><tr><th data-cell-label=\"Medan\" scope=\"row\"><span class=\"card-cell-label\">Medan</span><code class=\"card-field-name\">text (when present)</code></th><td data-cell-label=\"Jenis\" data-field-type><span class=\"card-cell-label\">Jenis</span></td></tr><tr><th data-cell-label=\"Medan\" scope=\"row\"><span class=\"card-cell-label\">Medan</span><code class=\"card-field-name\">usage (when present)</code></th><td data-cell-label=\"Jenis\" data-field-type><span class=\"card-cell-label\">Jenis</span></td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Ralat dan langkah seterusnya</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Respons</th><th>Syarat</th><th>Langkah seterusnya</th></tr></thead><tbody><tr><th data-cell-label=\"Respons\" scope=\"row\"><span class=\"card-cell-label\">Respons</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Syarat\"><span class=\"card-cell-label\">Syarat</span>Badan JSON atau ID model kanonik yang dinyatakan secara jelas tidak sah.</td><td data-cell-label=\"Langkah seterusnya\"><span class=\"card-cell-label\">Langkah seterusnya</span>Simpan respons dan betulkan medan permintaan yang dinyatakan.</td></tr><tr><th data-cell-label=\"Respons\" scope=\"row\"><span class=\"card-cell-label\">Respons</span>401 · <code>authentication_error</code></th><td data-cell-label=\"Syarat\"><span class=\"card-cell-label\">Syarat</span>Kunci API Ailoot tidak sah.</td><td data-cell-label=\"Langkah seterusnya\"><span class=\"card-cell-label\">Langkah seterusnya</span>Gunakan kunci API Ailoot anda yang dibenarkan.</td></tr><tr><th data-cell-label=\"Respons\" scope=\"row\"><span class=\"card-cell-label\">Respons</span>403 · <code>permission_error</code></th><td data-cell-label=\"Syarat\"><span class=\"card-cell-label\">Syarat</span>Kumpulan kunci tidak membenarkan kaedah ini.</td><td data-cell-label=\"Langkah seterusnya\"><span class=\"card-cell-label\">Langkah seterusnya</span>Simpan butiran ralat yang dikembalikan.</td></tr><tr><th data-cell-label=\"Respons\" scope=\"row\"><span class=\"card-cell-label\">Respons</span>404 · <code>not_found_error</code></th><td data-cell-label=\"Syarat\"><span class=\"card-cell-label\">Syarat</span>Kaedah yang dipilih tidak mempunyai laluan yang dibenarkan.</td><td data-cell-label=\"Langkah seterusnya\"><span class=\"card-cell-label\">Langkah seterusnya</span>Simpan butiran ralat yang dikembalikan.</td></tr><tr><th data-cell-label=\"Respons\" scope=\"row\"><span class=\"card-cell-label\">Respons</span>422 · <code>price_unavailable</code></th><td data-cell-label=\"Syarat\"><span class=\"card-cell-label\">Syarat</span>Tarif yang diterima tidak dapat memperoleh kuantiti input atau batas yang diperlukan.</td><td data-cell-label=\"Langkah seterusnya\"><span class=\"card-cell-label\">Langkah seterusnya</span>Simpan respons; gunakan bentuk perwakilan input yang diperlukan oleh tarif yang diterima.</td></tr><tr><th data-cell-label=\"Respons\" scope=\"row\"><span class=\"card-cell-label\">Respons</span>503 · <code></code></th><td data-cell-label=\"Syarat\"><span class=\"card-cell-label\">Syarat</span>Storan, laluan, harga kaedah atau penahanan dana yang diperlukan tidak tersedia.</td><td data-cell-label=\"Langkah seterusnya\"><span class=\"card-cell-label\">Langkah seterusnya</span>Simpan respons asal yang lengkap. Penahanan dana yang tidak pasti bukan kebenaran untuk menghantar semula.</td></tr><tr><th data-cell-label=\"Respons\" scope=\"row\"><span class=\"card-cell-label\">Respons</span>502 · <code>server_error</code></th><td data-cell-label=\"Syarat\"><span class=\"card-cell-label\">Syarat</span>Hasil asal, penggunaan atau penyelesaian caj memerlukan semakan.</td><td data-cell-label=\"Langkah seterusnya\"><span class=\"card-cell-label\">Langkah seterusnya</span>Simpan ID permintaan sebenar dan respons asal. Baca rekod sedia ada milik anda; jangan hantar semula permintaan penciptaan.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Alias</h3><h4>Alias model</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=openai%2Fgpt-transcribe&amp;route=Ultra&amp;caller=openai%2Fgpt-transcribe&amp;fmt=transcriptions\"><code>openai/gpt-transcribe</code></a></span></p><h4>Alias laluan kaedah</h4><p class=\"note-s\">Gunakan laluan kaedah yang dipaparkan di atas.</p><h4>ID pemanggil berkaitan</h4><p class=\"note-s\"><a href=\"#m=openai%2Fgpt-transcribe&amp;route=Ultra&amp;caller=openai%2Fgpt-transcribe&amp;fmt=transcriptions\"><code>openai/gpt-transcribe</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "openai/gpt-transcribe",
        "fmt": "transcriptions",
        "http": "POST",
        "path": "/v1/audio/transcriptions",
        "request_model_id": "openai/gpt-transcribe",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|transcriptions|/v1/audio/transcriptions|openai%2Fgpt-transcribe",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "errors": [
              {
                "code": null,
                "condition": "Badan JSON atau ID model kanonik yang dinyatakan secara jelas tidak sah.",
                "http_status": 400,
                "recovery": "Simpan respons dan betulkan medan permintaan yang dinyatakan.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Kunci API Ailoot tidak sah.",
                "http_status": 401,
                "recovery": "Gunakan kunci API Ailoot anda yang dibenarkan.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "Kumpulan kunci tidak membenarkan kaedah ini.",
                "http_status": 403,
                "recovery": "Simpan butiran ralat yang dikembalikan.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "Kaedah yang dipilih tidak mempunyai laluan yang dibenarkan.",
                "http_status": 404,
                "recovery": "Simpan butiran ralat yang dikembalikan.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "Tarif yang diterima tidak dapat memperoleh kuantiti input atau batas yang diperlukan.",
                "http_status": 422,
                "recovery": "Simpan respons; gunakan bentuk perwakilan input yang diperlukan oleh tarif yang diterima.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Storan, laluan, harga kaedah atau penahanan dana yang diperlukan tidak tersedia.",
                "http_status": 503,
                "recovery": "Simpan respons asal yang lengkap. Penahanan dana yang tidak pasti bukan kebenaran untuk menghantar semula.",
                "type": null
              },
              {
                "code": null,
                "condition": "Hasil asal, penggunaan atau penyelesaian caj memerlukan semakan.",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "Simpan ID permintaan sebenar dan respons asal. Baca rekod sedia ada milik anda; jangan hantar semula permintaan penciptaan.",
                "response_headers": {
                  "x-should-retry": "false"
                },
                "type": "server_error"
              }
            ],
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed content URL"
                }
              ],
              "dedicated_method_polling_or_cancel": false,
              "mode": "synchronous_result_then_owned_library",
              "original_POST_adds_task_envelope": false,
              "status": [
                {
                  "http": "GET",
                  "id_source": "exact task_id from an existing owned media record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Simpan X-Client-Request-ID sebenar dan respons lengkap. Baca aset asal milik anda serta pautan kandungan bertandatangan yang tepat; jangan sekali-kali hantar semula penciptaan yang tidak pasti."
            },
            "outputs": {
              "all_results": "Simpan respons dan pengepala yang lengkap, setiap output sebenar, pengecam asal yang dikembalikan serta semua medan penggunaan. Pulihkan operasi asal tanpa menghantar permintaan penciptaan sekali lagi.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "Badan respons asal yang lengkap, status dan pengepala yang dimajukan. Pengendali ini tidak menambah bentuk JSON sejagat, medan teks atau struktur pembungkus tugas."
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "openai/gpt-transcribe"
                ],
                "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": [
                    "openai/gpt-transcribe"
                  ],
                  "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": "openai/gpt-transcribe"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "Contoh ini membaca fail PCM WAV sebenar anda yang tidak kosong, mengekodkan keseluruhan bait fail sebagai base64 dan menghantar input_audio.format sebagai wav."
            ],
            "material_types": [
              "audio"
            ],
            "required": [
              "model",
              "input_audio"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed content URL"
              }
            ],
            "dedicated_method_polling_or_cancel": false,
            "mode": "synchronous_result_then_owned_library",
            "original_POST_adds_task_envelope": false,
            "status": [
              {
                "http": "GET",
                "id_source": "task_id tepat daripada rekod media sedia ada milik anda",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain the actual X-Client-Request-ID and complete response. Read the original owned assets and their exact signed content URLs; never resubmit an uncertain creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "text",
            "fields": [
              {
                "description": null,
                "name": "text (when present)",
                "type": null
              },
              {
                "description": null,
                "name": "usage (when present)",
                "type": null
              }
            ],
            "result": "Complete original response body, status and forwarded headers. No universal JSON shape, text field or task envelope is added by this handler."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.00015",
                "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.00015",
                "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': 'openai/gpt-transcribe', '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.00015
          }
        },
        "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.00015",
                "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.00015",
                "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": "openai/gpt-transcribe",
        "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.00015",
            "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.00015",
            "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": "openai/gpt-transcribe",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "ff04e7cdc8186b13e54406c51e3c0d0671c9712e9b0972e529a4f172c130c743",
    "input_html_sha256": "d27375c46e80977a382c1edc22757078034e8ccdfb3f309257f15d7821d08d3b",
    "private_audit_sha256": "addd15ae0b0b1a5720be4158d29a54fd2d44b4e79f6b2e7bed5cd8305e306c15",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/ms/openai-gpt-transcribe/",
    "description": "GPT Transcribe menukar pertuturan yang dirakam kepada teks dalam bahasa asalnya, dengan prompt berkonteks, petunjuk kata kunci literal dan petunjuk berbilang bahasa. OpenAI mendokumenkan transkripsi fail lengkap, hasil fail secara penstriman dan transkripsi selepas giliran audio Realtime dikomit.",
    "locale": "ms",
    "md_url": "https://ailoot.ai/models/ms/openai-gpt-transcribe/index.md",
    "title": "OpenAI: GPT Transcribe — Ailoot",
    "url": "https://ailoot.ai/models/ms/openai-gpt-transcribe/"
  },
  "rawModel": {
    "about": "GPT Transcribe ialah model pertuturan kepada teks OpenAI untuk fail audio lengkap, transkrip fail secara penstriman dan giliran audio yang dikomit dalam sesi Realtime. Model ini menerima audio dengan konteks teks pilihan dan memulangkan teks yang dikenal pasti. Pengeluar meletakkannya sebagai model untuk transkripsi tepat bagi pertuturan yang dirakam dalam bahasa asalnya, termasuk kosa kata bidang tertentu, rakaman berbilang bahasa dan pertukaran kod bahasa. Output yang berguna ialah transkrip yang kekal berkaitan dengan rakaman, bersama metadata bahasa yang dikesan apabila model dapat membuat ramalan yang boleh dipercayai.\n\n### Menyediakan rakaman lengkap\n\nAliran kerja transkripsi fail OpenAI menerima muat naik sehingga 25 MB. Rujukan titik akhir semasa menyenaraikan format input FLAC, MP3, MP4, MPEG, MPGA, M4A, OGG, WAV dan WebM serta mengesyorkan metadata fail yang mencukupi untuk mengenal pasti format, termasuk sambungan nama fail dan jenis kandungan yang sesuai. Untuk rakaman yang lebih besar, panduan mengesyorkan pemampatan atau pembahagiannya kepada fail bersaiz 25 MB atau kurang. Elakkan memotong di tengah ayat kerana membuang pertuturan di sekitarnya boleh mengurangkan ketepatan pengecaman. Kekalkan susunan bahagian dan kedudukannya dalam rakaman asal.\n\nUntuk mesyuarat, temu bual atau pembentangan yang dirakam, berikan audio sebenar dan kenal pasti topik serta istilah yang mungkin dituturkan. Hasil yang berguna ialah kata-kata yang dikenal pasti, bukannya ringkasan perbincangan berdasarkan inferens. Simpan pengecam rakaman bersama teks yang dipulangkan supaya orang yang menyemak nama, nombor atau frasa yang meragukan dapat kembali kepada sumber yang betul. Transkrip kemudian boleh menjadi bahan untuk aliran kerja peringkasan, terjemahan atau penyuntingan yang berasingan.\n\n### Konteks, petunjuk kata kunci dan bahasa yang dijangkakan\n\nPengeluar membezakan tiga jenis panduan. Prompt memberikan konteks bentuk bebas tentang topik atau latar rakaman. Kata kunci memberikan perkataan atau frasa literal yang dijangka terdapat dalam pertuturan. Senarai languages mengenal pasti bahasa pertuturan yang dijangkakan. Untuk perbincangan produk dwibahasa, huraikan latar dalam prompt, senaraikan nama produk yang berkaitan sebagai kata kunci dan berikan bahasa yang dijangkakan. Ini ialah petunjuk pengecaman, bukannya arahan untuk memasukkan kosa kata yang tidak dituturkan oleh sesiapa.\n\nGPT Transcribe menggunakan medan jamak languages menggantikan medan tunggal language yang lebih lama; OpenAI menyatakan bahawa kedua-duanya tidak boleh dihantar bersama. Panduannya menerima kod ISO 639-1 yang disokong, kod ISO 639-3 terpilih dan kod lokal bahasa Cina serantau, manakala nilai yang tidak disokong atau salah format ditolak. Setiap kata kunci mesti kekal pada satu baris dan tidak boleh mengandungi kurungan sudut, aksara carriage return atau line feed. Kata kunci yang tidak sah atau prompt yang terlalu panjang boleh menyebabkan seluruh permintaan ditolak. Pastikan konteks relevan dan semak sama ada nama yang diberikan sebagai petunjuk benar-benar muncul dalam audio, bukannya menganggap senarai petunjuk itu sebagai transkrip.\n\n### Output JSON dan ramalan bahasa yang dikesan\n\nHasil fail yang didokumenkan ialah JSON yang mengandungi transkrip dan bahasa yang dikesan. Ramalan bahasa itu ialah output model, bukannya salinan petunjuk bahasa yang diberikan. Senarai bahasa kosong ialah hasil yang sah apabila model tidak dapat membuat ramalan yang boleh dipercayai; ini tidak membuktikan bahawa rakaman itu senyap atau transkripsi gagal. Asingkan teks yang dikenal pasti daripada metadata bahasa supaya pemprosesan seterusnya dapat menggunakan setiap satunya mengikut maknanya.\n\n### Menstrim transkrip fail\n\nFail lengkap boleh menghasilkan teks transkrip secara beransur-ansur semasa diproses. OpenAI mendokumenkan peristiwa transcript.text.delta untuk teks separa dan transcript.text.done untuk transkrip fail lengkap; peristiwa akhir turut merangkumi bahasa yang dikesan. Ini menstrim output daripada rakaman yang telah dibekalkan. Ia berguna untuk memaparkan kemajuan bagi muat naik yang panjang, manakala peristiwa akhir menetapkan teks yang perlu disimpan sebagai hasil lengkap.\n\n### Giliran yang dikomit dalam sesi Realtime\n\nGPT Transcribe turut mempunyai aliran kerja Realtime khusus melalui WebSocket. Audio ditambahkan pada penimbal input, kemudian aplikasi mengkomit satu giliran audio secara nyata. Transkripsi bermula untuk bahagian yang telah dikomit itu dan boleh mengeluarkan delta sebelum peristiwa penyelesaiannya, termasuk maklumat bahasa yang dikesan. Model menggunakan giliran yang telah ditranskripsikan sebelumnya secara automatik sebagai konteks dalam aliran sesi pengeluar ini. Ini berbeza daripada mengeluarkan teks kapsyen langsung secara berterusan apabila audio mikrofon tiba; OpenAI menamakan GPT Live Transcribe untuk aliran kerja berterusan itu.\n\nUntuk beberapa giliran, simpan pengecam item input bersama transkrip yang sepadan. OpenAI memberi amaran bahawa peristiwa penyelesaian daripada giliran yang berbeza tidak semestinya tiba mengikut urutan pertuturan, jadi kaitkan setiap hasil akhir dengan input yang dikomit, bukannya menyusun perbualan berdasarkan masa penyelesaian sahaja. Artifak yang berguna ialah transkrip tersusun yang dihimpunkan daripada item akhir yang betul, dengan teks sementara dianggap sebagai kemajuan dan bukannya ujaran lengkap yang berasingan.\n\n### Output khusus dan batasan substantif\n\nProfil ini tidak menyediakan kontrak sejagat untuk sari kata, cap masa, terjemahan atau label penutur. Panduan migrasi OpenAI membezakan keupayaan khusus itu: format sari kata asli dan pemasaan perkataan memerlukan model serta format yang serasi, manakala label penutur menggunakan GPT-4o Transcribe Diarize. Hasil fail GPT Transcribe ialah JSON, bukannya pengganti terus bagi respons SRT, VTT atau respons dengan cap masa terperinci. Kad model yang tepat tidak menerbitkan had angka bagi konteks atau output maksimum, jadi tetingkap token model sembang tidak boleh dianggap terpakai pada transkripsi audio.\n\nSemak kosa kata yang sukar, nombor, loghat, hingar latar dan pertukaran bahasa terhadap rakaman. Pastikan petunjuk yang relevan meningkatkan pengecaman tanpa memperkenalkan istilah yang tidak dituturkan dan transkrip akhir merangkumi penghujung audio. Untuk hasil berbilang bahasa, kekalkan kata-kata yang dituturkan sebelum menyediakan versi terjemahan. Pemeriksaan ini menjadikan transkrip berguna sebagai bahan sumber sambil membezakan petunjuk konteks, bahasa yang dikesan dan pertuturan yang dikenal pasti dengan jelas.",
    "alias_of": null,
    "aliases": [],
    "author": "OpenAI",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "audio"
      ],
      "manufacturer_output": [
        "transcription"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.00015",
            "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.00015",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ],
        "summary": "Maklumat lengkap tentang harga konfigurasi terdapat dalam butiran."
      }
    ],
    "ctx": null,
    "formats": [
      "transcriptions"
    ],
    "id": "openai/gpt-transcribe",
    "input": [
      "audio"
    ],
    "kind": "audio",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "errors": [
              {
                "code": null,
                "condition": "Badan JSON atau ID model kanonik yang dinyatakan secara jelas tidak sah.",
                "http_status": 400,
                "recovery": "Simpan respons dan betulkan medan permintaan yang dinyatakan.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Kunci API Ailoot tidak sah.",
                "http_status": 401,
                "recovery": "Gunakan kunci API Ailoot anda yang dibenarkan.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "Kumpulan kunci tidak membenarkan kaedah ini.",
                "http_status": 403,
                "recovery": "Simpan butiran ralat yang dikembalikan.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "Kaedah yang dipilih tidak mempunyai laluan yang dibenarkan.",
                "http_status": 404,
                "recovery": "Simpan butiran ralat yang dikembalikan.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "Tarif yang diterima tidak dapat memperoleh kuantiti input atau batas yang diperlukan.",
                "http_status": 422,
                "recovery": "Simpan respons; gunakan bentuk perwakilan input yang diperlukan oleh tarif yang diterima.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Storan, laluan, harga kaedah atau penahanan dana yang diperlukan tidak tersedia.",
                "http_status": 503,
                "recovery": "Simpan respons asal yang lengkap. Penahanan dana yang tidak pasti bukan kebenaran untuk menghantar semula.",
                "type": null
              },
              {
                "code": null,
                "condition": "Hasil asal, penggunaan atau penyelesaian caj memerlukan semakan.",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "Simpan ID permintaan sebenar dan respons asal. Baca rekod sedia ada milik anda; jangan hantar semula permintaan penciptaan.",
                "response_headers": {
                  "x-should-retry": "false"
                },
                "type": "server_error"
              }
            ],
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed content URL"
                }
              ],
              "dedicated_method_polling_or_cancel": false,
              "mode": "synchronous_result_then_owned_library",
              "original_POST_adds_task_envelope": false,
              "status": [
                {
                  "http": "GET",
                  "id_source": "exact task_id from an existing owned media record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Simpan X-Client-Request-ID sebenar dan respons lengkap. Baca aset asal milik anda serta pautan kandungan bertandatangan yang tepat; jangan sekali-kali hantar semula penciptaan yang tidak pasti."
            },
            "outputs": {
              "all_results": "Simpan respons dan pengepala yang lengkap, setiap output sebenar, pengecam asal yang dikembalikan serta semua medan penggunaan. Pulihkan operasi asal tanpa menghantar permintaan penciptaan sekali lagi.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "Badan respons asal yang lengkap, status dan pengepala yang dimajukan. Pengendali ini tidak menambah bentuk JSON sejagat, medan teks atau struktur pembungkus tugas."
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "openai/gpt-transcribe"
                ],
                "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": [
                    "openai/gpt-transcribe"
                  ],
                  "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": "openai/gpt-transcribe"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "Contoh ini membaca fail PCM WAV sebenar anda yang tidak kosong, mengekodkan keseluruhan bait fail sebagai base64 dan menghantar input_audio.format sebagai wav."
            ],
            "material_types": [
              "audio"
            ],
            "required": [
              "model",
              "input_audio"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed content URL"
              }
            ],
            "dedicated_method_polling_or_cancel": false,
            "mode": "synchronous_result_then_owned_library",
            "original_POST_adds_task_envelope": false,
            "status": [
              {
                "http": "GET",
                "id_source": "task_id tepat daripada rekod media sedia ada milik anda",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain the actual X-Client-Request-ID and complete response. Read the original owned assets and their exact signed content URLs; never resubmit an uncertain creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "text",
            "fields": [
              {
                "description": null,
                "name": "text (when present)",
                "type": null
              },
              {
                "description": null,
                "name": "usage (when present)",
                "type": null
              }
            ],
            "result": "Complete original response body, status and forwarded headers. No universal JSON shape, text field or task envelope is added by this handler."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.00015",
                "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.00015",
                "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': 'openai/gpt-transcribe', '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.00015
          }
        },
        "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.00015",
                "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.00015",
                "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": "openai/gpt-transcribe",
        "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.00015",
            "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.00015",
            "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": "openai/gpt-transcribe",
        "request_model_id": "openai/gpt-transcribe",
        "route_label": "Ultra"
      }
    ],
    "name": "OpenAI: GPT Transcribe",
    "price": {
      "in": null,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": true
    },
    "short": "GPT Transcribe menukar pertuturan yang dirakam kepada teks dalam bahasa asalnya, dengan prompt berkonteks, petunjuk kata kunci literal dan petunjuk berbilang bahasa. OpenAI mendokumenkan transkripsi fail lengkap, hasil fail secara penstriman dan transkripsi selepas giliran audio Realtime dikomit."
  },
  "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": "GPT Transcribe menukar pertuturan yang dirakam kepada teks dalam bahasa asalnya, dengan prompt berkonteks, petunjuk kata kunci literal dan petunjuk berbilang bahasa. OpenAI mendokumenkan transkripsi fail lengkap, hasil fail secara penstriman dan transkripsi selepas giliran audio Realtime dikomit.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "fa7b1d1a02488e29fdf364de2e074d8d9163708934c9bfec07bf6e334275e7f5",
    "renderer_sha256": "1dab5ba62521e9568c8b7c82005622cabbf330a075df7cce1f83274a04009460"
  },
  "sourceRevision": "f5985cc60378f058cc483ace2c3cd8f0ba118598ab7967c65fd565e705c2fc4d"
}
