{
  "aboutHtml": "<p>Transcribe 1 Pro — qisqa kliplar, ko‘p so‘zlovchili suhbatlar va uzun yozuvlar uchun Fish Audio’ning nutqni matnga aylantirish modeli. U yozilgan audioni oladi va ixtiyoriy vaqtlar hamda tuzilmali so‘zlovchi navbatlari bilan transkript qaytaradi. Farqlovchi xususiyatlari — matnda so‘zlovchi almashishi belgilanishi va hissiyot yoki ovoz hodisalari haqidagi belgilar; ular oddiy so‘zlar ketma-ketligidan ko‘ra yozuvning ko‘proq suhbat tuzilmasini saqlaydi.</p><p>Intervyu, yig‘ilish yoki podkastda butun suhbatni bitta faylda saqlang, shunda qayta gapirgan so‘zlovchilar javob ichida izchil yorliqlarini saqlashi mumkin. Foydali tekshiruv artefakti — asl yozuvga bog‘langan, navbatlari alohida ko‘rsatilgan va iqtibosni tekshirish uchun vaqt belgisi mavjud transkript. Xulosa yoki amallar ro‘yxati keyingi ilova bosqichidir: og‘zaki manba taqqoslash uchun mavjud qolishi uchun uni transkriptdan ajrating.</p><p>Ishlab chiqaruvchi 60 daqiqagacha yozuvlarni qabul qiladi va uzun fayllarni MP3, Opus yoki AAC kabi siqilgan audio bilan qayta ishlashni tavsiflaydi. Qo‘llanadigan formatlar WAV, MP3, M4A yoki MP4 ichidagi AAC, FLAC, Opus yoki Vorbis’li Ogg, WebM/Matroska va MOV’ni o‘z ichiga oladi. Video faylida birinchi audio yo‘lagidan foydalanadi. AIFF, CAF, WMA, AMR, AC-3 va sarlavhasiz xom PCM qo‘llanmaydi. Har so‘rovda bitta audio fayl beriladi; natija butun yozuv transkripsiya qilingandan keyin keladi, uzun yozuv esa bir necha daqiqa olishi mumkin. Taxminan 0,08 soniyadan qisqa kliplar rad etiladi.</p><p>Ishlab chiqaruvchi javobida to‘liq matn, yozuvning soniyalardagi davomiyligi va segments massivi bor. Pro matn ichida &lt;|speaker:0|&gt; va &lt;|speaker:1|&gt; kabi yorliqlar bilan so‘zlovchi almashishini belgilaydi; yorliq keyingi belgigacha bo‘lgan matnga qo‘llanadi. Bular bitta javob ichidagi identifikatorlar, so‘rovlar orasida moslashtiriladigan tasdiqlangan nom yoki shaxslar emas. Transkriptda so‘zlovchi belgisi bo‘lmasa, qo‘llanma uni bitta so‘zlovchili natija deb ko‘radi. Birinchi belgidan oldingi matnni tashlash o‘rniga birinchi navbat bilan saqlang.</p><p>So‘z darajasidagi vaqt belgilari ixtiyoriy. Ishlab chiqaruvchi so‘rovida ignore_timestamps odatda true; false qilish text hamda soniyalarda berilgan start va end vaqtlariga ega segments’ni so‘raydi. Segment odatda bitta so‘z, xitoy va yapon tillarida esa bitta yoki bir nechta belgidir. Segment matni tinish belgilari, so‘zlovchi belgilari va hodisa belgilarini tashlaydi, aytilgan qiymatni to‘liq transkriptdan boshqacha normallashtirishi mumkin. So‘z segmentining boshlanish va tugash vaqti bir xil bo‘lishi mumkin. Bo‘sh segments massivi vaqtlar so‘ralmaganini, nutq topilmaganini yoki vaqtlar vaqtincha mavjud emasligini anglatishi mumkin. Ikkala satr belgi-belgi teng deb taxmin qilish o‘rniga, o‘qiladigan ifoda uchun to‘liq transkriptni, moslash uchun segments’ni ishlating.</p><p>diarize sozlamasi odatda auto. Vaqtlar so‘ralganda va diarize false bo‘lmaganda Pro speaker_turns’ni ham qaytaradi. Har navbat so‘zlovchi yorlig‘i, matn va boshlanish/tugash vaqtlarini saqlaydi; matn ichidagi so‘zlovchi belgisini olmasdan tinish belgilari hamda saqlangan boshqa belgilarni qoldiradi. So‘z vaqtlari mavjud bo‘lmasa, navbat vaqtlari taxminiy bo‘lib, butun yozuvni qamrashi mumkin; qo‘shni navbatlar albatta uzluksiz yoki ustma-ust tushmaydigan bo‘lishi shart emas. diarize’ni o‘chirish tuzilmali navbat ro‘yxatini olib tashlaydi, lekin to‘liq matnda so‘zlovchi belgilarini saqlaydi. Ma’lum so‘zlovchilar soni yoki minimal va maksimal son uzun yozuvni so‘zlovchilarga ajratishda imkon qadar yo‘l ko‘rsatishi mumkin. Aniq sonni son chegaralari bilan birlashtirib bo‘lmaydi; diarize o‘chirilganda son ishoralarini ishlatib bo‘lmaydi.</p><p>Hissiyot va ovoz hodisasi belgilari tanilgan nutq yonida, masalan [laughter] kabi kvadrat qavsdagi matn sifatida ko‘rinadi. Ular audiodan chiqarilgan taxminlar, transkripsiyadan oldin foydalanuvchi qo‘shishi kerak bo‘lgan so‘zlar emas. Pro’ning tag_audio_events sozlamasi odatda true; uni o‘chirish vaqtlarni o‘zgartirmasdan transkript va navbat matnidan shu belgilarni olib tashlaydi. Alohida hissiyot maydoni yoki qat’iy hissiyot qiymatlari ro‘yxati yo‘q. Gap qanday yangragani muhim bo‘lsa izohli transkriptni, keyingi artefaktga faqat aytilgan so‘zlar kerak bo‘lsa belgilarsiz versiyani saqlang.</p><p>Til avtomatik aniqlanadi. Ixtiyoriy kichik harfli ISO 639-1 ishorasi tarjimani majburlamaydi va Pro transkriptini o‘zgartirmaydi. Til aniqlanmasa, qaytgan til kodi audio bo‘yicha tasdiqlamasdan ishorani aks ettirishi mumkin. Ishlab chiqaruvchi aralash tilli yozuvdagi barcha tillar ro‘yxatini emas, bitta tilni bildiradi. Qidiriladigan arxiv tayyorlashda, ayniqsa suhbatning turli qismlari til almashtirganda, asl ifoda va til metama’lumotlarini birga saqlang.</p><p>Subtitrda har so‘z uchun bittadan subtitr yaratish o‘rniga, ketma-ket vaqti bor so‘zlarni o‘qiladigan SRT yoki WebVTT cue’lariga guruhlang. Cue’larni pauzalar atrofida ajrating va uzunligi hamda ko‘rsatish vaqtini pleyer va auditoriyaga mos tanlang. So‘zlovchi navbati chegaralari turli so‘zlovchilarni alohida cue’larda saqlashi mumkin. Bo‘sh vaqt natijasini va tugashi boshlanishidan keyin bo‘lishi kerak bo‘lgan cue’larni tekshiring. Subtitr formati, nomsiz so‘zlovchi yorliqlariga beriladigan nomlar va keyingi xulosalar transkripsiya natijasidan quriladigan ilova artefaktlaridir.</p><p>Amaliy yozuv jarayonida transkripsiyadan oldin oddiy o‘qiladigan transkript, izohli suhbat navbatlari yoki vaqti bor subtitrlar kerakligini belgilang. Audio identifikatorini natija bilan saqlang, tinish belgilari va boshqa belgilar muhim bo‘lsa qaytgan to‘liq matnni qoldiring, navigatsiya uchun tuzilmali vaqt maydonlarini ishlating. Pro’ning uzun yozuv va ko‘p so‘zlovchili imkoniyatlari umumiy qisqa yozuvli Transcribe 1 modelidan farq qiladi; chegaralari va boshqaruvlarini o‘zaro almashtiriladigan deb bilmaslik kerak.</p>",
  "aboutText": "Transcribe 1 Pro — qisqa kliplar, ko‘p so‘zlovchili suhbatlar va uzun yozuvlar uchun Fish Audio’ning nutqni matnga aylantirish modeli. U yozilgan audioni oladi va ixtiyoriy vaqtlar hamda tuzilmali so‘zlovchi navbatlari bilan transkript qaytaradi. Farqlovchi xususiyatlari — matnda so‘zlovchi almashishi belgilanishi va hissiyot yoki ovoz hodisalari haqidagi belgilar; ular oddiy so‘zlar ketma-ketligidan ko‘ra yozuvning ko‘proq suhbat tuzilmasini saqlaydi.\n\nIntervyu, yig‘ilish yoki podkastda butun suhbatni bitta faylda saqlang, shunda qayta gapirgan so‘zlovchilar javob ichida izchil yorliqlarini saqlashi mumkin. Foydali tekshiruv artefakti — asl yozuvga bog‘langan, navbatlari alohida ko‘rsatilgan va iqtibosni tekshirish uchun vaqt belgisi mavjud transkript. Xulosa yoki amallar ro‘yxati keyingi ilova bosqichidir: og‘zaki manba taqqoslash uchun mavjud qolishi uchun uni transkriptdan ajrating.\n\nIshlab chiqaruvchi 60 daqiqagacha yozuvlarni qabul qiladi va uzun fayllarni MP3, Opus yoki AAC kabi siqilgan audio bilan qayta ishlashni tavsiflaydi. Qo‘llanadigan formatlar WAV, MP3, M4A yoki MP4 ichidagi AAC, FLAC, Opus yoki Vorbis’li Ogg, WebM/Matroska va MOV’ni o‘z ichiga oladi. Video faylida birinchi audio yo‘lagidan foydalanadi. AIFF, CAF, WMA, AMR, AC-3 va sarlavhasiz xom PCM qo‘llanmaydi. Har so‘rovda bitta audio fayl beriladi; natija butun yozuv transkripsiya qilingandan keyin keladi, uzun yozuv esa bir necha daqiqa olishi mumkin. Taxminan 0,08 soniyadan qisqa kliplar rad etiladi.\n\nIshlab chiqaruvchi javobida to‘liq matn, yozuvning soniyalardagi davomiyligi va segments massivi bor. Pro matn ichida <|speaker:0|> va <|speaker:1|> kabi yorliqlar bilan so‘zlovchi almashishini belgilaydi; yorliq keyingi belgigacha bo‘lgan matnga qo‘llanadi. Bular bitta javob ichidagi identifikatorlar, so‘rovlar orasida moslashtiriladigan tasdiqlangan nom yoki shaxslar emas. Transkriptda so‘zlovchi belgisi bo‘lmasa, qo‘llanma uni bitta so‘zlovchili natija deb ko‘radi. Birinchi belgidan oldingi matnni tashlash o‘rniga birinchi navbat bilan saqlang.\n\nSo‘z darajasidagi vaqt belgilari ixtiyoriy. Ishlab chiqaruvchi so‘rovida ignore_timestamps odatda true; false qilish text hamda soniyalarda berilgan start va end vaqtlariga ega segments’ni so‘raydi. Segment odatda bitta so‘z, xitoy va yapon tillarida esa bitta yoki bir nechta belgidir. Segment matni tinish belgilari, so‘zlovchi belgilari va hodisa belgilarini tashlaydi, aytilgan qiymatni to‘liq transkriptdan boshqacha normallashtirishi mumkin. So‘z segmentining boshlanish va tugash vaqti bir xil bo‘lishi mumkin. Bo‘sh segments massivi vaqtlar so‘ralmaganini, nutq topilmaganini yoki vaqtlar vaqtincha mavjud emasligini anglatishi mumkin. Ikkala satr belgi-belgi teng deb taxmin qilish o‘rniga, o‘qiladigan ifoda uchun to‘liq transkriptni, moslash uchun segments’ni ishlating.\n\ndiarize sozlamasi odatda auto. Vaqtlar so‘ralganda va diarize false bo‘lmaganda Pro speaker_turns’ni ham qaytaradi. Har navbat so‘zlovchi yorlig‘i, matn va boshlanish/tugash vaqtlarini saqlaydi; matn ichidagi so‘zlovchi belgisini olmasdan tinish belgilari hamda saqlangan boshqa belgilarni qoldiradi. So‘z vaqtlari mavjud bo‘lmasa, navbat vaqtlari taxminiy bo‘lib, butun yozuvni qamrashi mumkin; qo‘shni navbatlar albatta uzluksiz yoki ustma-ust tushmaydigan bo‘lishi shart emas. diarize’ni o‘chirish tuzilmali navbat ro‘yxatini olib tashlaydi, lekin to‘liq matnda so‘zlovchi belgilarini saqlaydi. Ma’lum so‘zlovchilar soni yoki minimal va maksimal son uzun yozuvni so‘zlovchilarga ajratishda imkon qadar yo‘l ko‘rsatishi mumkin. Aniq sonni son chegaralari bilan birlashtirib bo‘lmaydi; diarize o‘chirilganda son ishoralarini ishlatib bo‘lmaydi.\n\nHissiyot va ovoz hodisasi belgilari tanilgan nutq yonida, masalan [laughter] kabi kvadrat qavsdagi matn sifatida ko‘rinadi. Ular audiodan chiqarilgan taxminlar, transkripsiyadan oldin foydalanuvchi qo‘shishi kerak bo‘lgan so‘zlar emas. Pro’ning tag_audio_events sozlamasi odatda true; uni o‘chirish vaqtlarni o‘zgartirmasdan transkript va navbat matnidan shu belgilarni olib tashlaydi. Alohida hissiyot maydoni yoki qat’iy hissiyot qiymatlari ro‘yxati yo‘q. Gap qanday yangragani muhim bo‘lsa izohli transkriptni, keyingi artefaktga faqat aytilgan so‘zlar kerak bo‘lsa belgilarsiz versiyani saqlang.\n\nTil avtomatik aniqlanadi. Ixtiyoriy kichik harfli ISO 639-1 ishorasi tarjimani majburlamaydi va Pro transkriptini o‘zgartirmaydi. Til aniqlanmasa, qaytgan til kodi audio bo‘yicha tasdiqlamasdan ishorani aks ettirishi mumkin. Ishlab chiqaruvchi aralash tilli yozuvdagi barcha tillar ro‘yxatini emas, bitta tilni bildiradi. Qidiriladigan arxiv tayyorlashda, ayniqsa suhbatning turli qismlari til almashtirganda, asl ifoda va til metama’lumotlarini birga saqlang.\n\nSubtitrda har so‘z uchun bittadan subtitr yaratish o‘rniga, ketma-ket vaqti bor so‘zlarni o‘qiladigan SRT yoki WebVTT cue’lariga guruhlang. Cue’larni pauzalar atrofida ajrating va uzunligi hamda ko‘rsatish vaqtini pleyer va auditoriyaga mos tanlang. So‘zlovchi navbati chegaralari turli so‘zlovchilarni alohida cue’larda saqlashi mumkin. Bo‘sh vaqt natijasini va tugashi boshlanishidan keyin bo‘lishi kerak bo‘lgan cue’larni tekshiring. Subtitr formati, nomsiz so‘zlovchi yorliqlariga beriladigan nomlar va keyingi xulosalar transkripsiya natijasidan quriladigan ilova artefaktlaridir.\n\nAmaliy yozuv jarayonida transkripsiyadan oldin oddiy o‘qiladigan transkript, izohli suhbat navbatlari yoki vaqti bor subtitrlar kerakligini belgilang. Audio identifikatorini natija bilan saqlang, tinish belgilari va boshqa belgilar muhim bo‘lsa qaytgan to‘liq matnni qoldiring, navigatsiya uchun tuzilmali vaqt maydonlarini ishlating. Pro’ning uzun yozuv va ko‘p so‘zlovchili imkoniyatlari umumiy qisqa yozuvli Transcribe 1 modelidan farq qiladi; chegaralari va boshqaruvlarini o‘zaro almashtiriladigan deb bilmaslik kerak.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "554978d9fb839b7d5ce0e7dd863cb08848b1d906c3598dcd52a0a6a96cc0873f",
    "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 Pro</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-pro</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-pro\">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 Pro 60 daqiqagacha yozuvlarni so‘zlovchi belgilari va ixtiyoriy so‘z darajasidagi vaqtlar bilan matnga aylantiradi. U taxmin qilingan hissiyot va ovoz hodisasi belgilarini saqlab, intervyu, yig‘ilish va podkastlarni tekshirish, qidirish yoki subtitrga tayyorlashni osonlashtiradi.</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 Pro — qisqa kliplar, ko‘p so‘zlovchili suhbatlar va uzun yozuvlar uchun Fish Audio’ning nutqni matnga aylantirish modeli. U yozilgan audioni oladi va ixtiyoriy vaqtlar hamda tuzilmali so‘zlovchi navbatlari bilan transkript qaytaradi. Farqlovchi xususiyatlari — matnda so‘zlovchi almashishi belgilanishi va hissiyot yoki ovoz hodisalari haqidagi belgilar; ular oddiy so‘zlar ketma-ketligidan ko‘ra yozuvning ko‘proq suhbat tuzilmasini saqlaydi.</p><p>Intervyu, yig‘ilish yoki podkastda butun suhbatni bitta faylda saqlang, shunda qayta gapirgan so‘zlovchilar javob ichida izchil yorliqlarini saqlashi mumkin. Foydali tekshiruv artefakti — asl yozuvga bog‘langan, navbatlari alohida ko‘rsatilgan va iqtibosni tekshirish uchun vaqt belgisi mavjud transkript. Xulosa yoki amallar ro‘yxati keyingi ilova bosqichidir: og‘zaki manba taqqoslash uchun mavjud qolishi uchun uni transkriptdan ajrating.</p><p>Ishlab chiqaruvchi 60 daqiqagacha yozuvlarni qabul qiladi va uzun fayllarni MP3, Opus yoki AAC kabi siqilgan audio bilan qayta ishlashni tavsiflaydi. Qo‘llanadigan formatlar WAV, MP3, M4A yoki MP4 ichidagi AAC, FLAC, Opus yoki Vorbis’li Ogg, WebM/Matroska va MOV’ni o‘z ichiga oladi. Video faylida birinchi audio yo‘lagidan foydalanadi. AIFF, CAF, WMA, AMR, AC-3 va sarlavhasiz xom PCM qo‘llanmaydi. Har so‘rovda bitta audio fayl beriladi; natija butun yozuv transkripsiya qilingandan keyin keladi, uzun yozuv esa bir necha daqiqa olishi mumkin. Taxminan 0,08 soniyadan qisqa kliplar rad etiladi.</p><p>Ishlab chiqaruvchi javobida to‘liq matn, yozuvning soniyalardagi davomiyligi va segments massivi bor. Pro matn ichida &lt;|speaker:0|&gt; va &lt;|speaker:1|&gt; kabi yorliqlar bilan so‘zlovchi almashishini belgilaydi; yorliq keyingi belgigacha bo‘lgan matnga qo‘llanadi. Bular bitta javob ichidagi identifikatorlar, so‘rovlar orasida moslashtiriladigan tasdiqlangan nom yoki shaxslar emas. Transkriptda so‘zlovchi belgisi bo‘lmasa, qo‘llanma uni bitta so‘zlovchili natija deb ko‘radi. Birinchi belgidan oldingi matnni tashlash o‘rniga birinchi navbat bilan saqlang.</p><p>So‘z darajasidagi vaqt belgilari ixtiyoriy. Ishlab chiqaruvchi so‘rovida ignore_timestamps odatda true; false qilish text hamda soniyalarda berilgan start va end vaqtlariga ega segments’ni so‘raydi. Segment odatda bitta so‘z, xitoy va yapon tillarida esa bitta yoki bir nechta belgidir. Segment matni tinish belgilari, so‘zlovchi belgilari va hodisa belgilarini tashlaydi, aytilgan qiymatni to‘liq transkriptdan boshqacha normallashtirishi mumkin. So‘z segmentining boshlanish va tugash vaqti bir xil bo‘lishi mumkin. Bo‘sh segments massivi vaqtlar so‘ralmaganini, nutq topilmaganini yoki vaqtlar vaqtincha mavjud emasligini anglatishi mumkin. Ikkala satr belgi-belgi teng deb taxmin qilish o‘rniga, o‘qiladigan ifoda uchun to‘liq transkriptni, moslash uchun segments’ni ishlating.</p><p>diarize sozlamasi odatda auto. Vaqtlar so‘ralganda va diarize false bo‘lmaganda Pro speaker_turns’ni ham qaytaradi. Har navbat so‘zlovchi yorlig‘i, matn va boshlanish/tugash vaqtlarini saqlaydi; matn ichidagi so‘zlovchi belgisini olmasdan tinish belgilari hamda saqlangan boshqa belgilarni qoldiradi. So‘z vaqtlari mavjud bo‘lmasa, navbat vaqtlari taxminiy bo‘lib, butun yozuvni qamrashi mumkin; qo‘shni navbatlar albatta uzluksiz yoki ustma-ust tushmaydigan bo‘lishi shart emas. diarize’ni o‘chirish tuzilmali navbat ro‘yxatini olib tashlaydi, lekin to‘liq matnda so‘zlovchi belgilarini saqlaydi. Ma’lum so‘zlovchilar soni yoki minimal va maksimal son uzun yozuvni so‘zlovchilarga ajratishda imkon qadar yo‘l ko‘rsatishi mumkin. Aniq sonni son chegaralari bilan birlashtirib bo‘lmaydi; diarize o‘chirilganda son ishoralarini ishlatib bo‘lmaydi.</p><p>Hissiyot va ovoz hodisasi belgilari tanilgan nutq yonida, masalan [laughter] kabi kvadrat qavsdagi matn sifatida ko‘rinadi. Ular audiodan chiqarilgan taxminlar, transkripsiyadan oldin foydalanuvchi qo‘shishi kerak bo‘lgan so‘zlar emas. Pro’ning tag_audio_events sozlamasi odatda true; uni o‘chirish vaqtlarni o‘zgartirmasdan transkript va navbat matnidan shu belgilarni olib tashlaydi. Alohida hissiyot maydoni yoki qat’iy hissiyot qiymatlari ro‘yxati yo‘q. Gap qanday yangragani muhim bo‘lsa izohli transkriptni, keyingi artefaktga faqat aytilgan so‘zlar kerak bo‘lsa belgilarsiz versiyani saqlang.</p><p>Til avtomatik aniqlanadi. Ixtiyoriy kichik harfli ISO 639-1 ishorasi tarjimani majburlamaydi va Pro transkriptini o‘zgartirmaydi. Til aniqlanmasa, qaytgan til kodi audio bo‘yicha tasdiqlamasdan ishorani aks ettirishi mumkin. Ishlab chiqaruvchi aralash tilli yozuvdagi barcha tillar ro‘yxatini emas, bitta tilni bildiradi. Qidiriladigan arxiv tayyorlashda, ayniqsa suhbatning turli qismlari til almashtirganda, asl ifoda va til metama’lumotlarini birga saqlang.</p><p>Subtitrda har so‘z uchun bittadan subtitr yaratish o‘rniga, ketma-ket vaqti bor so‘zlarni o‘qiladigan SRT yoki WebVTT cue’lariga guruhlang. Cue’larni pauzalar atrofida ajrating va uzunligi hamda ko‘rsatish vaqtini pleyer va auditoriyaga mos tanlang. So‘zlovchi navbati chegaralari turli so‘zlovchilarni alohida cue’larda saqlashi mumkin. Bo‘sh vaqt natijasini va tugashi boshlanishidan keyin bo‘lishi kerak bo‘lgan cue’larni tekshiring. Subtitr formati, nomsiz so‘zlovchi yorliqlariga beriladigan nomlar va keyingi xulosalar transkripsiya natijasidan quriladigan ilova artefaktlaridir.</p><p>Amaliy yozuv jarayonida transkripsiyadan oldin oddiy o‘qiladigan transkript, izohli suhbat navbatlari yoki vaqti bor subtitrlar kerakligini belgilang. Audio identifikatorini natija bilan saqlang, tinish belgilari va boshqa belgilar muhim bo‘lsa qaytgan to‘liq matnni qoldiring, navigatsiya uchun tuzilmali vaqt maydonlarini ishlating. Pro’ning uzun yozuv va ko‘p so‘zlovchili imkoniyatlari umumiy qisqa yozuvli Transcribe 1 modelidan farq qiladi; chegaralari va boshqaruvlarini o‘zaro almashtiriladigan deb bilmaslik kerak.</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 · Nutqni tanish</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><div><dt>Chiqish formati</dt><dd>json</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 data-parameter-availability=\"source_interface\"><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-pro</div></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><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><div>Aniq kalitlar: data, format</div></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">input_audio.data</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>base64_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>Dekodlangan baytlarning eng ko‘p soni: 26 214 400</div><div>Qat’iy Base64: Ha</div></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">input_audio.format</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>Shartlar: Fayl tekshiruvida aniqlangan haqiqiy formatga teng bo‘lishi kerak</div></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">response_format</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>Ixtiyoriy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span><div>json</div></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Kirish materiallari birikmalari</summary><p class=\"note-s\"><b>speech_to_text</b> · Majburiy: input_audio.data, input_audio.format</p></details><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>additional_properties</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>false</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>parameters</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>{&quot;name&quot;:&quot;model&quot;,&quot;type&quot;:&quot;string&quot;,&quot;required&quot;:true,&quot;enum&quot;:[&quot;fish-audio/transcribe-1-pro&quot;]}, {&quot;name&quot;:&quot;input_audio&quot;,&quot;type&quot;:&quot;object&quot;,&quot;required&quot;:true,&quot;exact_keys&quot;:[&quot;data&quot;,&quot;format&quot;],&quot;data&quot;:&quot;haqiqiy qo‘llab-quvvatlanadigan audio baytlarining qat’iy base64 ko‘rinishi&quot;,&quot;format&quot;:&quot;tekshiruvda aniqlangan aniq fayl formati; haqiqiy baytlarga mos bo‘lishi kerak&quot;}, {&quot;name&quot;:&quot;response_format&quot;,&quot;type&quot;:&quot;string&quot;,&quot;required&quot;:false,&quot;enum&quot;:[&quot;json&quot;]}</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>max_audio_bytes</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>26214400</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>multipart_for_this_profile</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>false</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></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> · Amalda qaytarilgan task_id yoki media kutubxonasidagi yozuv</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><p class=\"note-s\">To‘liq javobni va dastlab qaytarilgan ID larni saqlang.</p><p class=\"note-s\">Natijasi noma’lum yaratish so‘rovini hech qachon qayta yubormang.</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><div data-declared-reference-pricing><h4>Ma’lumot uchun tarif tafsilotlari</h4><p class=\"note-s\">Modelning ma’lumot jadvallari usul tanlash, narx hisobi yoki to‘lovlarni o‘zgartirmaydi. Amaldagi to‘lovlar tanlangan Ailoot usuli tariflari bo‘yicha hisoblanadi.</p><details class=\"card-price-reference\" data-declared-reference-group data-client-selectable=\"false\"><summary>Fish Audio: Transcribe 1 Pro</summary><h4>Sozlamalar bo‘yicha narxlar</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Sozlama</th><th>To‘lovni hisoblash shartlari</th><th>To‘lov</th></tr></thead><tbody><tr><th data-cell-label=\"Sozlama\" scope=\"row\"><span class=\"card-cell-label\">Sozlama</span>Fish Audio: Transcribe 1 Pro · Standart sozlama</th><td data-cell-label=\"To‘lovni hisoblash shartlari\"><span class=\"card-cell-label\">To‘lovni hisoblash shartlari</span>Standart konfiguratsiya</td><td data-cell-label=\"To‘lov\"><span class=\"card-cell-label\">To‘lov</span><div><span>Kirish · Kirish audiosi soniyalari</span> <b>0,0002 US$</b> <span class=\"price-unit\">kirish audiosining soniyasi uchun</span></div></td></tr></tbody></table></div></details></div></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">So‘rov namunalari</h3><h4>Ailoot Ultra · Nutqni tanish</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-1362-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1362-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · Haqiqiy audio baytlari va tekshirib aniqlangan format</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-1362-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1362-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 your actual audio file}&quot;\n: &quot;${AILOOT_AUDIO_FORMAT:?Set its actual probed file format}&quot;\nexport AILOOT_AUDIO_FILE AILOOT_AUDIO_FORMAT\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;fish-audio/transcribe-1-pro&quot;, &quot;response_format&quot;: &quot;json&quot;}&#39;)\nimport base64\nf=Path(os.environ[&#39;AILOOT_AUDIO_FILE&#39;])\nraw=f.read_bytes()\nif not raw or len(raw)&gt;26214400:raise SystemExit(&#39;Use actual audio bytes within 25 MiB&#39;)\nfmt=os.environ[&#39;AILOOT_AUDIO_FORMAT&#39;].strip()\nif not fmt:raise SystemExit(&#39;Use the actual probed format; the server checks it against the bytes&#39;)\np[&#39;input_audio&#39;]={&#39;data&#39;:base64.b64encode(raw).decode(),&#39;format&#39;:fmt}\nPath(&#39;request.json&#39;).write_text(json.dumps(p,ensure_ascii=False))\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 result.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nr=json.loads(Path(&#39;result.json&#39;).read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint(&#39;Keep the complete JSON and response headers; do not resubmit an unknown creation.&#39;)\nPY_RESULT\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 · Nutqni tanish</h4><p class=\"note-s\">json</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 JSON, javob sarlavhalari, matn va haqiqatda qaytarilgan har bir foydalanish maydonini saqlang. Javob yoki egalik qilinadigan kutubxonadagi haqiqiy vazifa/aktiv identifikatorlaridan foydalaning; operation_id — task_id emas.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Asl javobni tekshirish kerak bo‘lsa</h5><p class=\"note-s\">Ma’lumotlarni solishtirib tekshirish uchun dastlabki operation_id/X-Client-Request-ID ni saqlang va so‘rovni qayta yubormang; audio holatini davriy tekshirish uchun alohida yo‘nalish yo‘q.</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><th>Ma’nosi</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</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span>string</td><td data-cell-label=\"Ma’nosi\"><span class=\"card-cell-label\">Ma’nosi</span>Matnga o‘girilgan nutq.</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span>object</td><td data-cell-label=\"Ma’nosi\"><span class=\"card-cell-label\">Ma’nosi</span>Audiodan foydalanish.</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">usage.seconds</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span>number</td><td data-cell-label=\"Ma’nosi\"><span class=\"card-cell-label\">Ma’nosi</span>Audioning soniyalardagi davomiyligi.</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">duration</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span>number</td><td data-cell-label=\"Ma’nosi\"><span class=\"card-cell-label\">Ma’nosi</span>Audioning soniyalardagi davomiyligi.</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">task_id</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span>string</td><td data-cell-label=\"Ma’nosi\"><span class=\"card-cell-label\">Ma’nosi</span>Transkript vazifasi ID si; bo‘sh bo‘lmagan transkript saqlanib, e’lon qilinib, unga imzolangan mazmun URL i biriktirilganda asset_url bilan qaytariladi.</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">asset_url</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span>string</td><td data-cell-label=\"Ma’nosi\"><span class=\"card-cell-label\">Ma’nosi</span>Imzolangan transkript mazmuni URL i; bo‘sh bo‘lmagan transkript saqlanib, e’lon qilinib, unga imzolangan mazmun URL i biriktirilganda task_id bilan qaytariladi.</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>Majburiy maydonlar, material ifodasi yoki parametr qiymati noto‘g‘ri</td><td data-cell-label=\"Keyingi qadam\"><span class=\"card-cell-label\">Keyingi qadam</span>Yangi yaratish so‘rovidan oldin ko‘rsatilgan maydonlarni tuzating.</td></tr><tr><th data-cell-label=\"Javob\" scope=\"row\"><span class=\"card-cell-label\">Javob</span><code>server_error</code></th><td data-cell-label=\"Shart\"><span class=\"card-cell-label\">Shart</span>Qaytarilgan javob operatsiya yoki natijani tekshirish kerakligini bildiradi</td><td data-cell-label=\"Keyingi qadam\"><span class=\"card-cell-label\">Keyingi qadam</span>Dastlab qaytarilgan operatsiya/vazifa ID sini, so‘rov sarlavhalarini va javobni saqlang; aynan shu operatsiya uchun qo‘llab-quvvatlanadigan o‘qish so‘rovlarini davom ettiring. Yaratish so‘rovini 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-pro&amp;route=Ultra&amp;caller=fish-audio%2Ftranscribe-1-pro&amp;fmt=transcriptions\"><code>fish-audio/transcribe-1-pro</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-pro&amp;route=Ultra&amp;caller=fish-audio%2Ftranscribe-1-pro&amp;fmt=transcriptions\"><code>fish-audio/transcribe-1-pro</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "fish-audio/transcribe-1-pro",
        "fmt": "transcriptions",
        "http": "POST",
        "path": "/v1/audio/transcriptions",
        "request_model_id": "fish-audio/transcribe-1-pro",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|transcriptions|/v1/audio/transcriptions|fish-audio%2Ftranscribe-1-pro",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep the complete JSON, response headers, text and every actual returned usage field. Use actual task/asset identities from the response or owned library; operation_id is not task_id.",
            "errors": [
              {
                "code": null,
                "condition": "Majburiy maydonlar, material ifodasi yoki parametr qiymati noto‘g‘ri",
                "http_status": 400,
                "recovery": "Yangi yaratish so‘rovidan oldin ko‘rsatilgan maydonlarni tuzating.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Qaytarilgan javob operatsiya yoki natijani tekshirish kerakligini bildiradi",
                "http_status": null,
                "recovery": "Dastlab qaytarilgan operatsiya/vazifa ID sini, so‘rov sarlavhalarini va javobni saqlang; aynan shu operatsiya uchun qo‘llab-quvvatlanadigan o‘qish so‘rovlarini davom ettiring. Yaratish so‘rovini qayta yubormang.",
                "type": "server_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "all_results": "Follow everyactualreturnedoutputandownedasset; no result is discardedbecauseindex0orcontent_urlalreadyexists.",
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Ma’lumotlarni solishtirib tekshirish uchun dastlabki operation_id/X-Client-Request-ID ni saqlang va so‘rovni qayta yubormang; audio holatini davriy tekshirish uchun alohida yo‘nalish yo‘q."
            },
            "limits": {
              "decoded_audio_max_bytes": 26214400
            },
            "material_combinations": [
              {
                "content_type": "application/json",
                "mode": "speech_to_text",
                "required": [
                  "input_audio.data",
                  "input_audio.format"
                ]
              }
            ],
            "media_library": {
              "asset": {
                "fields": [
                  {
                    "description": null,
                    "name": "asset_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "task_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "output_key",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "family",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "model",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "method",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "status",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "content_type",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "sha256",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "size_bytes",
                    "type": "integer"
                  },
                  {
                    "description": null,
                    "name": "content_url",
                    "type": "string"
                  }
                ],
                "http": "GET",
                "id_source": "actual returned asset_id",
                "path": "/v1/media/assets/{asset_id}"
              },
              "content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "range_header_supported": true,
                "url_source": "Use exact returned signed content_url including its token; do not construct a token."
              },
              "expired_link": {
                "code": "link_expired",
                "http_status": 404,
                "recovery": "Read the asset again to obtain its refreshed signed content_url, then fetch that URL. Do not regenerate."
              },
              "list": {
                "all_pages": "Follow every returned next_cursor, then select records by their actual task_id/output_key.",
                "http": "GET",
                "output_fields": [
                  {
                    "description": null,
                    "name": "object",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "data",
                    "type": "asset[]"
                  },
                  {
                    "description": null,
                    "name": "next_cursor",
                    "type": "string|null"
                  }
                ],
                "parameters": [
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "family",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "cursor",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": 20,
                    "default_known": true,
                    "enum": null,
                    "enum_known": false,
                    "maximum": 100,
                    "minimum": 1,
                    "name": "limit",
                    "required": false,
                    "type": "integer"
                  }
                ],
                "path": "/v1/media/assets"
              },
              "revoke": {
                "http": "DELETE",
                "meaning": "Revokes/deletes the existing owned file; this is not generation cancellation.",
                "path": "/v1/media/assets/{asset_id}",
                "pending_status": "revoking",
                "success_statuses": [
                  202,
                  204
                ]
              },
              "task": {
                "http": "GET",
                "id_source": "actual returned task_id or media library record; operation_id is not task_id",
                "path": "/v1/media/tasks/{task_id}"
              }
            },
            "operation_modes": [
              "speech_to_text"
            ],
            "outputs": {
              "all_results": "To‘liq JSON, javob sarlavhalari, matn va haqiqatda qaytarilgan har bir foydalanish maydonini saqlang. Javob yoki egalik qilinadigan kutubxonadagi haqiqiy vazifa/aktiv identifikatorlaridan foydalaning; operation_id — task_id emas.",
              "family": "transcription",
              "fields": [
                {
                  "description": "Matnga o‘girilgan nutq.",
                  "name": "text",
                  "required": true,
                  "required_known": true,
                  "type": "string"
                },
                {
                  "description": "Audiodan foydalanish.",
                  "name": "usage",
                  "required": true,
                  "required_known": true,
                  "type": "object"
                },
                {
                  "description": "Audioning soniyalardagi davomiyligi.",
                  "name": "usage.seconds",
                  "required": true,
                  "required_known": true,
                  "type": "number"
                },
                {
                  "description": "Audioning soniyalardagi davomiyligi.",
                  "name": "duration",
                  "required": true,
                  "required_known": true,
                  "type": "number"
                },
                {
                  "description": "Transkript vazifasi ID si; bo‘sh bo‘lmagan transkript saqlanib, e’lon qilinib, unga imzolangan mazmun URL i biriktirilganda asset_url bilan qaytariladi.",
                  "name": "task_id",
                  "required": false,
                  "required_known": true,
                  "type": "string"
                },
                {
                  "description": "Imzolangan transkript mazmuni URL i; bo‘sh bo‘lmagan transkript saqlanib, e’lon qilinib, unga imzolangan mazmun URL i biriktirilganda task_id bilan qaytariladi.",
                  "name": "asset_url",
                  "required": false,
                  "required_known": true,
                  "type": "string"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "fish-audio/transcribe-1-pro"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "exact_keys": [
                  "data",
                  "format"
                ],
                "name": "input_audio",
                "required": true,
                "type": "object"
              },
              {
                "availability": "source_interface",
                "decoded_maximum_bytes": 26214400,
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "input_audio.data",
                "required": true,
                "strict_base64": true,
                "type": "base64_string"
              },
              {
                "availability": "source_interface",
                "conditions": "Fayl tekshiruvida aniqlangan haqiqiy formatga teng bo‘lishi kerak",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "input_audio.format",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "json"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "multipart input on this exact profile",
              "fields outside model/input_audio/response_format",
              "non-json response format"
            ]
          },
          "hints": [
            "To‘liq javobni va dastlab qaytarilgan ID larni saqlang.",
            "Natijasi noma’lum yaratish so‘rovini hech qachon qayta yubormang."
          ],
          "input": {
            "additional_properties": false,
            "content_type": "application/json",
            "material_types": [
              "audio"
            ],
            "max_audio_bytes": 26214400,
            "multipart_for_this_profile": false,
            "parameters": [
              {
                "enum": [
                  "fish-audio/transcribe-1-pro"
                ],
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "data": "haqiqiy qo‘llab-quvvatlanadigan audio baytlarining qat’iy base64 ko‘rinishi",
                "exact_keys": [
                  "data",
                  "format"
                ],
                "format": "tekshiruvda aniqlangan aniq fayl formati; haqiqiy baytlarga mos bo‘lishi kerak",
                "name": "input_audio",
                "required": true,
                "type": "object"
              },
              {
                "enum": [
                  "json"
                ],
                "name": "response_format",
                "required": false,
                "type": "string"
              }
            ],
            "required": [
              "model",
              "input_audio"
            ]
          },
          "lifecycle": {
            "all_results": "Follow everyactualreturnedoutputandownedasset; no result is discardedbecauseindex0orcontent_urlalreadyexists.",
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "Amalda qaytarilgan task_id yoki media kutubxonasidagi yozuv",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain original operation_id/X-Client-Request-ID for reconciliation without resubmission; no dedicated audio poll route."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "method_aliases": [],
          "operation_modes": [
            "speech_to_text"
          ],
          "output": {
            "family": "text",
            "type": "JSON transcript with text and usage; actual owned transcript flow"
          }
        },
        "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 your actual audio file}\"\n: \"${AILOOT_AUDIO_FORMAT:?Set its actual probed file format}\"\nexport AILOOT_AUDIO_FILE AILOOT_AUDIO_FORMAT\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"fish-audio/transcribe-1-pro\", \"response_format\": \"json\"}')\nimport base64\nf=Path(os.environ['AILOOT_AUDIO_FILE'])\nraw=f.read_bytes()\nif not raw or len(raw)>26214400:raise SystemExit('Use actual audio bytes within 25 MiB')\nfmt=os.environ['AILOOT_AUDIO_FORMAT'].strip()\nif not fmt:raise SystemExit('Use the actual probed format; the server checks it against the bytes')\np['input_audio']={'data':base64.b64encode(raw).decode(),'format':fmt}\nPath('request.json').write_text(json.dumps(p,ensure_ascii=False))\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 result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path('result.json').read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint('Keep the complete JSON and response headers; do not resubmit an unknown creation.')\nPY_RESULT\n",
            "label": "curl · actual audio bytes and probed format",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "Keep the complete response and the original returned IDs.",
          "Never resubmit an unknown creation."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "Распознавание речи",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "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-pro",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}",
          "GET /v1/media/assets/{asset_id}/content"
        ],
        "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-pro",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "96aa07db1fb03aea91bf3bcd1e497e20e4a6bf7bbe787d2c414c600eb7f9d376",
    "input_html_sha256": "f22d5caed88b0cd87ba3d4566453287ddc15dac655053e316945fa2a3f37cc47",
    "private_audit_sha256": "d8376c34aee9eef9eff889b95cdf4cf5bc5cc0f3f66e7e8e1d9d469b55c6202b",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/uz/fish-audio-transcribe-1-pro/",
    "description": "Transcribe 1 Pro 60 daqiqagacha yozuvlarni so‘zlovchi belgilari va ixtiyoriy so‘z darajasidagi vaqtlar bilan matnga aylantiradi. U taxmin qilingan hissiyot va ovoz hodisasi belgilarini saqlab, intervyu, yig‘ilish va podkastlarni tekshirish, qidirish yoki subtitrga tayyorlashni osonlashtiradi.",
    "locale": "uz",
    "md_url": "https://ailoot.ai/models/uz/fish-audio-transcribe-1-pro/index.md",
    "title": "Fish Audio: Transcribe 1 Pro — Ailoot",
    "url": "https://ailoot.ai/models/uz/fish-audio-transcribe-1-pro/"
  },
  "rawModel": {
    "about": "Transcribe 1 Pro — qisqa kliplar, ko‘p so‘zlovchili suhbatlar va uzun yozuvlar uchun Fish Audio’ning nutqni matnga aylantirish modeli. U yozilgan audioni oladi va ixtiyoriy vaqtlar hamda tuzilmali so‘zlovchi navbatlari bilan transkript qaytaradi. Farqlovchi xususiyatlari — matnda so‘zlovchi almashishi belgilanishi va hissiyot yoki ovoz hodisalari haqidagi belgilar; ular oddiy so‘zlar ketma-ketligidan ko‘ra yozuvning ko‘proq suhbat tuzilmasini saqlaydi.\n\nIntervyu, yig‘ilish yoki podkastda butun suhbatni bitta faylda saqlang, shunda qayta gapirgan so‘zlovchilar javob ichida izchil yorliqlarini saqlashi mumkin. Foydali tekshiruv artefakti — asl yozuvga bog‘langan, navbatlari alohida ko‘rsatilgan va iqtibosni tekshirish uchun vaqt belgisi mavjud transkript. Xulosa yoki amallar ro‘yxati keyingi ilova bosqichidir: og‘zaki manba taqqoslash uchun mavjud qolishi uchun uni transkriptdan ajrating.\n\nIshlab chiqaruvchi 60 daqiqagacha yozuvlarni qabul qiladi va uzun fayllarni MP3, Opus yoki AAC kabi siqilgan audio bilan qayta ishlashni tavsiflaydi. Qo‘llanadigan formatlar WAV, MP3, M4A yoki MP4 ichidagi AAC, FLAC, Opus yoki Vorbis’li Ogg, WebM/Matroska va MOV’ni o‘z ichiga oladi. Video faylida birinchi audio yo‘lagidan foydalanadi. AIFF, CAF, WMA, AMR, AC-3 va sarlavhasiz xom PCM qo‘llanmaydi. Har so‘rovda bitta audio fayl beriladi; natija butun yozuv transkripsiya qilingandan keyin keladi, uzun yozuv esa bir necha daqiqa olishi mumkin. Taxminan 0,08 soniyadan qisqa kliplar rad etiladi.\n\nIshlab chiqaruvchi javobida to‘liq matn, yozuvning soniyalardagi davomiyligi va segments massivi bor. Pro matn ichida <|speaker:0|> va <|speaker:1|> kabi yorliqlar bilan so‘zlovchi almashishini belgilaydi; yorliq keyingi belgigacha bo‘lgan matnga qo‘llanadi. Bular bitta javob ichidagi identifikatorlar, so‘rovlar orasida moslashtiriladigan tasdiqlangan nom yoki shaxslar emas. Transkriptda so‘zlovchi belgisi bo‘lmasa, qo‘llanma uni bitta so‘zlovchili natija deb ko‘radi. Birinchi belgidan oldingi matnni tashlash o‘rniga birinchi navbat bilan saqlang.\n\nSo‘z darajasidagi vaqt belgilari ixtiyoriy. Ishlab chiqaruvchi so‘rovida ignore_timestamps odatda true; false qilish text hamda soniyalarda berilgan start va end vaqtlariga ega segments’ni so‘raydi. Segment odatda bitta so‘z, xitoy va yapon tillarida esa bitta yoki bir nechta belgidir. Segment matni tinish belgilari, so‘zlovchi belgilari va hodisa belgilarini tashlaydi, aytilgan qiymatni to‘liq transkriptdan boshqacha normallashtirishi mumkin. So‘z segmentining boshlanish va tugash vaqti bir xil bo‘lishi mumkin. Bo‘sh segments massivi vaqtlar so‘ralmaganini, nutq topilmaganini yoki vaqtlar vaqtincha mavjud emasligini anglatishi mumkin. Ikkala satr belgi-belgi teng deb taxmin qilish o‘rniga, o‘qiladigan ifoda uchun to‘liq transkriptni, moslash uchun segments’ni ishlating.\n\ndiarize sozlamasi odatda auto. Vaqtlar so‘ralganda va diarize false bo‘lmaganda Pro speaker_turns’ni ham qaytaradi. Har navbat so‘zlovchi yorlig‘i, matn va boshlanish/tugash vaqtlarini saqlaydi; matn ichidagi so‘zlovchi belgisini olmasdan tinish belgilari hamda saqlangan boshqa belgilarni qoldiradi. So‘z vaqtlari mavjud bo‘lmasa, navbat vaqtlari taxminiy bo‘lib, butun yozuvni qamrashi mumkin; qo‘shni navbatlar albatta uzluksiz yoki ustma-ust tushmaydigan bo‘lishi shart emas. diarize’ni o‘chirish tuzilmali navbat ro‘yxatini olib tashlaydi, lekin to‘liq matnda so‘zlovchi belgilarini saqlaydi. Ma’lum so‘zlovchilar soni yoki minimal va maksimal son uzun yozuvni so‘zlovchilarga ajratishda imkon qadar yo‘l ko‘rsatishi mumkin. Aniq sonni son chegaralari bilan birlashtirib bo‘lmaydi; diarize o‘chirilganda son ishoralarini ishlatib bo‘lmaydi.\n\nHissiyot va ovoz hodisasi belgilari tanilgan nutq yonida, masalan [laughter] kabi kvadrat qavsdagi matn sifatida ko‘rinadi. Ular audiodan chiqarilgan taxminlar, transkripsiyadan oldin foydalanuvchi qo‘shishi kerak bo‘lgan so‘zlar emas. Pro’ning tag_audio_events sozlamasi odatda true; uni o‘chirish vaqtlarni o‘zgartirmasdan transkript va navbat matnidan shu belgilarni olib tashlaydi. Alohida hissiyot maydoni yoki qat’iy hissiyot qiymatlari ro‘yxati yo‘q. Gap qanday yangragani muhim bo‘lsa izohli transkriptni, keyingi artefaktga faqat aytilgan so‘zlar kerak bo‘lsa belgilarsiz versiyani saqlang.\n\nTil avtomatik aniqlanadi. Ixtiyoriy kichik harfli ISO 639-1 ishorasi tarjimani majburlamaydi va Pro transkriptini o‘zgartirmaydi. Til aniqlanmasa, qaytgan til kodi audio bo‘yicha tasdiqlamasdan ishorani aks ettirishi mumkin. Ishlab chiqaruvchi aralash tilli yozuvdagi barcha tillar ro‘yxatini emas, bitta tilni bildiradi. Qidiriladigan arxiv tayyorlashda, ayniqsa suhbatning turli qismlari til almashtirganda, asl ifoda va til metama’lumotlarini birga saqlang.\n\nSubtitrda har so‘z uchun bittadan subtitr yaratish o‘rniga, ketma-ket vaqti bor so‘zlarni o‘qiladigan SRT yoki WebVTT cue’lariga guruhlang. Cue’larni pauzalar atrofida ajrating va uzunligi hamda ko‘rsatish vaqtini pleyer va auditoriyaga mos tanlang. So‘zlovchi navbati chegaralari turli so‘zlovchilarni alohida cue’larda saqlashi mumkin. Bo‘sh vaqt natijasini va tugashi boshlanishidan keyin bo‘lishi kerak bo‘lgan cue’larni tekshiring. Subtitr formati, nomsiz so‘zlovchi yorliqlariga beriladigan nomlar va keyingi xulosalar transkripsiya natijasidan quriladigan ilova artefaktlaridir.\n\nAmaliy yozuv jarayonida transkripsiyadan oldin oddiy o‘qiladigan transkript, izohli suhbat navbatlari yoki vaqti bor subtitrlar kerakligini belgilang. Audio identifikatorini natija bilan saqlang, tinish belgilari va boshqa belgilar muhim bo‘lsa qaytgan to‘liq matnni qoldiring, navigatsiya uchun tuzilmali vaqt maydonlarini ishlating. Pro’ning uzun yozuv va ko‘p so‘zlovchili imkoniyatlari umumiy qisqa yozuvli Transcribe 1 modelidan farq qiladi; chegaralari va boshqaruvlarini o‘zaro almashtiriladigan deb bilmaslik kerak.",
    "alias_of": null,
    "aliases": [],
    "author": "Fish Audio",
    "available": null,
    "canonical_model": "fish-audio/transcribe-1-pro",
    "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,
    "declared_tariff_references": [
      {
        "client_selectable": false,
        "key": "aeebfac63d7ddd8619fb",
        "label": "Fish Audio: Transcribe 1 Pro",
        "profiles": [
          {
            "basis": "",
            "dimensions": {
              "conditions": "Standart konfiguratsiya"
            },
            "label": "Fish Audio: Transcribe 1 Pro · Standart sozlama",
            "units": [
              {
                "amount": "0.0002",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "key": "0949942d98ce2e4c35b418d6",
                "label": "Input audio seconds",
                "public_unit_label": "per input audio second",
                "quantity": "1",
                "rate_role": "declared_tariff_rate",
                "side": "in",
                "unit": "input_audio_second"
              }
            ]
          }
        ]
      }
    ],
    "entity_type": "model",
    "formats": [
      "transcriptions"
    ],
    "id": "fish-audio/transcribe-1-pro",
    "input": [
      "audio"
    ],
    "kind": "transcription",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep the complete JSON, response headers, text and every actual returned usage field. Use actual task/asset identities from the response or owned library; operation_id is not task_id.",
            "errors": [
              {
                "code": null,
                "condition": "Majburiy maydonlar, material ifodasi yoki parametr qiymati noto‘g‘ri",
                "http_status": 400,
                "recovery": "Yangi yaratish so‘rovidan oldin ko‘rsatilgan maydonlarni tuzating.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Qaytarilgan javob operatsiya yoki natijani tekshirish kerakligini bildiradi",
                "http_status": null,
                "recovery": "Dastlab qaytarilgan operatsiya/vazifa ID sini, so‘rov sarlavhalarini va javobni saqlang; aynan shu operatsiya uchun qo‘llab-quvvatlanadigan o‘qish so‘rovlarini davom ettiring. Yaratish so‘rovini qayta yubormang.",
                "type": "server_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "all_results": "Follow everyactualreturnedoutputandownedasset; no result is discardedbecauseindex0orcontent_urlalreadyexists.",
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Ma’lumotlarni solishtirib tekshirish uchun dastlabki operation_id/X-Client-Request-ID ni saqlang va so‘rovni qayta yubormang; audio holatini davriy tekshirish uchun alohida yo‘nalish yo‘q."
            },
            "limits": {
              "decoded_audio_max_bytes": 26214400
            },
            "material_combinations": [
              {
                "content_type": "application/json",
                "mode": "speech_to_text",
                "required": [
                  "input_audio.data",
                  "input_audio.format"
                ]
              }
            ],
            "media_library": {
              "asset": {
                "fields": [
                  {
                    "description": null,
                    "name": "asset_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "task_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "output_key",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "family",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "model",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "method",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "status",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "content_type",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "sha256",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "size_bytes",
                    "type": "integer"
                  },
                  {
                    "description": null,
                    "name": "content_url",
                    "type": "string"
                  }
                ],
                "http": "GET",
                "id_source": "actual returned asset_id",
                "path": "/v1/media/assets/{asset_id}"
              },
              "content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "range_header_supported": true,
                "url_source": "Use exact returned signed content_url including its token; do not construct a token."
              },
              "expired_link": {
                "code": "link_expired",
                "http_status": 404,
                "recovery": "Read the asset again to obtain its refreshed signed content_url, then fetch that URL. Do not regenerate."
              },
              "list": {
                "all_pages": "Follow every returned next_cursor, then select records by their actual task_id/output_key.",
                "http": "GET",
                "output_fields": [
                  {
                    "description": null,
                    "name": "object",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "data",
                    "type": "asset[]"
                  },
                  {
                    "description": null,
                    "name": "next_cursor",
                    "type": "string|null"
                  }
                ],
                "parameters": [
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "family",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "cursor",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": 20,
                    "default_known": true,
                    "enum": null,
                    "enum_known": false,
                    "maximum": 100,
                    "minimum": 1,
                    "name": "limit",
                    "required": false,
                    "type": "integer"
                  }
                ],
                "path": "/v1/media/assets"
              },
              "revoke": {
                "http": "DELETE",
                "meaning": "Revokes/deletes the existing owned file; this is not generation cancellation.",
                "path": "/v1/media/assets/{asset_id}",
                "pending_status": "revoking",
                "success_statuses": [
                  202,
                  204
                ]
              },
              "task": {
                "http": "GET",
                "id_source": "actual returned task_id or media library record; operation_id is not task_id",
                "path": "/v1/media/tasks/{task_id}"
              }
            },
            "operation_modes": [
              "speech_to_text"
            ],
            "outputs": {
              "all_results": "To‘liq JSON, javob sarlavhalari, matn va haqiqatda qaytarilgan har bir foydalanish maydonini saqlang. Javob yoki egalik qilinadigan kutubxonadagi haqiqiy vazifa/aktiv identifikatorlaridan foydalaning; operation_id — task_id emas.",
              "family": "transcription",
              "fields": [
                {
                  "description": "Matnga o‘girilgan nutq.",
                  "name": "text",
                  "required": true,
                  "required_known": true,
                  "type": "string"
                },
                {
                  "description": "Audiodan foydalanish.",
                  "name": "usage",
                  "required": true,
                  "required_known": true,
                  "type": "object"
                },
                {
                  "description": "Audioning soniyalardagi davomiyligi.",
                  "name": "usage.seconds",
                  "required": true,
                  "required_known": true,
                  "type": "number"
                },
                {
                  "description": "Audioning soniyalardagi davomiyligi.",
                  "name": "duration",
                  "required": true,
                  "required_known": true,
                  "type": "number"
                },
                {
                  "description": "Transkript vazifasi ID si; bo‘sh bo‘lmagan transkript saqlanib, e’lon qilinib, unga imzolangan mazmun URL i biriktirilganda asset_url bilan qaytariladi.",
                  "name": "task_id",
                  "required": false,
                  "required_known": true,
                  "type": "string"
                },
                {
                  "description": "Imzolangan transkript mazmuni URL i; bo‘sh bo‘lmagan transkript saqlanib, e’lon qilinib, unga imzolangan mazmun URL i biriktirilganda task_id bilan qaytariladi.",
                  "name": "asset_url",
                  "required": false,
                  "required_known": true,
                  "type": "string"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "fish-audio/transcribe-1-pro"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "exact_keys": [
                  "data",
                  "format"
                ],
                "name": "input_audio",
                "required": true,
                "type": "object"
              },
              {
                "availability": "source_interface",
                "decoded_maximum_bytes": 26214400,
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "input_audio.data",
                "required": true,
                "strict_base64": true,
                "type": "base64_string"
              },
              {
                "availability": "source_interface",
                "conditions": "Fayl tekshiruvida aniqlangan haqiqiy formatga teng bo‘lishi kerak",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "input_audio.format",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "json"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "multipart input on this exact profile",
              "fields outside model/input_audio/response_format",
              "non-json response format"
            ]
          },
          "hints": [
            "To‘liq javobni va dastlab qaytarilgan ID larni saqlang.",
            "Natijasi noma’lum yaratish so‘rovini hech qachon qayta yubormang."
          ],
          "input": {
            "additional_properties": false,
            "content_type": "application/json",
            "material_types": [
              "audio"
            ],
            "max_audio_bytes": 26214400,
            "multipart_for_this_profile": false,
            "parameters": [
              {
                "enum": [
                  "fish-audio/transcribe-1-pro"
                ],
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "data": "haqiqiy qo‘llab-quvvatlanadigan audio baytlarining qat’iy base64 ko‘rinishi",
                "exact_keys": [
                  "data",
                  "format"
                ],
                "format": "tekshiruvda aniqlangan aniq fayl formati; haqiqiy baytlarga mos bo‘lishi kerak",
                "name": "input_audio",
                "required": true,
                "type": "object"
              },
              {
                "enum": [
                  "json"
                ],
                "name": "response_format",
                "required": false,
                "type": "string"
              }
            ],
            "required": [
              "model",
              "input_audio"
            ]
          },
          "lifecycle": {
            "all_results": "Follow everyactualreturnedoutputandownedasset; no result is discardedbecauseindex0orcontent_urlalreadyexists.",
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "Amalda qaytarilgan task_id yoki media kutubxonasidagi yozuv",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain original operation_id/X-Client-Request-ID for reconciliation without resubmission; no dedicated audio poll route."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "method_aliases": [],
          "operation_modes": [
            "speech_to_text"
          ],
          "output": {
            "family": "text",
            "type": "JSON transcript with text and usage; actual owned transcript flow"
          }
        },
        "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 your actual audio file}\"\n: \"${AILOOT_AUDIO_FORMAT:?Set its actual probed file format}\"\nexport AILOOT_AUDIO_FILE AILOOT_AUDIO_FORMAT\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"fish-audio/transcribe-1-pro\", \"response_format\": \"json\"}')\nimport base64\nf=Path(os.environ['AILOOT_AUDIO_FILE'])\nraw=f.read_bytes()\nif not raw or len(raw)>26214400:raise SystemExit('Use actual audio bytes within 25 MiB')\nfmt=os.environ['AILOOT_AUDIO_FORMAT'].strip()\nif not fmt:raise SystemExit('Use the actual probed format; the server checks it against the bytes')\np['input_audio']={'data':base64.b64encode(raw).decode(),'format':fmt}\nPath('request.json').write_text(json.dumps(p,ensure_ascii=False))\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 result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path('result.json').read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint('Keep the complete JSON and response headers; do not resubmit an unknown creation.')\nPY_RESULT\n",
            "label": "curl · actual audio bytes and probed format",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "Keep the complete response and the original returned IDs.",
          "Never resubmit an unknown creation."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "Распознавание речи",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "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-pro",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}",
          "GET /v1/media/assets/{asset_id}/content"
        ],
        "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-pro",
        "request_model_id": "fish-audio/transcribe-1-pro",
        "route_label": "Ultra"
      }
    ],
    "name": "Fish Audio: Transcribe 1 Pro",
    "price": {
      "in": null,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": true
    },
    "pricing_profiles": [
      {
        "dimensions": {
          "regime": "base"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.0002",
            "amount_unit": "usd_per_declared_unit",
            "conditions": {},
            "key": "prompt",
            "label": "prompt",
            "quantity": "1",
            "rate_role": "typed_active_maker_rate",
            "side": "in",
            "unit": "input_audio_second"
          }
        ]
      }
    ],
    "public_id": "fish-audio/transcribe-1-pro",
    "short": "Transcribe 1 Pro 60 daqiqagacha yozuvlarni so‘zlovchi belgilari va ixtiyoriy so‘z darajasidagi vaqtlar bilan matnga aylantiradi. U taxmin qilingan hissiyot va ovoz hodisasi belgilarini saqlab, intervyu, yig‘ilish va podkastlarni tekshirish, qidirish yoki subtitrga tayyorlashni osonlashtiradi."
  },
  "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 Pro 60 daqiqagacha yozuvlarni so‘zlovchi belgilari va ixtiyoriy so‘z darajasidagi vaqtlar bilan matnga aylantiradi. U taxmin qilingan hissiyot va ovoz hodisasi belgilarini saqlab, intervyu, yig‘ilish va podkastlarni tekshirish, qidirish yoki subtitrga tayyorlashni osonlashtiradi.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "cde15610b08be78d6949622fafe40dfe6f144acffb2d04b03d762a91e5091afb",
    "renderer_sha256": "aa8a0fca1bd770c042b64987512b6187fca2067aea3ddc877f68b163d80e7df6"
  },
  "sourceRevision": "250d09ba77fa5d7622cb747365fc31f6d2be8d7060c970b7b4eb97f8d12103e3"
}
