{
  "aboutHtml": "<p>Transcribe 1 — Fish Audio’ning qisqa yozuvlar uchun umumiy nutqni matnga aylantirish modeli. U audiofaylni qabul qilib, tanilgan so‘zlarni matn sifatida, yozuv davomiyligi, ixtiyoriy vaqtli segmentlar va ma’lum bo‘lsa til haqidagi axborot bilan qaytaradi. Bu model qisqa ovozli qayd, og‘zaki ko‘rsatma, yozuvdan parcha yoki o‘qiladigan matn ko‘rinishi kerak bo‘lgan audioklip uchun foydali.</p><p>Ovozli qayd uchun misol jarayon yozuvni uning to‘liq transkripti va asl klip identifikatori bilan birga saqlaydi. Ilovaning keyingi bosqichi og‘zaki manbani saqlagan holda ushbu matndan qidirishi, qaydni tartiblashi yoki qisqa mazmun tayyorlashi mumkin. Buyruqda transkript tanilgan so‘zlarni ilovaga beradi; har qanday harakat alohida talqin va bajarish bosqichidir. Intervyu parchasida iqtibosni to‘g‘ri joydan tekshirish uchun klipning to‘liq audiodagi o‘rnini qayd eting.</p><p>Ishlab chiqaruvchi WAV, MP3, M4A/MP4’ni ham o‘z ichiga olgan AAC, FLAC hamda Opus yoki Vorbis saqlovchi Ogg’ni qabul qiladi. WebM’dagi brauzer yozuvlari bu model uchun Ogg/Opus, MP3 yoki WAV’ga aylantirilishi kerak; Pro hujjatlarida qo‘shimcha konteynerlarning bevosita qo‘llab-quvvatlanishi ko‘rsatilgan. Har so‘rovda bitta audiofayl bering. Asosiy modelning hujjatlashtirilgan so‘rov limiti 50 MiB gacha, MP3 va Opus fayllari esa 25 MiB’dan kichik bo‘lishi kerak. Fayl hajmi va yozuv davomiyligi turli omillardir: siqilgan fayl yuklash limitiga sig‘ishi, lekin qayta ishlash uchun haddan tashqari uzoq vaqt talab qilishi mumkin.</p><p>Transcribe 1 qisqa yozuvlarga mo‘ljallangan. Ishlab chiqaruvchi bir necha daqiqadan uzun audio uchun Pro’ni tavsiya qiladi; asosiy modelga yuborilgan uzun so‘rov qayta ishlash vaqti limitidan oshsa muvaffaqiyatsiz tugashi mumkin. Uzunroq manbani qisqa kliplarga bo‘lib transkripsiyaga tayyorlaganda har klipning boshlang‘ich siljishini saqlang va natijalarni birlashtirishdan oldin qaytgan transkript butun klipni qamraganini tasdiqlang. Navigatsiyani to‘liq yozuvga bog‘lash uchun mahalliy segment vaqtlariga asl siljishni qo‘shing. Asosiy model tavsiyalarini Pro’ning alohida 60 daqiqalik limiti deb talqin qilmang.</p><p>Ishlab chiqaruvchi javobi text, duration va segments’ni o‘z ichiga oladi. Davomiylik soniyalarda ifodalanadi; o‘qishga qulay to‘liq transkript klipning asosiy matni sifatida saqlanishi kerak. Vaqt belgilari ixtiyoriy: ishlab chiqaruvchi API’sida ignore_timestamps standart holda true, false esa text (matn), start (boshlanish) va end (tugash) maydonlari berilgan so‘z darajasidagi segmentlarni so‘raydi; vaqtlar soniyalarda ifodalanadi. Vaqtga moslashtirish qo‘shimcha qayta ishlash vaqti oladi. Bo‘sh segments massivi vaqt belgilari o‘tkazib yuborilganini, nutq yo‘qligini yoki moslashtirish vaqtincha mavjud emasligini bildirishi mumkin; uni avtomatik ravishda to‘liq transkript ham bo‘sh deb talqin qilmang.</p><p>Segmentlar odatda so‘zlardan, xitoy va yapon tillarida esa bitta yoki bir nechta belgidan iborat. Ularning matnida tinish belgilari bo‘lmaydi va qiymatlar to‘liq transkriptdan boshqacha me’yorlashtirilishi mumkin; bu o‘qiladigan javobning harfma-harf nusxasi emas. Segmentning boshlanish va tugash vaqti bir xil bo‘lishi mumkin. Yozuvdagi o‘rinni topish yoki vaqtli ko‘rsatishni tayyorlash uchun segmentlardan, matn ifodasi va tinish belgilari muhim bo‘lsa to‘liq matndan foydalaning. Yakuniy materialda bu ikki ifodani alohida tuting.</p><p>Ixtiyoriy til ishorasi berilgan yoki berilmaganidan qat’i nazar, til avtomatik aniqlanadi. Ishlab chiqaruvchi ishoralar uchun kichik harfli ISO 639-1 kodlarini hujjatlashtiradi va ma’lum bo‘lsa ilova mantiqi uchun til kodi, ko‘rsatish uchun til nomini qaytaradi. Javob tillar almashadigan yozuvdagi barcha tillarni emas, bitta tilni bildiradi. Transkripsiya so‘rovini tarjima amali deb hisoblamasdan, manbaning asl matni va mavjud til metama’lumotlarini natija bilan birga saqlang.</p><p>Subtitr jarayonida so‘zlarni bittalab ko‘rsatish o‘rniga ketma-ket vaqtli segmentlarni o‘qiladigan subtitr bo‘laklariga guruhlang. Foydali natija — asl klipga bog‘langan SRT yoki WebVTT fayli; bo‘lak chegaralari pauzalarga mos, ekrandagi matn hajmi esa qulay bo‘lsin. Yetishmayotgan vaqt belgilarini tekshiring va har bo‘lak tugashi boshlanishidan keyin kelishini ta’minlang. Subtitr guruhlash va fayl formatlash qaytgan moslashtirish asosida bajariladigan ilova bosqichlaridir; ko‘rsatish usuli pleyer va auditoriyaga mos bo‘lishi kerak.</p><p>Transcribe 1’ning hujjatlashtirilgan boshqaruvlari audio, til ishorasi va vaqt belgisi tanlovidan iborat. Pro’ning so‘zlovchi belgilari, tuzilmali so‘zlovchi navbatlari, hissiy hodisa boshqaruvlari va so‘zlovchilar soni ishoralari alohida imkoniyatlardir; ular ushbu asosiy modelning hujjatlashtirilgan javob shartnomasiga kirmaydi. Qayta ishlashdan oldin kerakli materialni tanlang: qayd uchun oddiy o‘qiladigan matn yoki ijro navigatsiyasi va subtitrlar uchun vaqtga moslashtirilgan matn. Klip identifikatori, transkript va mavjud vaqt ma’lumotlarini saqlash natijani ilovaning keyingi bosqichi uchun foydali qiladi.</p>",
  "aboutText": "Transcribe 1 — Fish Audio’ning qisqa yozuvlar uchun umumiy nutqni matnga aylantirish modeli. U audiofaylni qabul qilib, tanilgan so‘zlarni matn sifatida, yozuv davomiyligi, ixtiyoriy vaqtli segmentlar va ma’lum bo‘lsa til haqidagi axborot bilan qaytaradi. Bu model qisqa ovozli qayd, og‘zaki ko‘rsatma, yozuvdan parcha yoki o‘qiladigan matn ko‘rinishi kerak bo‘lgan audioklip uchun foydali.\n\nOvozli qayd uchun misol jarayon yozuvni uning to‘liq transkripti va asl klip identifikatori bilan birga saqlaydi. Ilovaning keyingi bosqichi og‘zaki manbani saqlagan holda ushbu matndan qidirishi, qaydni tartiblashi yoki qisqa mazmun tayyorlashi mumkin. Buyruqda transkript tanilgan so‘zlarni ilovaga beradi; har qanday harakat alohida talqin va bajarish bosqichidir. Intervyu parchasida iqtibosni to‘g‘ri joydan tekshirish uchun klipning to‘liq audiodagi o‘rnini qayd eting.\n\nIshlab chiqaruvchi WAV, MP3, M4A/MP4’ni ham o‘z ichiga olgan AAC, FLAC hamda Opus yoki Vorbis saqlovchi Ogg’ni qabul qiladi. WebM’dagi brauzer yozuvlari bu model uchun Ogg/Opus, MP3 yoki WAV’ga aylantirilishi kerak; Pro hujjatlarida qo‘shimcha konteynerlarning bevosita qo‘llab-quvvatlanishi ko‘rsatilgan. Har so‘rovda bitta audiofayl bering. Asosiy modelning hujjatlashtirilgan so‘rov limiti 50 MiB gacha, MP3 va Opus fayllari esa 25 MiB’dan kichik bo‘lishi kerak. Fayl hajmi va yozuv davomiyligi turli omillardir: siqilgan fayl yuklash limitiga sig‘ishi, lekin qayta ishlash uchun haddan tashqari uzoq vaqt talab qilishi mumkin.\n\nTranscribe 1 qisqa yozuvlarga mo‘ljallangan. Ishlab chiqaruvchi bir necha daqiqadan uzun audio uchun Pro’ni tavsiya qiladi; asosiy modelga yuborilgan uzun so‘rov qayta ishlash vaqti limitidan oshsa muvaffaqiyatsiz tugashi mumkin. Uzunroq manbani qisqa kliplarga bo‘lib transkripsiyaga tayyorlaganda har klipning boshlang‘ich siljishini saqlang va natijalarni birlashtirishdan oldin qaytgan transkript butun klipni qamraganini tasdiqlang. Navigatsiyani to‘liq yozuvga bog‘lash uchun mahalliy segment vaqtlariga asl siljishni qo‘shing. Asosiy model tavsiyalarini Pro’ning alohida 60 daqiqalik limiti deb talqin qilmang.\n\nIshlab chiqaruvchi javobi text, duration va segments’ni o‘z ichiga oladi. Davomiylik soniyalarda ifodalanadi; o‘qishga qulay to‘liq transkript klipning asosiy matni sifatida saqlanishi kerak. Vaqt belgilari ixtiyoriy: ishlab chiqaruvchi API’sida ignore_timestamps standart holda true, false esa text (matn), start (boshlanish) va end (tugash) maydonlari berilgan so‘z darajasidagi segmentlarni so‘raydi; vaqtlar soniyalarda ifodalanadi. Vaqtga moslashtirish qo‘shimcha qayta ishlash vaqti oladi. Bo‘sh segments massivi vaqt belgilari o‘tkazib yuborilganini, nutq yo‘qligini yoki moslashtirish vaqtincha mavjud emasligini bildirishi mumkin; uni avtomatik ravishda to‘liq transkript ham bo‘sh deb talqin qilmang.\n\nSegmentlar odatda so‘zlardan, xitoy va yapon tillarida esa bitta yoki bir nechta belgidan iborat. Ularning matnida tinish belgilari bo‘lmaydi va qiymatlar to‘liq transkriptdan boshqacha me’yorlashtirilishi mumkin; bu o‘qiladigan javobning harfma-harf nusxasi emas. Segmentning boshlanish va tugash vaqti bir xil bo‘lishi mumkin. Yozuvdagi o‘rinni topish yoki vaqtli ko‘rsatishni tayyorlash uchun segmentlardan, matn ifodasi va tinish belgilari muhim bo‘lsa to‘liq matndan foydalaning. Yakuniy materialda bu ikki ifodani alohida tuting.\n\nIxtiyoriy til ishorasi berilgan yoki berilmaganidan qat’i nazar, til avtomatik aniqlanadi. Ishlab chiqaruvchi ishoralar uchun kichik harfli ISO 639-1 kodlarini hujjatlashtiradi va ma’lum bo‘lsa ilova mantiqi uchun til kodi, ko‘rsatish uchun til nomini qaytaradi. Javob tillar almashadigan yozuvdagi barcha tillarni emas, bitta tilni bildiradi. Transkripsiya so‘rovini tarjima amali deb hisoblamasdan, manbaning asl matni va mavjud til metama’lumotlarini natija bilan birga saqlang.\n\nSubtitr jarayonida so‘zlarni bittalab ko‘rsatish o‘rniga ketma-ket vaqtli segmentlarni o‘qiladigan subtitr bo‘laklariga guruhlang. Foydali natija — asl klipga bog‘langan SRT yoki WebVTT fayli; bo‘lak chegaralari pauzalarga mos, ekrandagi matn hajmi esa qulay bo‘lsin. Yetishmayotgan vaqt belgilarini tekshiring va har bo‘lak tugashi boshlanishidan keyin kelishini ta’minlang. Subtitr guruhlash va fayl formatlash qaytgan moslashtirish asosida bajariladigan ilova bosqichlaridir; ko‘rsatish usuli pleyer va auditoriyaga mos bo‘lishi kerak.\n\nTranscribe 1’ning hujjatlashtirilgan boshqaruvlari audio, til ishorasi va vaqt belgisi tanlovidan iborat. Pro’ning so‘zlovchi belgilari, tuzilmali so‘zlovchi navbatlari, hissiy hodisa boshqaruvlari va so‘zlovchilar soni ishoralari alohida imkoniyatlardir; ular ushbu asosiy modelning hujjatlashtirilgan javob shartnomasiga kirmaydi. Qayta ishlashdan oldin kerakli materialni tanlang: qayd uchun oddiy o‘qiladigan matn yoki ijro navigatsiyasi va subtitrlar uchun vaqtga moslashtirilgan matn. Klip identifikatori, transkript va mavjud vaqt ma’lumotlarini saqlash natijani ilovaning keyingi bosqichi uchun foydali qiladi.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "4852981dd040e161e20073829eeefdf01d030f60c41b575d3ec9abdee69d6c71",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "uz",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">Fish Audio: Transcribe 1</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Yopish\">×</button></div><div class=\"idline\"><span>Fish Audio /</span><code>fish-audio/transcribe-1</code><button type=\"button\" id=\"copy-id\">ID ni nusxalash</button></div><nav class=\"card-jump-nav\" aria-label=\"Model kartochkasi bo‘limlari\"><button type=\"button\" data-card-jump=\"overview\">Boshlash</button><button type=\"button\" data-card-jump=\"methods\">Kirish ma’lumotlari va usullar</button><button type=\"button\" data-card-jump=\"pricing\">Tariflar</button><button type=\"button\" data-card-jump=\"examples\">Namunalar</button><button type=\"button\" data-card-jump=\"results\">Natijalar</button><button type=\"button\" data-card-jump=\"aliases\">Taxalluslar</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"API usullari\"><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|fish-audio%2Ftranscribe-1\">Nutqni tanish</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\">Boshlash</h3><p class=\"mdesc-full\">Transcribe 1 qisqa audioyozuvlarni tilni avtomatik aniqlash va ixtiyoriy so‘z darajasidagi vaqt belgilaridan foydalanib matnga aylantiradi. Transkriptni ovozli qaydlar, qidiriladigan parchalar yoki subtitr tayyorlash uchun ishlating; vaqtli segmentlarni o‘qishga qulay to‘liq matndan alohida saqlang.</p><dl class=\"card-io\" data-card-io><div><dt>Qabul qilinadigan kirish ma’lumotlari</dt><dd>Audio</dd></div><div><dt>Natijalar</dt><dd>Matn</dd></div></dl><details class=\"card-about\"><summary>Model haqida</summary><p class=\"note-s\" data-model-method-boundary>Bu tavsif model imkoniyatlarini yoritadi. Ailoot da tanlangan usul uchun mavjud kirish, chiqish va parametrlar quyida keltirilgan.</p><div class=\"mabout\" id=\"m-about\"><p>Transcribe 1 — Fish Audio’ning qisqa yozuvlar uchun umumiy nutqni matnga aylantirish modeli. U audiofaylni qabul qilib, tanilgan so‘zlarni matn sifatida, yozuv davomiyligi, ixtiyoriy vaqtli segmentlar va ma’lum bo‘lsa til haqidagi axborot bilan qaytaradi. Bu model qisqa ovozli qayd, og‘zaki ko‘rsatma, yozuvdan parcha yoki o‘qiladigan matn ko‘rinishi kerak bo‘lgan audioklip uchun foydali.</p><p>Ovozli qayd uchun misol jarayon yozuvni uning to‘liq transkripti va asl klip identifikatori bilan birga saqlaydi. Ilovaning keyingi bosqichi og‘zaki manbani saqlagan holda ushbu matndan qidirishi, qaydni tartiblashi yoki qisqa mazmun tayyorlashi mumkin. Buyruqda transkript tanilgan so‘zlarni ilovaga beradi; har qanday harakat alohida talqin va bajarish bosqichidir. Intervyu parchasida iqtibosni to‘g‘ri joydan tekshirish uchun klipning to‘liq audiodagi o‘rnini qayd eting.</p><p>Ishlab chiqaruvchi WAV, MP3, M4A/MP4’ni ham o‘z ichiga olgan AAC, FLAC hamda Opus yoki Vorbis saqlovchi Ogg’ni qabul qiladi. WebM’dagi brauzer yozuvlari bu model uchun Ogg/Opus, MP3 yoki WAV’ga aylantirilishi kerak; Pro hujjatlarida qo‘shimcha konteynerlarning bevosita qo‘llab-quvvatlanishi ko‘rsatilgan. Har so‘rovda bitta audiofayl bering. Asosiy modelning hujjatlashtirilgan so‘rov limiti 50 MiB gacha, MP3 va Opus fayllari esa 25 MiB’dan kichik bo‘lishi kerak. Fayl hajmi va yozuv davomiyligi turli omillardir: siqilgan fayl yuklash limitiga sig‘ishi, lekin qayta ishlash uchun haddan tashqari uzoq vaqt talab qilishi mumkin.</p><p>Transcribe 1 qisqa yozuvlarga mo‘ljallangan. Ishlab chiqaruvchi bir necha daqiqadan uzun audio uchun Pro’ni tavsiya qiladi; asosiy modelga yuborilgan uzun so‘rov qayta ishlash vaqti limitidan oshsa muvaffaqiyatsiz tugashi mumkin. Uzunroq manbani qisqa kliplarga bo‘lib transkripsiyaga tayyorlaganda har klipning boshlang‘ich siljishini saqlang va natijalarni birlashtirishdan oldin qaytgan transkript butun klipni qamraganini tasdiqlang. Navigatsiyani to‘liq yozuvga bog‘lash uchun mahalliy segment vaqtlariga asl siljishni qo‘shing. Asosiy model tavsiyalarini Pro’ning alohida 60 daqiqalik limiti deb talqin qilmang.</p><p>Ishlab chiqaruvchi javobi text, duration va segments’ni o‘z ichiga oladi. Davomiylik soniyalarda ifodalanadi; o‘qishga qulay to‘liq transkript klipning asosiy matni sifatida saqlanishi kerak. Vaqt belgilari ixtiyoriy: ishlab chiqaruvchi API’sida ignore_timestamps standart holda true, false esa text (matn), start (boshlanish) va end (tugash) maydonlari berilgan so‘z darajasidagi segmentlarni so‘raydi; vaqtlar soniyalarda ifodalanadi. Vaqtga moslashtirish qo‘shimcha qayta ishlash vaqti oladi. Bo‘sh segments massivi vaqt belgilari o‘tkazib yuborilganini, nutq yo‘qligini yoki moslashtirish vaqtincha mavjud emasligini bildirishi mumkin; uni avtomatik ravishda to‘liq transkript ham bo‘sh deb talqin qilmang.</p><p>Segmentlar odatda so‘zlardan, xitoy va yapon tillarida esa bitta yoki bir nechta belgidan iborat. Ularning matnida tinish belgilari bo‘lmaydi va qiymatlar to‘liq transkriptdan boshqacha me’yorlashtirilishi mumkin; bu o‘qiladigan javobning harfma-harf nusxasi emas. Segmentning boshlanish va tugash vaqti bir xil bo‘lishi mumkin. Yozuvdagi o‘rinni topish yoki vaqtli ko‘rsatishni tayyorlash uchun segmentlardan, matn ifodasi va tinish belgilari muhim bo‘lsa to‘liq matndan foydalaning. Yakuniy materialda bu ikki ifodani alohida tuting.</p><p>Ixtiyoriy til ishorasi berilgan yoki berilmaganidan qat’i nazar, til avtomatik aniqlanadi. Ishlab chiqaruvchi ishoralar uchun kichik harfli ISO 639-1 kodlarini hujjatlashtiradi va ma’lum bo‘lsa ilova mantiqi uchun til kodi, ko‘rsatish uchun til nomini qaytaradi. Javob tillar almashadigan yozuvdagi barcha tillarni emas, bitta tilni bildiradi. Transkripsiya so‘rovini tarjima amali deb hisoblamasdan, manbaning asl matni va mavjud til metama’lumotlarini natija bilan birga saqlang.</p><p>Subtitr jarayonida so‘zlarni bittalab ko‘rsatish o‘rniga ketma-ket vaqtli segmentlarni o‘qiladigan subtitr bo‘laklariga guruhlang. Foydali natija — asl klipga bog‘langan SRT yoki WebVTT fayli; bo‘lak chegaralari pauzalarga mos, ekrandagi matn hajmi esa qulay bo‘lsin. Yetishmayotgan vaqt belgilarini tekshiring va har bo‘lak tugashi boshlanishidan keyin kelishini ta’minlang. Subtitr guruhlash va fayl formatlash qaytgan moslashtirish asosida bajariladigan ilova bosqichlaridir; ko‘rsatish usuli pleyer va auditoriyaga mos bo‘lishi kerak.</p><p>Transcribe 1’ning hujjatlashtirilgan boshqaruvlari audio, til ishorasi va vaqt belgisi tanlovidan iborat. Pro’ning so‘zlovchi belgilari, tuzilmali so‘zlovchi navbatlari, hissiy hodisa boshqaruvlari va so‘zlovchilar soni ishoralari alohida imkoniyatlardir; ular ushbu asosiy modelning hujjatlashtirilgan javob shartnomasiga kirmaydi. Qayta ishlashdan oldin kerakli materialni tanlang: qayd uchun oddiy o‘qiladigan matn yoki ijro navigatsiyasi va subtitrlar uchun vaqtga moslashtirilgan matn. Klip identifikatori, transkript va mavjud vaqt ma’lumotlarini saqlash natijani ilovaning keyingi bosqichi uchun foydali qiladi.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Ailoot da mavjud · kirish ma’lumotlari va usullar</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Transkripsiya</b> <code>POST /v1/audio/transcriptions</code></summary><dl class=\"method-capabilities\"><div><dt>Kirish</dt><dd><code>audio</code></dd></div><div><dt>Chiqish</dt><dd><code>text</code></dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Maydon</th><th>Tur</th><th>Talab</th><th>Qiymatlar va cheklovlar</th><th>Standart</th></tr></thead><tbody><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>string</code></td><td data-cell-label=\"Talab\"><span class=\"card-cell-label\">Talab</span>Majburiy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span><div>fish-audio/transcribe-1</div></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">input_audio</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>object</code></td><td data-cell-label=\"Talab\"><span class=\"card-cell-label\">Talab</span>Majburiy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>Usul parametrlari va hayot sikli</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parametr</th><th>Parametr talablari</th></tr></thead><tbody><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>content_type</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>application/json</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>required</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>model, input_audio</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>material_types</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>audio</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>material_conditions</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>Misol haqiqiy, bo‘sh bo‘lmagan PCM WAV faylingizni o‘qiydi, faylning barcha baytlarini base64 ko‘rinishida kodlaydi va input_audio.format qiymatini wav qilib yuboradi.</td></tr></tbody></table></div><p>Hayot sikli: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · mavjud, egalik qilinadigan media yozuvidan aniq task_id</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\">Tariflar</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Tarif ma’lumotlari so‘rov imkoniyatlarini qo‘shmaydi. Qo‘llab-quvvatlanadigan parametrlar tanlangan usulda ko‘rsatilgan.</p><dl data-price-conditions><dt>Tezkor rejim</dt><dd>Ko‘rsatilmagan <span class=\"note-s\">Tezkor rejim tanlanganda</span></dd><dt>Flex rejimi</dt><dd>Ko‘rsatilmagan <span class=\"note-s\">flex rejimi tanlanganda</span></dd><dt>Maksimal fikrlash darajasi</dt><dd>Ko‘rsatilmagan <span class=\"note-s\">Maksimal fikrlash darajasi uchun standart (default) tuzatish qo‘llanganda</span></dd></dl></div><div data-declared-tariff-pricing><h4>Ailoot tariflari</h4><h4>Sozlamalar bo‘yicha narxlar</h4><p class=\"note-s\">Har bir to‘lovni ko‘rsatilgan shartlarga moslang. Har bir muqobil sozlamalar to‘plami uchun bitta tarifdan foydalaning.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Sozlama</th><th>Tariflar jadvali</th><th>Hisob birligi</th><th>To‘lov</th></tr></thead><tbody><tr><th data-cell-label=\"Sozlama\" scope=\"row\"><span class=\"card-cell-label\">Sozlama</span>Tokenlar uchun bazaviy tariflar</th><td data-cell-label=\"Tariflar jadvali\"><span class=\"card-cell-label\">Tariflar jadvali</span>Asosiy tarif</td><td data-cell-label=\"Hisob birligi\"><span class=\"card-cell-label\">Hisob birligi</span>—</td><td data-cell-label=\"To‘lov\"><span class=\"card-cell-label\">To‘lov</span><div><span>Kirish · Kirish tokenlari</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Chiqish · Chiqish tokenlari</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Kirish · Keshdan o‘qish</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Kirish · Keshga yozish</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Kirish · Keshga yozish, 1 soat</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div></td></tr><tr><th data-cell-label=\"Sozlama\" scope=\"row\"><span class=\"card-cell-label\">Sozlama</span>Kirish audiosi soniyasi</th><td data-cell-label=\"Tariflar jadvali\"><span class=\"card-cell-label\">Tariflar jadvali</span>—</td><td data-cell-label=\"Hisob birligi\"><span class=\"card-cell-label\">Hisob birligi</span>kirish audiosining soniyasi uchun</td><td data-cell-label=\"To‘lov\"><span class=\"card-cell-label\">To‘lov</span><div><span>Kirish · Kirish audiosi soniyasi</span> <b>$0.0002</b> <span class=\"price-unit\">kirish audiosining soniyasi uchun</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot so‘rovdan oldin taxminiy summani band qiladi. Natijadan keyin o‘lchangan sarf asosidagi yakuniy to‘lovni yechadi. Oqimli javob bo‘yicha yakuniy hisob-kitob yakuniy sarf yozuviga asoslanadi. <a href=\"/docs/uz/billing/reserve/\">Summani band qilish va to‘lovni hisoblash tartibi →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">So‘rov namunalari</h3><h4>Ailoot Ultra · Transkripsiya</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Kod variantlari\"><button class=\"cg-tab\" id=\"model-code-1361-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1361-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · Haqiqiy WAV fayli va to‘liq asl natija</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Kodni nusxalash\"><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-1361-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1361-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;fish-audio/transcribe-1&#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\">Natijalarni olish va saqlash</h3><h4>Ailoot Ultra · Transkripsiya</h4><p class=\"note-s\">To‘liq dastlabki javob tanasi, holat va uzatilgan sarlavhalar. Bu ishlovchi universal JSON tuzilmasi, matn maydoni yoki vazifa o‘rovini qo‘shmaydi.</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>Barcha tayyor natijalarni saqlash</h5><p class=\"note-s\">Qaytarilgan har bir to‘liq javob, fayl va kontent qismini saqlang.</p><p class=\"note-s\">To‘liq javob va sarlavhalarni, amalda qaytarilgan barcha natijalarni, dastlab qaytarilgan identifikatorlarni hamda barcha usage maydonlarini saqlang. Yaratish so‘rovini qayta yubormasdan dastlabki operatsiyani tiklang.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Asl javobni tekshirish kerak bo‘lsa</h5><p class=\"note-s\">Haqiqiy X-Client-Request-ID va to‘liq javobni saqlang. Egalik qilinadigan dastlabki aktivlar va ularning aniq imzolangan mazmun URL larini o‘qing; natijasi noaniq yaratishni hech qachon qayta yubormang.</p></div><details class=\"card-about\" data-output-fields><summary>Javob maydonlari</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Maydon</th><th>Tur</th></tr></thead><tbody><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">text (when present)</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span></td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">usage (when present)</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span></td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Xatolar va keyingi qadamlar</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Javob</th><th>Shart</th><th>Keyingi qadam</th></tr></thead><tbody><tr><th data-cell-label=\"Javob\" scope=\"row\"><span class=\"card-cell-label\">Javob</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Shart\"><span class=\"card-cell-label\">Shart</span>JSON tanasi yoki ochiq ko‘rsatilgan kanonik model ID si yaroqsiz.</td><td data-cell-label=\"Keyingi qadam\"><span class=\"card-cell-label\">Keyingi qadam</span>Javobni saqlang va ko‘rsatilgan so‘rov maydonini tuzating.</td></tr><tr><th data-cell-label=\"Javob\" scope=\"row\"><span class=\"card-cell-label\">Javob</span>401 · <code>authentication_error</code></th><td data-cell-label=\"Shart\"><span class=\"card-cell-label\">Shart</span>Ailoot API kaliti yaroqsiz.</td><td data-cell-label=\"Keyingi qadam\"><span class=\"card-cell-label\">Keyingi qadam</span>Ruxsat berilgan Ailoot API kalitingizdan foydalaning.</td></tr><tr><th data-cell-label=\"Javob\" scope=\"row\"><span class=\"card-cell-label\">Javob</span>403 · <code>permission_error</code></th><td data-cell-label=\"Shart\"><span class=\"card-cell-label\">Shart</span>Kalit guruhi bu usulga ruxsat bermaydi.</td><td data-cell-label=\"Keyingi qadam\"><span class=\"card-cell-label\">Keyingi qadam</span>Qaytarilgan xato tafsilotlarini saqlang.</td></tr><tr><th data-cell-label=\"Javob\" scope=\"row\"><span class=\"card-cell-label\">Javob</span>404 · <code>not_found_error</code></th><td data-cell-label=\"Shart\"><span class=\"card-cell-label\">Shart</span>Tanlangan usul uchun ruxsat etilgan yo‘nalish yo‘q.</td><td data-cell-label=\"Keyingi qadam\"><span class=\"card-cell-label\">Keyingi qadam</span>Qaytarilgan xato tafsilotlarini saqlang.</td></tr><tr><th data-cell-label=\"Javob\" scope=\"row\"><span class=\"card-cell-label\">Javob</span>422 · <code>price_unavailable</code></th><td data-cell-label=\"Shart\"><span class=\"card-cell-label\">Shart</span>Qabul qilingan tarif zarur kirish miqdorini yoki chegarasini aniqlay olmaydi.</td><td data-cell-label=\"Keyingi qadam\"><span class=\"card-cell-label\">Keyingi qadam</span>Javobni saqlang; qabul qilingan tarif talab qiladigan kirish ko‘rinishidan foydalaning.</td></tr><tr><th data-cell-label=\"Javob\" scope=\"row\"><span class=\"card-cell-label\">Javob</span>503 · <code></code></th><td data-cell-label=\"Shart\"><span class=\"card-cell-label\">Shart</span>Zarur saqlov, yo‘nalish, usul narxi yoki mablag‘ni band qilish imkoniyati mavjud emas.</td><td data-cell-label=\"Keyingi qadam\"><span class=\"card-cell-label\">Keyingi qadam</span>To‘liq dastlabki javobni saqlang. Noaniq mablag‘ band qilish qayta yuborishga ruxsat bermaydi.</td></tr><tr><th data-cell-label=\"Javob\" scope=\"row\"><span class=\"card-cell-label\">Javob</span>502 · <code>server_error</code></th><td data-cell-label=\"Shart\"><span class=\"card-cell-label\">Shart</span>Dastlabki natija, foydalanish ma’lumoti yoki hisob-kitobni tekshirish talab qilinadi.</td><td data-cell-label=\"Keyingi qadam\"><span class=\"card-cell-label\">Keyingi qadam</span>Haqiqiy so‘rov ID si va dastlabki javobni saqlang. Mavjud, egalik qilinadigan yozuvni o‘qing; yaratishni qayta yubormang.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Taxalluslar</h3><h4>Model taxalluslari</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=fish-audio%2Ftranscribe-1&amp;route=Ultra&amp;caller=fish-audio%2Ftranscribe-1&amp;fmt=transcriptions\"><code>fish-audio/transcribe-1</code></a></span></p><h4>Usul yo‘llari taxalluslari</h4><p class=\"note-s\">Yuqorida ko‘rsatilgan usul yo‘llaridan foydalaning.</p><h4>Chaqirish uchun tegishli ID lar</h4><p class=\"note-s\"><a href=\"#m=fish-audio%2Ftranscribe-1&amp;route=Ultra&amp;caller=fish-audio%2Ftranscribe-1&amp;fmt=transcriptions\"><code>fish-audio/transcribe-1</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "fish-audio/transcribe-1",
        "fmt": "transcriptions",
        "http": "POST",
        "path": "/v1/audio/transcriptions",
        "request_model_id": "fish-audio/transcribe-1",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|transcriptions|/v1/audio/transcriptions|fish-audio%2Ftranscribe-1",
      "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": "JSON tanasi yoki ochiq ko‘rsatilgan kanonik model ID si yaroqsiz.",
                "http_status": 400,
                "recovery": "Javobni saqlang va ko‘rsatilgan so‘rov maydonini tuzating.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Ailoot API kaliti yaroqsiz.",
                "http_status": 401,
                "recovery": "Ruxsat berilgan Ailoot API kalitingizdan foydalaning.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "Kalit guruhi bu usulga ruxsat bermaydi.",
                "http_status": 403,
                "recovery": "Qaytarilgan xato tafsilotlarini saqlang.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "Tanlangan usul uchun ruxsat etilgan yo‘nalish yo‘q.",
                "http_status": 404,
                "recovery": "Qaytarilgan xato tafsilotlarini saqlang.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "Qabul qilingan tarif zarur kirish miqdorini yoki chegarasini aniqlay olmaydi.",
                "http_status": 422,
                "recovery": "Javobni saqlang; qabul qilingan tarif talab qiladigan kirish ko‘rinishidan foydalaning.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Zarur saqlov, yo‘nalish, usul narxi yoki mablag‘ni band qilish imkoniyati mavjud emas.",
                "http_status": 503,
                "recovery": "To‘liq dastlabki javobni saqlang. Noaniq mablag‘ band qilish qayta yuborishga ruxsat bermaydi.",
                "type": null
              },
              {
                "code": null,
                "condition": "Dastlabki natija, foydalanish ma’lumoti yoki hisob-kitobni tekshirish talab qilinadi.",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "Haqiqiy so‘rov ID si va dastlabki javobni saqlang. Mavjud, egalik qilinadigan yozuvni o‘qing; yaratishni qayta yubormang.",
                "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": "Haqiqiy X-Client-Request-ID va to‘liq javobni saqlang. Egalik qilinadigan dastlabki aktivlar va ularning aniq imzolangan mazmun URL larini o‘qing; natijasi noaniq yaratishni hech qachon qayta yubormang."
            },
            "outputs": {
              "all_results": "To‘liq javob va sarlavhalarni, amalda qaytarilgan barcha natijalarni, dastlab qaytarilgan identifikatorlarni hamda barcha usage maydonlarini saqlang. Yaratish so‘rovini qayta yubormasdan dastlabki operatsiyani tiklang.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "To‘liq dastlabki javob tanasi, holat va uzatilgan sarlavhalar. Bu ishlovchi universal JSON tuzilmasi, matn maydoni yoki vazifa o‘rovini qo‘shmaydi."
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "fish-audio/transcribe-1"
                ],
                "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": [
                    "fish-audio/transcribe-1"
                  ],
                  "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": "fish-audio/transcribe-1"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "Misol haqiqiy, bo‘sh bo‘lmagan PCM WAV faylingizni o‘qiydi, faylning barcha baytlarini base64 ko‘rinishida kodlaydi va input_audio.format qiymatini wav qilib yuboradi."
            ],
            "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": "mavjud, egalik qilinadigan media yozuvidan aniq task_id",
                "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.0002",
                "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.0002",
                "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': 'fish-audio/transcribe-1', '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": "Transkripsiya",
        "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.0002
          }
        },
        "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.0002",
                "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.0002",
                "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": "fish-audio/transcribe-1",
        "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.0002",
            "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.0002",
            "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": "fish-audio/transcribe-1",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "714a82387e0452166f6b5fe18d748e264b96845135470accbdfa131316ce296e",
    "input_html_sha256": "a649542605281d2210a4e08beeb764392d15ca9dc11b7a00282408d2f9d76eab",
    "private_audit_sha256": "e29356e2a75930fbbd5ee6ab97ba554f61d0b9e821ec7a2f7a0545b9842c8ba7",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/uz/fish-audio-transcribe-1/",
    "description": "Transcribe 1 qisqa audioyozuvlarni tilni avtomatik aniqlash va ixtiyoriy so‘z darajasidagi vaqt belgilaridan foydalanib matnga aylantiradi. Transkriptni ovozli qaydlar, qidiriladigan parchalar yoki subtitr tayyorlash uchun ishlating; vaqtli segmentlarni o‘qishga qulay to‘liq matndan alohida saqlang.",
    "locale": "uz",
    "md_url": "https://ailoot.ai/models/uz/fish-audio-transcribe-1/index.md",
    "title": "Fish Audio: Transcribe 1 — Ailoot",
    "url": "https://ailoot.ai/models/uz/fish-audio-transcribe-1/"
  },
  "rawModel": {
    "about": "Transcribe 1 — Fish Audio’ning qisqa yozuvlar uchun umumiy nutqni matnga aylantirish modeli. U audiofaylni qabul qilib, tanilgan so‘zlarni matn sifatida, yozuv davomiyligi, ixtiyoriy vaqtli segmentlar va ma’lum bo‘lsa til haqidagi axborot bilan qaytaradi. Bu model qisqa ovozli qayd, og‘zaki ko‘rsatma, yozuvdan parcha yoki o‘qiladigan matn ko‘rinishi kerak bo‘lgan audioklip uchun foydali.\n\nOvozli qayd uchun misol jarayon yozuvni uning to‘liq transkripti va asl klip identifikatori bilan birga saqlaydi. Ilovaning keyingi bosqichi og‘zaki manbani saqlagan holda ushbu matndan qidirishi, qaydni tartiblashi yoki qisqa mazmun tayyorlashi mumkin. Buyruqda transkript tanilgan so‘zlarni ilovaga beradi; har qanday harakat alohida talqin va bajarish bosqichidir. Intervyu parchasida iqtibosni to‘g‘ri joydan tekshirish uchun klipning to‘liq audiodagi o‘rnini qayd eting.\n\nIshlab chiqaruvchi WAV, MP3, M4A/MP4’ni ham o‘z ichiga olgan AAC, FLAC hamda Opus yoki Vorbis saqlovchi Ogg’ni qabul qiladi. WebM’dagi brauzer yozuvlari bu model uchun Ogg/Opus, MP3 yoki WAV’ga aylantirilishi kerak; Pro hujjatlarida qo‘shimcha konteynerlarning bevosita qo‘llab-quvvatlanishi ko‘rsatilgan. Har so‘rovda bitta audiofayl bering. Asosiy modelning hujjatlashtirilgan so‘rov limiti 50 MiB gacha, MP3 va Opus fayllari esa 25 MiB’dan kichik bo‘lishi kerak. Fayl hajmi va yozuv davomiyligi turli omillardir: siqilgan fayl yuklash limitiga sig‘ishi, lekin qayta ishlash uchun haddan tashqari uzoq vaqt talab qilishi mumkin.\n\nTranscribe 1 qisqa yozuvlarga mo‘ljallangan. Ishlab chiqaruvchi bir necha daqiqadan uzun audio uchun Pro’ni tavsiya qiladi; asosiy modelga yuborilgan uzun so‘rov qayta ishlash vaqti limitidan oshsa muvaffaqiyatsiz tugashi mumkin. Uzunroq manbani qisqa kliplarga bo‘lib transkripsiyaga tayyorlaganda har klipning boshlang‘ich siljishini saqlang va natijalarni birlashtirishdan oldin qaytgan transkript butun klipni qamraganini tasdiqlang. Navigatsiyani to‘liq yozuvga bog‘lash uchun mahalliy segment vaqtlariga asl siljishni qo‘shing. Asosiy model tavsiyalarini Pro’ning alohida 60 daqiqalik limiti deb talqin qilmang.\n\nIshlab chiqaruvchi javobi text, duration va segments’ni o‘z ichiga oladi. Davomiylik soniyalarda ifodalanadi; o‘qishga qulay to‘liq transkript klipning asosiy matni sifatida saqlanishi kerak. Vaqt belgilari ixtiyoriy: ishlab chiqaruvchi API’sida ignore_timestamps standart holda true, false esa text (matn), start (boshlanish) va end (tugash) maydonlari berilgan so‘z darajasidagi segmentlarni so‘raydi; vaqtlar soniyalarda ifodalanadi. Vaqtga moslashtirish qo‘shimcha qayta ishlash vaqti oladi. Bo‘sh segments massivi vaqt belgilari o‘tkazib yuborilganini, nutq yo‘qligini yoki moslashtirish vaqtincha mavjud emasligini bildirishi mumkin; uni avtomatik ravishda to‘liq transkript ham bo‘sh deb talqin qilmang.\n\nSegmentlar odatda so‘zlardan, xitoy va yapon tillarida esa bitta yoki bir nechta belgidan iborat. Ularning matnida tinish belgilari bo‘lmaydi va qiymatlar to‘liq transkriptdan boshqacha me’yorlashtirilishi mumkin; bu o‘qiladigan javobning harfma-harf nusxasi emas. Segmentning boshlanish va tugash vaqti bir xil bo‘lishi mumkin. Yozuvdagi o‘rinni topish yoki vaqtli ko‘rsatishni tayyorlash uchun segmentlardan, matn ifodasi va tinish belgilari muhim bo‘lsa to‘liq matndan foydalaning. Yakuniy materialda bu ikki ifodani alohida tuting.\n\nIxtiyoriy til ishorasi berilgan yoki berilmaganidan qat’i nazar, til avtomatik aniqlanadi. Ishlab chiqaruvchi ishoralar uchun kichik harfli ISO 639-1 kodlarini hujjatlashtiradi va ma’lum bo‘lsa ilova mantiqi uchun til kodi, ko‘rsatish uchun til nomini qaytaradi. Javob tillar almashadigan yozuvdagi barcha tillarni emas, bitta tilni bildiradi. Transkripsiya so‘rovini tarjima amali deb hisoblamasdan, manbaning asl matni va mavjud til metama’lumotlarini natija bilan birga saqlang.\n\nSubtitr jarayonida so‘zlarni bittalab ko‘rsatish o‘rniga ketma-ket vaqtli segmentlarni o‘qiladigan subtitr bo‘laklariga guruhlang. Foydali natija — asl klipga bog‘langan SRT yoki WebVTT fayli; bo‘lak chegaralari pauzalarga mos, ekrandagi matn hajmi esa qulay bo‘lsin. Yetishmayotgan vaqt belgilarini tekshiring va har bo‘lak tugashi boshlanishidan keyin kelishini ta’minlang. Subtitr guruhlash va fayl formatlash qaytgan moslashtirish asosida bajariladigan ilova bosqichlaridir; ko‘rsatish usuli pleyer va auditoriyaga mos bo‘lishi kerak.\n\nTranscribe 1’ning hujjatlashtirilgan boshqaruvlari audio, til ishorasi va vaqt belgisi tanlovidan iborat. Pro’ning so‘zlovchi belgilari, tuzilmali so‘zlovchi navbatlari, hissiy hodisa boshqaruvlari va so‘zlovchilar soni ishoralari alohida imkoniyatlardir; ular ushbu asosiy modelning hujjatlashtirilgan javob shartnomasiga kirmaydi. Qayta ishlashdan oldin kerakli materialni tanlang: qayd uchun oddiy o‘qiladigan matn yoki ijro navigatsiyasi va subtitrlar uchun vaqtga moslashtirilgan matn. Klip identifikatori, transkript va mavjud vaqt ma’lumotlarini saqlash natijani ilovaning keyingi bosqichi uchun foydali qiladi.",
    "alias_of": null,
    "aliases": [],
    "author": "Fish Audio",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "audio"
      ],
      "manufacturer_output": [
        "transcription"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.0002",
            "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.0002",
            "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": "Konfiguratsiya narxlari tafsilotlarda to‘liq ko‘rsatilgan."
      }
    ],
    "ctx": null,
    "formats": [
      "transcriptions"
    ],
    "id": "fish-audio/transcribe-1",
    "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": "JSON tanasi yoki ochiq ko‘rsatilgan kanonik model ID si yaroqsiz.",
                "http_status": 400,
                "recovery": "Javobni saqlang va ko‘rsatilgan so‘rov maydonini tuzating.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Ailoot API kaliti yaroqsiz.",
                "http_status": 401,
                "recovery": "Ruxsat berilgan Ailoot API kalitingizdan foydalaning.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "Kalit guruhi bu usulga ruxsat bermaydi.",
                "http_status": 403,
                "recovery": "Qaytarilgan xato tafsilotlarini saqlang.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "Tanlangan usul uchun ruxsat etilgan yo‘nalish yo‘q.",
                "http_status": 404,
                "recovery": "Qaytarilgan xato tafsilotlarini saqlang.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "Qabul qilingan tarif zarur kirish miqdorini yoki chegarasini aniqlay olmaydi.",
                "http_status": 422,
                "recovery": "Javobni saqlang; qabul qilingan tarif talab qiladigan kirish ko‘rinishidan foydalaning.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Zarur saqlov, yo‘nalish, usul narxi yoki mablag‘ni band qilish imkoniyati mavjud emas.",
                "http_status": 503,
                "recovery": "To‘liq dastlabki javobni saqlang. Noaniq mablag‘ band qilish qayta yuborishga ruxsat bermaydi.",
                "type": null
              },
              {
                "code": null,
                "condition": "Dastlabki natija, foydalanish ma’lumoti yoki hisob-kitobni tekshirish talab qilinadi.",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "Haqiqiy so‘rov ID si va dastlabki javobni saqlang. Mavjud, egalik qilinadigan yozuvni o‘qing; yaratishni qayta yubormang.",
                "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": "Haqiqiy X-Client-Request-ID va to‘liq javobni saqlang. Egalik qilinadigan dastlabki aktivlar va ularning aniq imzolangan mazmun URL larini o‘qing; natijasi noaniq yaratishni hech qachon qayta yubormang."
            },
            "outputs": {
              "all_results": "To‘liq javob va sarlavhalarni, amalda qaytarilgan barcha natijalarni, dastlab qaytarilgan identifikatorlarni hamda barcha usage maydonlarini saqlang. Yaratish so‘rovini qayta yubormasdan dastlabki operatsiyani tiklang.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "To‘liq dastlabki javob tanasi, holat va uzatilgan sarlavhalar. Bu ishlovchi universal JSON tuzilmasi, matn maydoni yoki vazifa o‘rovini qo‘shmaydi."
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "fish-audio/transcribe-1"
                ],
                "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": [
                    "fish-audio/transcribe-1"
                  ],
                  "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": "fish-audio/transcribe-1"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "Misol haqiqiy, bo‘sh bo‘lmagan PCM WAV faylingizni o‘qiydi, faylning barcha baytlarini base64 ko‘rinishida kodlaydi va input_audio.format qiymatini wav qilib yuboradi."
            ],
            "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": "mavjud, egalik qilinadigan media yozuvidan aniq task_id",
                "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.0002",
                "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.0002",
                "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': 'fish-audio/transcribe-1', '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": "Transkripsiya",
        "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.0002
          }
        },
        "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.0002",
                "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.0002",
                "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": "fish-audio/transcribe-1",
        "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.0002",
            "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.0002",
            "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": "fish-audio/transcribe-1",
        "request_model_id": "fish-audio/transcribe-1",
        "route_label": "Ultra"
      }
    ],
    "name": "Fish Audio: Transcribe 1",
    "price": {
      "in": null,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": true
    },
    "short": "Transcribe 1 qisqa audioyozuvlarni tilni avtomatik aniqlash va ixtiyoriy so‘z darajasidagi vaqt belgilaridan foydalanib matnga aylantiradi. Transkriptni ovozli qaydlar, qidiriladigan parchalar yoki subtitr tayyorlash uchun ishlating; vaqtli segmentlarni o‘qishga qulay to‘liq matndan alohida saqlang."
  },
  "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": "Transcribe 1 qisqa audioyozuvlarni tilni avtomatik aniqlash va ixtiyoriy so‘z darajasidagi vaqt belgilaridan foydalanib matnga aylantiradi. Transkriptni ovozli qaydlar, qidiriladigan parchalar yoki subtitr tayyorlash uchun ishlating; vaqtli segmentlarni o‘qishga qulay to‘liq matndan alohida saqlang.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "80386603c7a09d4d77ade3b2a16b4a2e34042fd1e877ef44383bd8eed3014ba8",
    "renderer_sha256": "aa8a0fca1bd770c042b64987512b6187fca2067aea3ddc877f68b163d80e7df6"
  },
  "sourceRevision": "08501aaa16495d1419f681233b8145f014b4969120015688c8a6810c029d3936"
}
