{
  "aboutHtml": "<p>S2.1 Pro Free — Fish Audio’ning dasturchilarga yo‘naltirilgan S2.1 matnni nutqqa aylantirish nashri. U S2.1 Pro bilan asosiy model va markaziy sintez imkoniyatlarini bo‘lishadi: ifodali ko‘p tilli nutq, tabiiy tildagi ijro ko‘rsatmalari va modelning o‘zida qo‘llab-quvvatlanadigan ko‘p so‘zlovchili muloqot. Uning vazifasi sinov, prototiplash, ishlab chiqish va kichikroq ilova jarayonlaridir.</p><p>Ovozli yordamchi prototipida asta-sekin keladigan matnni sinashdan oldin tayyor namuna javobdan boshlang va uning jarangini baholang. O‘quv mahsuloti uchun tinglovchiga kerakli aniq atamalar va sonlarning o‘qilishi bilan qisqa tushuntirish tayyorlang. Muloqot prototipida ijro ko‘rsatmalarini qo‘shishdan oldin so‘zlovchilar va ularning ovoz namunalarini belgilang. Bu qadamlar butun suhbat mas’uliyatini sintez so‘roviga yuklamasdan audio material va uning atrofidagi ilova jarayonini ishlab chiqadi.</p><p>Avval haqiqatan aytilishi kerak bo‘lgan so‘zlarni yozing, so‘ng ijrosi o‘zgarishi kerak bo‘lgan parcha oldiga bevosita ko‘rsatma qo‘ying. Kvadrat qavsdagi ko‘rsatmalar pichirlash, pauza, reaksiya, urg‘u yoki erkin ta’riflangan so‘zlash uslubini ifodalashi mumkin. Gap ichidagi o‘zgarishni ijro talab qilgan joyga qo‘ying va tavsifiy ko‘rsatmadan keyin haqiqiy nutq matnini yozing. Foydali tushuntirish topshirig‘i faktik matnni tinglovchi uchun kerakli iliqlik, sur’at yoki urg‘udan ajratadi.</p><p>Bitta so‘zlovchi uchun saqlangan ovoz identifikatorini tanlang yoki transkripti bilan namuna yozuv bering. Ishlab chiqaruvchining nutq qo‘llanmasi ovozni darhol moslashtirish uchun toza 10–30 soniyali namunani tavsiya qiladi. Ssenariyga mos ohang va yozuv sifatidagi namunani tanlang, bog‘liq parchalar uchun ayni namunani saqlang. Ovoz namunasi so‘zlovchining jarangini, matn va ichki ko‘rsatmalar esa mazmun hamda uning ijrosini beradi.</p><p>Modelning o‘zida qo‘llab-quvvatlanadigan ko‘p so‘zlovchili sintez ovoz identifikatorlarining tartiblangan massivi yoki alohida namuna guruhlari bilan &lt;|speaker:0|&gt; va &lt;|speaker:1|&gt; kabi belgilardan foydalanadi. Raqamli so‘zlovchi belgilarini shu tartibga mos tuting. O‘quv muloqotida har so‘zlovchining jumlasini yozing va ijro ko‘rsatmasini so‘zlovchi belgisidan keyin tegishli joyga qo‘ying. Bu bitta so‘rov ichida muloqot yaratadi; u S1’dagi alohida bir so‘zlovchili segmentlar va ularni keyin yig‘ish jarayonidan farq qiladi.</p><p>Ishlab chiqaruvchi jarayoni MP3, WAV, xom PCM va Opus chiqishlarini taklif qiladi; standart format MP3. MP3 64, 128 va 192 kbps’ni qo‘llab-quvvatlaydi; WAV va PCM hujjatlashtirilgan 16 bitli mono namuna formatlaridan, Opus esa 48 kHz’dan foydalanadi. Saqlanadigan ovozli bayon fayli, oqimli ijro yoki keyingi audio jarayoni uchun format tanlang. Keyingi tahrir mo‘ljallangan ijroni yo‘qotmasdan bitta jumlani o‘zgartira olishi uchun to‘liq ssenariy va ovoz tanlovini audio bilan birga saqlang.</p><p>Tezlikni 0.5 dan 2.0 gacha o‘zgartirish va ovoz balandligini boshqarish mumkin. Matnni me’yorlashtirish ingliz va xitoy tillaridagi sonlarni tabiiy o‘qish uchun yoyib beradi. Chiqish ovoz balandligini me’yorlashtirish standart holda true va S2 oilasiga qo‘llanadi; ayni maydon S1’da ta’sir qilmagan. S1’ning repetition_penalty parametri S2.1 Pro audiosini o‘zgartirmaydi, shuning uchun eski sozlamani bu model uchun amaldagi boshqaruv deb hisoblamang. Natijani tasdiqlashda ko‘chib qolgan parametrga tayanmasdan, takroriy tovush va so‘zlarni bevosita tekshiring.</p><p>Uzunroq ssenariylar bo‘laklarga ajratib qayta ishlanadi. Hujjatlashtirilgan bo‘lak uzunligi oralig‘i 100–300; max_new_tokens umumiy davomiylik kafolati emas, har bo‘lak uchun audio token byudjetidir. Oldingi bo‘lakka tayantirish ovoz kontekstini keyingisiga olib o‘tishi mumkin. Ishlab chiqaruvchining yetkazish jarayoni yaxlit audio, bosqichma-bosqich audio bo‘laklari va ssenariy asta kelganda jonli matn oqimini tavsiflaydi. Ilova uchun qabul qilish usulini tanlang va keyingi parchaning talaffuzi hamda ohangi uchun yetarli ssenariy kontekstini saqlang.</p><p>Foydali yakuniy material uchun tushib qolgan yoki takrorlangan so‘zlar, sonlar talaffuzi, so‘zlovchi almashishi, pauzalar va ko‘rsatmalar kuchini tinglab tekshiring. Turli ovoz namunalari bir ishorani turli kuchda talqin qilishi mumkin, shuning uchun raqobatlashuvchi teglar qo‘shishdan oldin oddiy boshqariladigan jumladan boshlang. Ko‘p tilli ishda nutq modelidan mazmunni o‘ylab topish yoki tarjima qilishni so‘ramasdan, kerakli tildagi ssenariyni bering. Aniq tahrir nomuvofiqlikka sabab bo‘lgan jumla, ishora yoki namunani o‘zgartiradi va topshiriqqa allaqachon mos ijro qismlarini saqlaydi.</p>",
  "aboutText": "S2.1 Pro Free — Fish Audio’ning dasturchilarga yo‘naltirilgan S2.1 matnni nutqqa aylantirish nashri. U S2.1 Pro bilan asosiy model va markaziy sintez imkoniyatlarini bo‘lishadi: ifodali ko‘p tilli nutq, tabiiy tildagi ijro ko‘rsatmalari va modelning o‘zida qo‘llab-quvvatlanadigan ko‘p so‘zlovchili muloqot. Uning vazifasi sinov, prototiplash, ishlab chiqish va kichikroq ilova jarayonlaridir.\n\nOvozli yordamchi prototipida asta-sekin keladigan matnni sinashdan oldin tayyor namuna javobdan boshlang va uning jarangini baholang. O‘quv mahsuloti uchun tinglovchiga kerakli aniq atamalar va sonlarning o‘qilishi bilan qisqa tushuntirish tayyorlang. Muloqot prototipida ijro ko‘rsatmalarini qo‘shishdan oldin so‘zlovchilar va ularning ovoz namunalarini belgilang. Bu qadamlar butun suhbat mas’uliyatini sintez so‘roviga yuklamasdan audio material va uning atrofidagi ilova jarayonini ishlab chiqadi.\n\nAvval haqiqatan aytilishi kerak bo‘lgan so‘zlarni yozing, so‘ng ijrosi o‘zgarishi kerak bo‘lgan parcha oldiga bevosita ko‘rsatma qo‘ying. Kvadrat qavsdagi ko‘rsatmalar pichirlash, pauza, reaksiya, urg‘u yoki erkin ta’riflangan so‘zlash uslubini ifodalashi mumkin. Gap ichidagi o‘zgarishni ijro talab qilgan joyga qo‘ying va tavsifiy ko‘rsatmadan keyin haqiqiy nutq matnini yozing. Foydali tushuntirish topshirig‘i faktik matnni tinglovchi uchun kerakli iliqlik, sur’at yoki urg‘udan ajratadi.\n\nBitta so‘zlovchi uchun saqlangan ovoz identifikatorini tanlang yoki transkripti bilan namuna yozuv bering. Ishlab chiqaruvchining nutq qo‘llanmasi ovozni darhol moslashtirish uchun toza 10–30 soniyali namunani tavsiya qiladi. Ssenariyga mos ohang va yozuv sifatidagi namunani tanlang, bog‘liq parchalar uchun ayni namunani saqlang. Ovoz namunasi so‘zlovchining jarangini, matn va ichki ko‘rsatmalar esa mazmun hamda uning ijrosini beradi.\n\nModelning o‘zida qo‘llab-quvvatlanadigan ko‘p so‘zlovchili sintez ovoz identifikatorlarining tartiblangan massivi yoki alohida namuna guruhlari bilan <|speaker:0|> va <|speaker:1|> kabi belgilardan foydalanadi. Raqamli so‘zlovchi belgilarini shu tartibga mos tuting. O‘quv muloqotida har so‘zlovchining jumlasini yozing va ijro ko‘rsatmasini so‘zlovchi belgisidan keyin tegishli joyga qo‘ying. Bu bitta so‘rov ichida muloqot yaratadi; u S1’dagi alohida bir so‘zlovchili segmentlar va ularni keyin yig‘ish jarayonidan farq qiladi.\n\nIshlab chiqaruvchi jarayoni MP3, WAV, xom PCM va Opus chiqishlarini taklif qiladi; standart format MP3. MP3 64, 128 va 192 kbps’ni qo‘llab-quvvatlaydi; WAV va PCM hujjatlashtirilgan 16 bitli mono namuna formatlaridan, Opus esa 48 kHz’dan foydalanadi. Saqlanadigan ovozli bayon fayli, oqimli ijro yoki keyingi audio jarayoni uchun format tanlang. Keyingi tahrir mo‘ljallangan ijroni yo‘qotmasdan bitta jumlani o‘zgartira olishi uchun to‘liq ssenariy va ovoz tanlovini audio bilan birga saqlang.\n\nTezlikni 0.5 dan 2.0 gacha o‘zgartirish va ovoz balandligini boshqarish mumkin. Matnni me’yorlashtirish ingliz va xitoy tillaridagi sonlarni tabiiy o‘qish uchun yoyib beradi. Chiqish ovoz balandligini me’yorlashtirish standart holda true va S2 oilasiga qo‘llanadi; ayni maydon S1’da ta’sir qilmagan. S1’ning repetition_penalty parametri S2.1 Pro audiosini o‘zgartirmaydi, shuning uchun eski sozlamani bu model uchun amaldagi boshqaruv deb hisoblamang. Natijani tasdiqlashda ko‘chib qolgan parametrga tayanmasdan, takroriy tovush va so‘zlarni bevosita tekshiring.\n\nUzunroq ssenariylar bo‘laklarga ajratib qayta ishlanadi. Hujjatlashtirilgan bo‘lak uzunligi oralig‘i 100–300; max_new_tokens umumiy davomiylik kafolati emas, har bo‘lak uchun audio token byudjetidir. Oldingi bo‘lakka tayantirish ovoz kontekstini keyingisiga olib o‘tishi mumkin. Ishlab chiqaruvchining yetkazish jarayoni yaxlit audio, bosqichma-bosqich audio bo‘laklari va ssenariy asta kelganda jonli matn oqimini tavsiflaydi. Ilova uchun qabul qilish usulini tanlang va keyingi parchaning talaffuzi hamda ohangi uchun yetarli ssenariy kontekstini saqlang.\n\nFoydali yakuniy material uchun tushib qolgan yoki takrorlangan so‘zlar, sonlar talaffuzi, so‘zlovchi almashishi, pauzalar va ko‘rsatmalar kuchini tinglab tekshiring. Turli ovoz namunalari bir ishorani turli kuchda talqin qilishi mumkin, shuning uchun raqobatlashuvchi teglar qo‘shishdan oldin oddiy boshqariladigan jumladan boshlang. Ko‘p tilli ishda nutq modelidan mazmunni o‘ylab topish yoki tarjima qilishni so‘ramasdan, kerakli tildagi ssenariyni bering. Aniq tahrir nomuvofiqlikka sabab bo‘lgan jumla, ishora yoki namunani o‘zgartiradi va topshiriqqa allaqachon mos ijro qismlarini saqlaydi.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "f485d4b0b84427ab17bd5079ba648b6b60a31675d19d3a745d8fefc7b57b2d97",
    "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: S2.1 Pro Free (free)</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/s2.1-pro-free:free</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|speech|/v1/audio/speech|fish-audio%2Fs2.1-pro-free%3Afree\">Ovozlashtirish</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\">S2.1 Pro Free — Fish Audio’ning S2.1 nutq modeliga asoslangan, ovozli bayon, boshqariladigan ovozli chiqish va ko‘p so‘zlovchili muloqot uchun ishlab chiqish nashri. U sinov va prototiplashda modelning sintez imkoniyatlaridan foydalanadi.</p><dl class=\"card-io\" data-card-io><div><dt>Qabul qilinadigan kirish ma’lumotlari</dt><dd>Matn</dd></div><div><dt>Natijalar</dt><dd>Audio</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>S2.1 Pro Free — Fish Audio’ning dasturchilarga yo‘naltirilgan S2.1 matnni nutqqa aylantirish nashri. U S2.1 Pro bilan asosiy model va markaziy sintez imkoniyatlarini bo‘lishadi: ifodali ko‘p tilli nutq, tabiiy tildagi ijro ko‘rsatmalari va modelning o‘zida qo‘llab-quvvatlanadigan ko‘p so‘zlovchili muloqot. Uning vazifasi sinov, prototiplash, ishlab chiqish va kichikroq ilova jarayonlaridir.</p><p>Ovozli yordamchi prototipida asta-sekin keladigan matnni sinashdan oldin tayyor namuna javobdan boshlang va uning jarangini baholang. O‘quv mahsuloti uchun tinglovchiga kerakli aniq atamalar va sonlarning o‘qilishi bilan qisqa tushuntirish tayyorlang. Muloqot prototipida ijro ko‘rsatmalarini qo‘shishdan oldin so‘zlovchilar va ularning ovoz namunalarini belgilang. Bu qadamlar butun suhbat mas’uliyatini sintez so‘roviga yuklamasdan audio material va uning atrofidagi ilova jarayonini ishlab chiqadi.</p><p>Avval haqiqatan aytilishi kerak bo‘lgan so‘zlarni yozing, so‘ng ijrosi o‘zgarishi kerak bo‘lgan parcha oldiga bevosita ko‘rsatma qo‘ying. Kvadrat qavsdagi ko‘rsatmalar pichirlash, pauza, reaksiya, urg‘u yoki erkin ta’riflangan so‘zlash uslubini ifodalashi mumkin. Gap ichidagi o‘zgarishni ijro talab qilgan joyga qo‘ying va tavsifiy ko‘rsatmadan keyin haqiqiy nutq matnini yozing. Foydali tushuntirish topshirig‘i faktik matnni tinglovchi uchun kerakli iliqlik, sur’at yoki urg‘udan ajratadi.</p><p>Bitta so‘zlovchi uchun saqlangan ovoz identifikatorini tanlang yoki transkripti bilan namuna yozuv bering. Ishlab chiqaruvchining nutq qo‘llanmasi ovozni darhol moslashtirish uchun toza 10–30 soniyali namunani tavsiya qiladi. Ssenariyga mos ohang va yozuv sifatidagi namunani tanlang, bog‘liq parchalar uchun ayni namunani saqlang. Ovoz namunasi so‘zlovchining jarangini, matn va ichki ko‘rsatmalar esa mazmun hamda uning ijrosini beradi.</p><p>Modelning o‘zida qo‘llab-quvvatlanadigan ko‘p so‘zlovchili sintez ovoz identifikatorlarining tartiblangan massivi yoki alohida namuna guruhlari bilan &lt;|speaker:0|&gt; va &lt;|speaker:1|&gt; kabi belgilardan foydalanadi. Raqamli so‘zlovchi belgilarini shu tartibga mos tuting. O‘quv muloqotida har so‘zlovchining jumlasini yozing va ijro ko‘rsatmasini so‘zlovchi belgisidan keyin tegishli joyga qo‘ying. Bu bitta so‘rov ichida muloqot yaratadi; u S1’dagi alohida bir so‘zlovchili segmentlar va ularni keyin yig‘ish jarayonidan farq qiladi.</p><p>Ishlab chiqaruvchi jarayoni MP3, WAV, xom PCM va Opus chiqishlarini taklif qiladi; standart format MP3. MP3 64, 128 va 192 kbps’ni qo‘llab-quvvatlaydi; WAV va PCM hujjatlashtirilgan 16 bitli mono namuna formatlaridan, Opus esa 48 kHz’dan foydalanadi. Saqlanadigan ovozli bayon fayli, oqimli ijro yoki keyingi audio jarayoni uchun format tanlang. Keyingi tahrir mo‘ljallangan ijroni yo‘qotmasdan bitta jumlani o‘zgartira olishi uchun to‘liq ssenariy va ovoz tanlovini audio bilan birga saqlang.</p><p>Tezlikni 0.5 dan 2.0 gacha o‘zgartirish va ovoz balandligini boshqarish mumkin. Matnni me’yorlashtirish ingliz va xitoy tillaridagi sonlarni tabiiy o‘qish uchun yoyib beradi. Chiqish ovoz balandligini me’yorlashtirish standart holda true va S2 oilasiga qo‘llanadi; ayni maydon S1’da ta’sir qilmagan. S1’ning repetition_penalty parametri S2.1 Pro audiosini o‘zgartirmaydi, shuning uchun eski sozlamani bu model uchun amaldagi boshqaruv deb hisoblamang. Natijani tasdiqlashda ko‘chib qolgan parametrga tayanmasdan, takroriy tovush va so‘zlarni bevosita tekshiring.</p><p>Uzunroq ssenariylar bo‘laklarga ajratib qayta ishlanadi. Hujjatlashtirilgan bo‘lak uzunligi oralig‘i 100–300; max_new_tokens umumiy davomiylik kafolati emas, har bo‘lak uchun audio token byudjetidir. Oldingi bo‘lakka tayantirish ovoz kontekstini keyingisiga olib o‘tishi mumkin. Ishlab chiqaruvchining yetkazish jarayoni yaxlit audio, bosqichma-bosqich audio bo‘laklari va ssenariy asta kelganda jonli matn oqimini tavsiflaydi. Ilova uchun qabul qilish usulini tanlang va keyingi parchaning talaffuzi hamda ohangi uchun yetarli ssenariy kontekstini saqlang.</p><p>Foydali yakuniy material uchun tushib qolgan yoki takrorlangan so‘zlar, sonlar talaffuzi, so‘zlovchi almashishi, pauzalar va ko‘rsatmalar kuchini tinglab tekshiring. Turli ovoz namunalari bir ishorani turli kuchda talqin qilishi mumkin, shuning uchun raqobatlashuvchi teglar qo‘shishdan oldin oddiy boshqariladigan jumladan boshlang. Ko‘p tilli ishda nutq modelidan mazmunni o‘ylab topish yoki tarjima qilishni so‘ramasdan, kerakli tildagi ssenariyni bering. Aniq tahrir nomuvofiqlikka sabab bo‘lgan jumla, ishora yoki namunani o‘zgartiradi va topshiriqqa allaqachon mos ijro qismlarini saqlaydi.</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 · Nutq</b> <code>POST /v1/audio/speech</code></summary><dl class=\"method-capabilities\"><div><dt>Kirish</dt><dd><code>text</code></dd></div><div><dt>Chiqish</dt><dd><code>audio</code></dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Maydon</th><th>Tur</th><th>Talab</th><th>Qiymatlar va cheklovlar</th><th>Standart</th></tr></thead><tbody><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>string</code></td><td data-cell-label=\"Talab\"><span class=\"card-cell-label\">Talab</span>Majburiy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span><div>fish-audio/s2.1-pro-free:free</div></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">input</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>Eng kam uzunlik: 1</div></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">voice</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>b347db033a6549378b48d00acb0d06cd</div><div>Eng kam uzunlik: 1</div></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">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>mp3, pcm</div></td><td data-cell-label=\"Standart\" data-default=\"known\"><span class=\"card-cell-label\">Standart</span>pcm</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">provider</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>Ixtiyoriy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>Usul parametrlari va hayot sikli</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parametr</th><th>Parametr talablari</th></tr></thead><tbody><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>content_type</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>application/json</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>required</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>model, input, voice</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>text</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></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>Hisoblanadigan miqdor</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=\"Hisoblanadigan miqdor\"><span class=\"card-cell-label\">Hisoblanadigan miqdor</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>Har bir so‘rov uchun</th><td data-cell-label=\"Tariflar jadvali\"><span class=\"card-cell-label\">Tariflar jadvali</span>—</td><td data-cell-label=\"Hisoblanadigan miqdor\"><span class=\"card-cell-label\">Hisoblanadigan miqdor</span>bitta so‘rov</td><td data-cell-label=\"To‘lov\"><span class=\"card-cell-label\">To‘lov</span><div><span>Kirish</span> <b>$0</b> <span class=\"price-unit\">har bir so‘rov uchun</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot so‘rovdan oldin taxminiy summani band qiladi. Natijadan keyin o‘lchangan sarf asosidagi yakuniy to‘lovni yechadi. Oqimli javob bo‘yicha yakuniy hisob-kitob yakuniy sarf yozuviga asoslanadi. <a href=\"/docs/uz/billing/reserve/\">Summani band qilish va to‘lovni hisoblash tartibi →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">So‘rov namunalari</h3><h4>Ailoot Ultra · Nutq</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-1359-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1359-panel-0\" aria-selected=\"true\" tabindex=\"0\">Haqiqiy kirish ma’lumotlaridan foydalaning va natijani to‘liq saqlang</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-1359-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1359-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_INPUT_TEXT:?Set the actual documented input value}&quot;\nexport AILOOT_INPUT_TEXT\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\nrequest={&#39;model&#39;: &#39;fish-audio/s2.1-pro-free:free&#39;, &#39;input&#39;: &#39;${ACTUAL_INPUT_TEXT}&#39;, &#39;voice&#39;: &#39;b347db033a6549378b48d00acb0d06cd&#39;, &#39;response_format&#39;: &#39;mp3&#39;}\nrequest[&#39;input&#39;]=os.environ[&#39;AILOOT_INPUT_TEXT&#39;]\nPath(&#39;request.json&#39;).write_text(json.dumps(request,ensure_ascii=False),encoding=&#39;utf-8&#39;)\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\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 · Nutq</h4><p class=\"note-s\">To‘liq ikkilik audio yoki dastlabki audio_url javobi, sarlavhalar va egalik qilinadigan har bir aktiv.</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><details class=\"card-about\"><summary>Boshqa kontentni o‘qish</summary><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-1360-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1360-panel-0\" aria-selected=\"true\" tabindex=\"0\">O‘zingizga tegishli mavjud materiallarni o‘qish</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-1360-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1360-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n</code></pre></div></div></div></details><div class=\"card-result-process\" data-all-results><h5>Barcha tayyor natijalarni saqlash</h5><p class=\"note-s\">Qaytarilgan har bir to‘liq javob, fayl va kontent qismini saqlang.</p><p class=\"note-s\">To‘liq javob va sarlavhalarni, amalda qaytarilgan barcha natijalarni, dastlab qaytarilgan identifikatorlarni hamda barcha usage maydonlarini saqlang. Yaratish so‘rovini qayta yubormasdan dastlabki operatsiyani tiklang.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Asl javobni tekshirish kerak bo‘lsa</h5><p class=\"note-s\">Qaytarilgan X-Client-Request-ID ni ma’lumotlarni solishtirib tekshirish uchun saqlang. Faqat amalda qaytarilgan task_id/asset_id qiymatlari bo‘yicha yoki o‘zingizga tegishli media kutubxonasidan ma’lumot o‘qing; operatsiya ID sidan vazifa URL manzilini hech qachon tuzmang va yaratish so‘rovini qayta yubormang.</p></div></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%2Fs2.1-pro-free%3Afree&amp;route=Ultra&amp;caller=fish-audio%2Fs2.1-pro-free%3Afree&amp;fmt=speech\"><code>fish-audio/s2.1-pro-free:free</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%2Fs2.1-pro-free%3Afree&amp;route=Ultra&amp;caller=fish-audio%2Fs2.1-pro-free%3Afree&amp;fmt=speech\"><code>fish-audio/s2.1-pro-free:free</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "fish-audio/s2.1-pro-free:free",
        "fmt": "speech",
        "http": "POST",
        "path": "/v1/audio/speech",
        "request_model_id": "fish-audio/s2.1-pro-free:free",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|speech|/v1/audio/speech|fish-audio%2Fs2.1-pro-free%3Afree",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed 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": "Qaytarilgan X-Client-Request-ID ni ma’lumotlarni solishtirib tekshirish uchun saqlang. Faqat amalda qaytarilgan task_id/asset_id qiymatlari bo‘yicha yoki o‘zingizga tegishli media kutubxonasidan ma’lumot o‘qing; operatsiya ID sidan vazifa URL manzilini hech qachon tuzmang va yaratish so‘rovini qayta yubormang."
            },
            "outputs": {
              "all_results": "To‘liq javob va sarlavhalarni, amalda qaytarilgan barcha natijalarni, dastlab qaytarilgan identifikatorlarni hamda barcha usage maydonlarini saqlang. Yaratish so‘rovini qayta yubormasdan dastlabki operatsiyani tiklang.",
              "family": "audio",
              "formats": [
                "mp3",
                "pcm"
              ],
              "result": "To‘liq ikkilik audio yoki dastlabki audio_url javobi, sarlavhalar va egalik qilinadigan har bir aktiv."
            },
            "parameters": [
              {
                "enum": [
                  "fish-audio/s2.1-pro-free:free"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  "b347db033a6549378b48d00acb0d06cd"
                ],
                "enum_known": true,
                "min_length": 1,
                "name": "voice",
                "required": true,
                "type": "string"
              },
              {
                "default": "pcm",
                "default_known": true,
                "enum": [
                  "mp3",
                  "pcm"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              },
              {
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input": {
                  "minLength": 1,
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "fish-audio/s2.1-pro-free:free"
                  ],
                  "type": "string"
                },
                "provider": {
                  "description": "Documented speech data policy and provider-specific options.",
                  "properties": {
                    "data_collection": {
                      "enum": [
                        "allow",
                        "deny",
                        null
                      ],
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "options": {
                      "type": "object"
                    },
                    "zdr": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    }
                  },
                  "type": "object"
                },
                "response_format": {
                  "default": "pcm",
                  "enum": [
                    "mp3",
                    "pcm"
                  ],
                  "type": "string"
                },
                "voice": {
                  "enum": [
                    "b347db033a6549378b48d00acb0d06cd"
                  ],
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input",
                "voice"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input": "${ACTUAL_INPUT_TEXT}",
                "model": "fish-audio/s2.1-pro-free:free",
                "response_format": "mp3",
                "voice": "b347db033a6549378b48d00acb0d06cd"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "required": [
              "model",
              "input",
              "voice"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed 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": "Keep the returned X-Client-Request-ID for reconciliation. Read only actual returned task_id/asset_id values or the owned media library; never build a task URL from the operation ID and never resubmit creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/speech"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "audio",
            "formats": [
              "mp3",
              "pcm"
            ],
            "result": "Complete binary audio or original audio_url response, headers and every owned asset."
          }
        },
        "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": {
              "billing_quantity": "one request"
            },
            "label": "Per request",
            "units": [
              {
                "amount": "0",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "per_request",
                "label": "per request",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "public_unit_label": "per request",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "per_request"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_INPUT_TEXT:?Set the actual documented input value}\"\nexport AILOOT_INPUT_TEXT\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nrequest={'model': 'fish-audio/s2.1-pro-free:free', 'input': '${ACTUAL_INPUT_TEXT}', 'voice': 'b347db033a6549378b48d00acb0d06cd', 'response_format': 'mp3'}\nrequest['input']=os.environ['AILOOT_INPUT_TEXT']\nPath('request.json').write_text(json.dumps(request,ensure_ascii=False),encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\n",
            "label": "Use actual input and retain the complete result",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n",
            "label": "Read existing owned assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "speech",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text"
        ],
        "label": "Nutq",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_speech",
        "out": null,
        "output": [
          "audio"
        ],
        "path": "/v1/audio/speech",
        "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": 0
        },
        "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": {
              "billing_quantity": "one request"
            },
            "label": "Per request",
            "units": [
              {
                "amount": "0",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "per_request",
                "label": "per request",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "public_unit_label": "per request",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "per_request"
              }
            ]
          }
        ],
        "request_model_id": "fish-audio/s2.1-pro-free:free",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "per_request",
            "label": "per request",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "public_unit_label": "per request",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "per_request"
          }
        ]
      }
    }
  ],
  "model_id": "fish-audio/s2.1-pro-free:free",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "ee25016f6b93f463025a97cd53cce2dd53fed530c2d7afb32be3c15f61423fa7",
    "input_html_sha256": "a9f66634603ff28b7403b39e71a7da8878963edcea9b4cd53c04ea2e12ad34c0",
    "private_audit_sha256": "91cc937ec7904bc3d3aa42fccdff1ef2e48adf3ee0d91ed6a7baf9968a137c9b",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/uz/fish-audio-s2-1-pro-free-u003a-free/",
    "description": "S2.1 Pro Free — Fish Audio’ning S2.1 nutq modeliga asoslangan, ovozli bayon, boshqariladigan ovozli chiqish va ko‘p so‘zlovchili muloqot uchun ishlab chiqish nashri. U sinov va prototiplashda modelning sintez imkoniyatlaridan foydalanadi.",
    "locale": "uz",
    "md_url": "https://ailoot.ai/models/uz/fish-audio-s2-1-pro-free-u003a-free/index.md",
    "title": "Fish Audio: S2.1 Pro Free (free) — Ailoot",
    "url": "https://ailoot.ai/models/uz/fish-audio-s2-1-pro-free-u003a-free/"
  },
  "rawModel": {
    "about": "S2.1 Pro Free — Fish Audio’ning dasturchilarga yo‘naltirilgan S2.1 matnni nutqqa aylantirish nashri. U S2.1 Pro bilan asosiy model va markaziy sintez imkoniyatlarini bo‘lishadi: ifodali ko‘p tilli nutq, tabiiy tildagi ijro ko‘rsatmalari va modelning o‘zida qo‘llab-quvvatlanadigan ko‘p so‘zlovchili muloqot. Uning vazifasi sinov, prototiplash, ishlab chiqish va kichikroq ilova jarayonlaridir.\n\nOvozli yordamchi prototipida asta-sekin keladigan matnni sinashdan oldin tayyor namuna javobdan boshlang va uning jarangini baholang. O‘quv mahsuloti uchun tinglovchiga kerakli aniq atamalar va sonlarning o‘qilishi bilan qisqa tushuntirish tayyorlang. Muloqot prototipida ijro ko‘rsatmalarini qo‘shishdan oldin so‘zlovchilar va ularning ovoz namunalarini belgilang. Bu qadamlar butun suhbat mas’uliyatini sintez so‘roviga yuklamasdan audio material va uning atrofidagi ilova jarayonini ishlab chiqadi.\n\nAvval haqiqatan aytilishi kerak bo‘lgan so‘zlarni yozing, so‘ng ijrosi o‘zgarishi kerak bo‘lgan parcha oldiga bevosita ko‘rsatma qo‘ying. Kvadrat qavsdagi ko‘rsatmalar pichirlash, pauza, reaksiya, urg‘u yoki erkin ta’riflangan so‘zlash uslubini ifodalashi mumkin. Gap ichidagi o‘zgarishni ijro talab qilgan joyga qo‘ying va tavsifiy ko‘rsatmadan keyin haqiqiy nutq matnini yozing. Foydali tushuntirish topshirig‘i faktik matnni tinglovchi uchun kerakli iliqlik, sur’at yoki urg‘udan ajratadi.\n\nBitta so‘zlovchi uchun saqlangan ovoz identifikatorini tanlang yoki transkripti bilan namuna yozuv bering. Ishlab chiqaruvchining nutq qo‘llanmasi ovozni darhol moslashtirish uchun toza 10–30 soniyali namunani tavsiya qiladi. Ssenariyga mos ohang va yozuv sifatidagi namunani tanlang, bog‘liq parchalar uchun ayni namunani saqlang. Ovoz namunasi so‘zlovchining jarangini, matn va ichki ko‘rsatmalar esa mazmun hamda uning ijrosini beradi.\n\nModelning o‘zida qo‘llab-quvvatlanadigan ko‘p so‘zlovchili sintez ovoz identifikatorlarining tartiblangan massivi yoki alohida namuna guruhlari bilan <|speaker:0|> va <|speaker:1|> kabi belgilardan foydalanadi. Raqamli so‘zlovchi belgilarini shu tartibga mos tuting. O‘quv muloqotida har so‘zlovchining jumlasini yozing va ijro ko‘rsatmasini so‘zlovchi belgisidan keyin tegishli joyga qo‘ying. Bu bitta so‘rov ichida muloqot yaratadi; u S1’dagi alohida bir so‘zlovchili segmentlar va ularni keyin yig‘ish jarayonidan farq qiladi.\n\nIshlab chiqaruvchi jarayoni MP3, WAV, xom PCM va Opus chiqishlarini taklif qiladi; standart format MP3. MP3 64, 128 va 192 kbps’ni qo‘llab-quvvatlaydi; WAV va PCM hujjatlashtirilgan 16 bitli mono namuna formatlaridan, Opus esa 48 kHz’dan foydalanadi. Saqlanadigan ovozli bayon fayli, oqimli ijro yoki keyingi audio jarayoni uchun format tanlang. Keyingi tahrir mo‘ljallangan ijroni yo‘qotmasdan bitta jumlani o‘zgartira olishi uchun to‘liq ssenariy va ovoz tanlovini audio bilan birga saqlang.\n\nTezlikni 0.5 dan 2.0 gacha o‘zgartirish va ovoz balandligini boshqarish mumkin. Matnni me’yorlashtirish ingliz va xitoy tillaridagi sonlarni tabiiy o‘qish uchun yoyib beradi. Chiqish ovoz balandligini me’yorlashtirish standart holda true va S2 oilasiga qo‘llanadi; ayni maydon S1’da ta’sir qilmagan. S1’ning repetition_penalty parametri S2.1 Pro audiosini o‘zgartirmaydi, shuning uchun eski sozlamani bu model uchun amaldagi boshqaruv deb hisoblamang. Natijani tasdiqlashda ko‘chib qolgan parametrga tayanmasdan, takroriy tovush va so‘zlarni bevosita tekshiring.\n\nUzunroq ssenariylar bo‘laklarga ajratib qayta ishlanadi. Hujjatlashtirilgan bo‘lak uzunligi oralig‘i 100–300; max_new_tokens umumiy davomiylik kafolati emas, har bo‘lak uchun audio token byudjetidir. Oldingi bo‘lakka tayantirish ovoz kontekstini keyingisiga olib o‘tishi mumkin. Ishlab chiqaruvchining yetkazish jarayoni yaxlit audio, bosqichma-bosqich audio bo‘laklari va ssenariy asta kelganda jonli matn oqimini tavsiflaydi. Ilova uchun qabul qilish usulini tanlang va keyingi parchaning talaffuzi hamda ohangi uchun yetarli ssenariy kontekstini saqlang.\n\nFoydali yakuniy material uchun tushib qolgan yoki takrorlangan so‘zlar, sonlar talaffuzi, so‘zlovchi almashishi, pauzalar va ko‘rsatmalar kuchini tinglab tekshiring. Turli ovoz namunalari bir ishorani turli kuchda talqin qilishi mumkin, shuning uchun raqobatlashuvchi teglar qo‘shishdan oldin oddiy boshqariladigan jumladan boshlang. Ko‘p tilli ishda nutq modelidan mazmunni o‘ylab topish yoki tarjima qilishni so‘ramasdan, kerakli tildagi ssenariyni bering. Aniq tahrir nomuvofiqlikka sabab bo‘lgan jumla, ishora yoki namunani o‘zgartiradi va topshiriqqa allaqachon mos ijro qismlarini saqlaydi.",
    "alias_of": null,
    "aliases": [],
    "author": "Fish Audio",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "text"
      ],
      "manufacturer_output": [
        "speech"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "per_request",
            "label": "per request",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "public_unit_label": "per request",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "per_request"
          }
        ],
        "summary": "Konfiguratsiya narxlari tafsilotlarda to‘liq ko‘rsatilgan."
      }
    ],
    "ctx": null,
    "formats": [
      "speech"
    ],
    "id": "fish-audio/s2.1-pro-free:free",
    "input": [
      "text"
    ],
    "kind": "audio",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed 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": "Qaytarilgan X-Client-Request-ID ni ma’lumotlarni solishtirib tekshirish uchun saqlang. Faqat amalda qaytarilgan task_id/asset_id qiymatlari bo‘yicha yoki o‘zingizga tegishli media kutubxonasidan ma’lumot o‘qing; operatsiya ID sidan vazifa URL manzilini hech qachon tuzmang va yaratish so‘rovini qayta yubormang."
            },
            "outputs": {
              "all_results": "To‘liq javob va sarlavhalarni, amalda qaytarilgan barcha natijalarni, dastlab qaytarilgan identifikatorlarni hamda barcha usage maydonlarini saqlang. Yaratish so‘rovini qayta yubormasdan dastlabki operatsiyani tiklang.",
              "family": "audio",
              "formats": [
                "mp3",
                "pcm"
              ],
              "result": "To‘liq ikkilik audio yoki dastlabki audio_url javobi, sarlavhalar va egalik qilinadigan har bir aktiv."
            },
            "parameters": [
              {
                "enum": [
                  "fish-audio/s2.1-pro-free:free"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  "b347db033a6549378b48d00acb0d06cd"
                ],
                "enum_known": true,
                "min_length": 1,
                "name": "voice",
                "required": true,
                "type": "string"
              },
              {
                "default": "pcm",
                "default_known": true,
                "enum": [
                  "mp3",
                  "pcm"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              },
              {
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input": {
                  "minLength": 1,
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "fish-audio/s2.1-pro-free:free"
                  ],
                  "type": "string"
                },
                "provider": {
                  "description": "Documented speech data policy and provider-specific options.",
                  "properties": {
                    "data_collection": {
                      "enum": [
                        "allow",
                        "deny",
                        null
                      ],
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "options": {
                      "type": "object"
                    },
                    "zdr": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    }
                  },
                  "type": "object"
                },
                "response_format": {
                  "default": "pcm",
                  "enum": [
                    "mp3",
                    "pcm"
                  ],
                  "type": "string"
                },
                "voice": {
                  "enum": [
                    "b347db033a6549378b48d00acb0d06cd"
                  ],
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input",
                "voice"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input": "${ACTUAL_INPUT_TEXT}",
                "model": "fish-audio/s2.1-pro-free:free",
                "response_format": "mp3",
                "voice": "b347db033a6549378b48d00acb0d06cd"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "required": [
              "model",
              "input",
              "voice"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed 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": "Keep the returned X-Client-Request-ID for reconciliation. Read only actual returned task_id/asset_id values or the owned media library; never build a task URL from the operation ID and never resubmit creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/speech"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "audio",
            "formats": [
              "mp3",
              "pcm"
            ],
            "result": "Complete binary audio or original audio_url response, headers and every owned asset."
          }
        },
        "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": {
              "billing_quantity": "one request"
            },
            "label": "Per request",
            "units": [
              {
                "amount": "0",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "per_request",
                "label": "per request",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "public_unit_label": "per request",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "per_request"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_INPUT_TEXT:?Set the actual documented input value}\"\nexport AILOOT_INPUT_TEXT\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nrequest={'model': 'fish-audio/s2.1-pro-free:free', 'input': '${ACTUAL_INPUT_TEXT}', 'voice': 'b347db033a6549378b48d00acb0d06cd', 'response_format': 'mp3'}\nrequest['input']=os.environ['AILOOT_INPUT_TEXT']\nPath('request.json').write_text(json.dumps(request,ensure_ascii=False),encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\n",
            "label": "Use actual input and retain the complete result",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n",
            "label": "Read existing owned assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "speech",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text"
        ],
        "label": "Nutq",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_speech",
        "out": null,
        "output": [
          "audio"
        ],
        "path": "/v1/audio/speech",
        "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": 0
        },
        "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": {
              "billing_quantity": "one request"
            },
            "label": "Per request",
            "units": [
              {
                "amount": "0",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "per_request",
                "label": "per request",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "public_unit_label": "per request",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "per_request"
              }
            ]
          }
        ],
        "request_model_id": "fish-audio/s2.1-pro-free:free",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "per_request",
            "label": "per request",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "public_unit_label": "per request",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "per_request"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "fish-audio/s2.1-pro-free:free",
        "request_model_id": "fish-audio/s2.1-pro-free:free",
        "route_label": "Ultra"
      }
    ],
    "name": "Fish Audio: S2.1 Pro Free (free)",
    "price": {
      "in": null,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": true
    },
    "short": "S2.1 Pro Free — Fish Audio’ning S2.1 nutq modeliga asoslangan, ovozli bayon, boshqariladigan ovozli chiqish va ko‘p so‘zlovchili muloqot uchun ishlab chiqish nashri. U sinov va prototiplashda modelning sintez imkoniyatlaridan foydalanadi."
  },
  "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": "S2.1 Pro Free — Fish Audio’ning S2.1 nutq modeliga asoslangan, ovozli bayon, boshqariladigan ovozli chiqish va ko‘p so‘zlovchili muloqot uchun ishlab chiqish nashri. U sinov va prototiplashda modelning sintez imkoniyatlaridan foydalanadi.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "135b3bea00a66ffcd2e298bc73b70b327b9714f4af1dde97c1b3d20a1c3b5820",
    "renderer_sha256": "aa8a0fca1bd770c042b64987512b6187fca2067aea3ddc877f68b163d80e7df6"
  },
  "sourceRevision": "27d912718419735badbda997faf61c95316017b9259d525e13a627134bb6e28b"
}
