{
  "aboutHtml": "<p>TTS-1 — tezlikka optimallashtirilgan OpenAI matndan nutqqa modeli. U aytiladigan so‘zlarni qabul qilib, transkript yoki yozma javob o‘rniga audio yaratadi. Ishlab chiqaruvchi misollariga yozma maqolalarni o‘qish, bir nechta tilda nutq yaratish va kelayotgan audioni darhol ijro etish kiradi. TTS-1 TTS-1 HD ga nisbatan pastroq kechikishli tanlov, HD modeli esa chiqish sifatiga urg‘u beradi. Shuning uchun vazifa uchun tez ijro boshlanishi yoki yuqoriroq sifatli bayon profili muhimligini tanlash foydali qarordir.</p><p>Nutq yaratish jarayoni model, kirish matni va tanlangan ovozga asoslanadi. OpenAI ma’lumotnomasi matn kirishini 4096 belgi bilan cheklaydi; bu token kontekst oynasi emas, belgilar chegarasi. Sintezdan oldin haqiqiy ssenariyni tayyorlang: tinglovchi eshitishi kerak bo‘lgan gaplarni yozing, qisqartmalarni aniqlashtiring va nomlar, miqdorlar hamda sarlavhalar qanday aytilishini belgilang. Uzun maqolada butun hujjatni bitta nutq so‘rovi deb ko‘rmay, bo‘limlarni mustaqil tushunarli parchalarga ajrating.</p><p>OpenAI ning TTS-1 uchun joriy modelga xos ovozlar ro‘yxati: alloy, ash, coral, echo, fable, onyx, nova, sage va shimmer. Bular tayyor ovozlar; har bir yangi nutq modelining to‘liq ovoz to‘plami emas. Ovozlar ingliz tili uchun optimallashtirilgan, ko‘p tilli nutq esa kirishni aytiladigan tilda berish orqali qo‘llab-quvvatlanadi. Ovozni yakuniy ssenariyga mos atamalar va sur’atga ega xos parcha orqali tanlang. Davomiylik muhim bo‘lganda o‘zaro bog‘liq kliplarda shu tanlovni bir xil saqlang.</p><p>Audio bo‘laklarda oqimli uzatilishi mumkin; shu tariqa butun fayl yaratilishi tugamasidan ijro boshlanadi. Bu ikki tomonlama og‘zaki suhbat emas, matndan yaratilgan nutq oqimidir. Hujjatlashtirilgan chiqish formatlari MP3, Opus, AAC, FLAC, WAV va PCM; standart MP3. MP3 va AAC siqilgan audio beradi, Opus oqim va aloqa uchun mos, FLAC esa yo‘qotishsiz. WAV siqilgan audioni dekodlashni talab qilmaydi, xom PCM esa fayl sarlavhasisiz 24 kHz, 16-bit ishorali little-endian namunalarni o‘z ichiga oladi. Javob vaqti ustuvor bo‘lganda OpenAI WAV yoki PCM ni tavsiya qiladi.</p><p>Nutq ma’lumotnomasi 0.25 dan 4.0 gacha tezlik sozlamasini beradi; 1.0 standartdir. Tabiiy tildagi qo‘shimcha instructions maydoni TTS-1 bilan ishlamaydi, hodisa shaklidagi SSE chiqish ham bu modelda qo‘llab-quvvatlanmaydi. Uning hujjatlashtirilgan boshqaruvlari ssenariy, ovoz, tezlik va audio formatidir; yangi modellarning aksent, hissiyot yoki pichirlash boshqaruvlarini bu nashrga biriktirmaslik kerak. Klip tayyorlashda tushunarlilikka xizmat qiluvchi tezlikni tanlang, keyin ssenariydagi belgilar soni aniq davomiylikni belgilaydi deb taxmin qilmay, yaratilgan so‘zlar va pauzalarni tekshiring.</p><p>Til qo‘llanmasi ingliz, rus, ukrain, fransuz, nemis, ispan, portugal, italyan, arab, xitoy, yapon, koreys, hind, qozoq va boshqa ko‘p tillarni o‘z ichiga oladi. Nutq berilgan matn tiliga ergashadi. Shuning uchun ko‘p tilli bayon topshirig‘i tarjima qilingan ssenariy va ko‘zlangan auditoriyadan boshlanadi; matndan nutqqa aylantirish tarjima yoki qayta yozish topshirig‘i emas, ovozga o‘tkazish bosqichidir. Amaliy e’londa aniq xabar va nomlarni tayyorlang. Ta’limiy bayonda o‘qiladigan so‘zlarda bo‘lim chegaralari va ta’riflarni ravshan qiling.</p><p>Tayyor artefakt qisqa ovozli ko‘rsatma, o‘qilgan parcha yoki kattaroq montaj uchun audio segment bo‘lishi mumkin. Haqiqiy chiqish orqali talaffuz, to‘liqlik, sur’at va tanlangan formatni tekshiring. Keyingi tuzatishlar ta’sirlangan parchaga yo‘naltirilishi uchun ssenariyni audio bilan birga saqlang. OpenAI ko‘rsatmasi tinglovchilarga ovoz AI yordamida yaratilganini aniq aytishni talab qiladi. Bu bildirish tinglash tajribasiga tegishli; TTS-1 ni inson ovozi yozuviga aylantirmaydi yoki modelga ovoz klonlash boshqaruvlarini qo‘shmaydi.</p>",
  "aboutText": "TTS-1 — tezlikka optimallashtirilgan OpenAI matndan nutqqa modeli. U aytiladigan so‘zlarni qabul qilib, transkript yoki yozma javob o‘rniga audio yaratadi. Ishlab chiqaruvchi misollariga yozma maqolalarni o‘qish, bir nechta tilda nutq yaratish va kelayotgan audioni darhol ijro etish kiradi. TTS-1 TTS-1 HD ga nisbatan pastroq kechikishli tanlov, HD modeli esa chiqish sifatiga urg‘u beradi. Shuning uchun vazifa uchun tez ijro boshlanishi yoki yuqoriroq sifatli bayon profili muhimligini tanlash foydali qarordir.\n\nNutq yaratish jarayoni model, kirish matni va tanlangan ovozga asoslanadi. OpenAI ma’lumotnomasi matn kirishini 4096 belgi bilan cheklaydi; bu token kontekst oynasi emas, belgilar chegarasi. Sintezdan oldin haqiqiy ssenariyni tayyorlang: tinglovchi eshitishi kerak bo‘lgan gaplarni yozing, qisqartmalarni aniqlashtiring va nomlar, miqdorlar hamda sarlavhalar qanday aytilishini belgilang. Uzun maqolada butun hujjatni bitta nutq so‘rovi deb ko‘rmay, bo‘limlarni mustaqil tushunarli parchalarga ajrating.\n\nOpenAI ning TTS-1 uchun joriy modelga xos ovozlar ro‘yxati: alloy, ash, coral, echo, fable, onyx, nova, sage va shimmer. Bular tayyor ovozlar; har bir yangi nutq modelining to‘liq ovoz to‘plami emas. Ovozlar ingliz tili uchun optimallashtirilgan, ko‘p tilli nutq esa kirishni aytiladigan tilda berish orqali qo‘llab-quvvatlanadi. Ovozni yakuniy ssenariyga mos atamalar va sur’atga ega xos parcha orqali tanlang. Davomiylik muhim bo‘lganda o‘zaro bog‘liq kliplarda shu tanlovni bir xil saqlang.\n\nAudio bo‘laklarda oqimli uzatilishi mumkin; shu tariqa butun fayl yaratilishi tugamasidan ijro boshlanadi. Bu ikki tomonlama og‘zaki suhbat emas, matndan yaratilgan nutq oqimidir. Hujjatlashtirilgan chiqish formatlari MP3, Opus, AAC, FLAC, WAV va PCM; standart MP3. MP3 va AAC siqilgan audio beradi, Opus oqim va aloqa uchun mos, FLAC esa yo‘qotishsiz. WAV siqilgan audioni dekodlashni talab qilmaydi, xom PCM esa fayl sarlavhasisiz 24 kHz, 16-bit ishorali little-endian namunalarni o‘z ichiga oladi. Javob vaqti ustuvor bo‘lganda OpenAI WAV yoki PCM ni tavsiya qiladi.\n\nNutq ma’lumotnomasi 0.25 dan 4.0 gacha tezlik sozlamasini beradi; 1.0 standartdir. Tabiiy tildagi qo‘shimcha instructions maydoni TTS-1 bilan ishlamaydi, hodisa shaklidagi SSE chiqish ham bu modelda qo‘llab-quvvatlanmaydi. Uning hujjatlashtirilgan boshqaruvlari ssenariy, ovoz, tezlik va audio formatidir; yangi modellarning aksent, hissiyot yoki pichirlash boshqaruvlarini bu nashrga biriktirmaslik kerak. Klip tayyorlashda tushunarlilikka xizmat qiluvchi tezlikni tanlang, keyin ssenariydagi belgilar soni aniq davomiylikni belgilaydi deb taxmin qilmay, yaratilgan so‘zlar va pauzalarni tekshiring.\n\nTil qo‘llanmasi ingliz, rus, ukrain, fransuz, nemis, ispan, portugal, italyan, arab, xitoy, yapon, koreys, hind, qozoq va boshqa ko‘p tillarni o‘z ichiga oladi. Nutq berilgan matn tiliga ergashadi. Shuning uchun ko‘p tilli bayon topshirig‘i tarjima qilingan ssenariy va ko‘zlangan auditoriyadan boshlanadi; matndan nutqqa aylantirish tarjima yoki qayta yozish topshirig‘i emas, ovozga o‘tkazish bosqichidir. Amaliy e’londa aniq xabar va nomlarni tayyorlang. Ta’limiy bayonda o‘qiladigan so‘zlarda bo‘lim chegaralari va ta’riflarni ravshan qiling.\n\nTayyor artefakt qisqa ovozli ko‘rsatma, o‘qilgan parcha yoki kattaroq montaj uchun audio segment bo‘lishi mumkin. Haqiqiy chiqish orqali talaffuz, to‘liqlik, sur’at va tanlangan formatni tekshiring. Keyingi tuzatishlar ta’sirlangan parchaga yo‘naltirilishi uchun ssenariyni audio bilan birga saqlang. OpenAI ko‘rsatmasi tinglovchilarga ovoz AI yordamida yaratilganini aniq aytishni talab qiladi. Bu bildirish tinglash tajribasiga tegishli; TTS-1 ni inson ovozi yozuviga aylantirmaydi yoki modelga ovoz klonlash boshqaruvlarini qo‘shmaydi.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "ce665b51ca490ddb69efd2b416fe07aef3c9aeb23aaee13d5490f86cfdeb8832",
    "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\">tts-1</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Yopish\">×</button></div><div class=\"idline\"><span>Boshqa /</span><code>openai/tts-1</code><button type=\"button\" id=\"copy-id\">ID ni nusxalash</button></div><nav class=\"card-jump-nav\" aria-label=\"Model kartochkasi bo‘limlari\"><button type=\"button\" data-card-jump=\"overview\">Boshlash</button><button type=\"button\" data-card-jump=\"methods\">Kirish ma’lumotlari va usullar</button><button type=\"button\" data-card-jump=\"pricing\">Tariflar</button><button type=\"button\" data-card-jump=\"examples\">Namunalar</button><button type=\"button\" data-card-jump=\"results\">Natijalar</button><button type=\"button\" data-card-jump=\"aliases\">Taxalluslar</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"API usullari\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|speech|/v1/audio/speech|openai%2Ftts-1\">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\">TTS-1 tayyor matnni tanlanadigan ovozlar, ijro tezligi va chiqish formatlari bilan aytilgan audioga aylantiradi. OpenAI bu nashrni pastroq kechikishli nutq yaratishga optimallashtirgan; u tezkor ovozli o‘qishlar, qisqa bayon va allaqachon yozilgan ssenariyni oqimli yetkazish uchun amaliy tanlovdir.</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>TTS-1 — tezlikka optimallashtirilgan OpenAI matndan nutqqa modeli. U aytiladigan so‘zlarni qabul qilib, transkript yoki yozma javob o‘rniga audio yaratadi. Ishlab chiqaruvchi misollariga yozma maqolalarni o‘qish, bir nechta tilda nutq yaratish va kelayotgan audioni darhol ijro etish kiradi. TTS-1 TTS-1 HD ga nisbatan pastroq kechikishli tanlov, HD modeli esa chiqish sifatiga urg‘u beradi. Shuning uchun vazifa uchun tez ijro boshlanishi yoki yuqoriroq sifatli bayon profili muhimligini tanlash foydali qarordir.</p><p>Nutq yaratish jarayoni model, kirish matni va tanlangan ovozga asoslanadi. OpenAI ma’lumotnomasi matn kirishini 4096 belgi bilan cheklaydi; bu token kontekst oynasi emas, belgilar chegarasi. Sintezdan oldin haqiqiy ssenariyni tayyorlang: tinglovchi eshitishi kerak bo‘lgan gaplarni yozing, qisqartmalarni aniqlashtiring va nomlar, miqdorlar hamda sarlavhalar qanday aytilishini belgilang. Uzun maqolada butun hujjatni bitta nutq so‘rovi deb ko‘rmay, bo‘limlarni mustaqil tushunarli parchalarga ajrating.</p><p>OpenAI ning TTS-1 uchun joriy modelga xos ovozlar ro‘yxati: alloy, ash, coral, echo, fable, onyx, nova, sage va shimmer. Bular tayyor ovozlar; har bir yangi nutq modelining to‘liq ovoz to‘plami emas. Ovozlar ingliz tili uchun optimallashtirilgan, ko‘p tilli nutq esa kirishni aytiladigan tilda berish orqali qo‘llab-quvvatlanadi. Ovozni yakuniy ssenariyga mos atamalar va sur’atga ega xos parcha orqali tanlang. Davomiylik muhim bo‘lganda o‘zaro bog‘liq kliplarda shu tanlovni bir xil saqlang.</p><p>Audio bo‘laklarda oqimli uzatilishi mumkin; shu tariqa butun fayl yaratilishi tugamasidan ijro boshlanadi. Bu ikki tomonlama og‘zaki suhbat emas, matndan yaratilgan nutq oqimidir. Hujjatlashtirilgan chiqish formatlari MP3, Opus, AAC, FLAC, WAV va PCM; standart MP3. MP3 va AAC siqilgan audio beradi, Opus oqim va aloqa uchun mos, FLAC esa yo‘qotishsiz. WAV siqilgan audioni dekodlashni talab qilmaydi, xom PCM esa fayl sarlavhasisiz 24 kHz, 16-bit ishorali little-endian namunalarni o‘z ichiga oladi. Javob vaqti ustuvor bo‘lganda OpenAI WAV yoki PCM ni tavsiya qiladi.</p><p>Nutq ma’lumotnomasi 0.25 dan 4.0 gacha tezlik sozlamasini beradi; 1.0 standartdir. Tabiiy tildagi qo‘shimcha instructions maydoni TTS-1 bilan ishlamaydi, hodisa shaklidagi SSE chiqish ham bu modelda qo‘llab-quvvatlanmaydi. Uning hujjatlashtirilgan boshqaruvlari ssenariy, ovoz, tezlik va audio formatidir; yangi modellarning aksent, hissiyot yoki pichirlash boshqaruvlarini bu nashrga biriktirmaslik kerak. Klip tayyorlashda tushunarlilikka xizmat qiluvchi tezlikni tanlang, keyin ssenariydagi belgilar soni aniq davomiylikni belgilaydi deb taxmin qilmay, yaratilgan so‘zlar va pauzalarni tekshiring.</p><p>Til qo‘llanmasi ingliz, rus, ukrain, fransuz, nemis, ispan, portugal, italyan, arab, xitoy, yapon, koreys, hind, qozoq va boshqa ko‘p tillarni o‘z ichiga oladi. Nutq berilgan matn tiliga ergashadi. Shuning uchun ko‘p tilli bayon topshirig‘i tarjima qilingan ssenariy va ko‘zlangan auditoriyadan boshlanadi; matndan nutqqa aylantirish tarjima yoki qayta yozish topshirig‘i emas, ovozga o‘tkazish bosqichidir. Amaliy e’londa aniq xabar va nomlarni tayyorlang. Ta’limiy bayonda o‘qiladigan so‘zlarda bo‘lim chegaralari va ta’riflarni ravshan qiling.</p><p>Tayyor artefakt qisqa ovozli ko‘rsatma, o‘qilgan parcha yoki kattaroq montaj uchun audio segment bo‘lishi mumkin. Haqiqiy chiqish orqali talaffuz, to‘liqlik, sur’at va tanlangan formatni tekshiring. Keyingi tuzatishlar ta’sirlangan parchaga yo‘naltirilishi uchun ssenariyni audio bilan birga saqlang. OpenAI ko‘rsatmasi tinglovchilarga ovoz AI yordamida yaratilganini aniq aytishni talab qiladi. Bu bildirish tinglash tajribasiga tegishli; TTS-1 ni inson ovozi yozuviga aylantirmaydi yoki modelga ovoz klonlash boshqaruvlarini qo‘shmaydi.</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 · Ovozlashtirish</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><div><dt>Chiqish formati</dt><dd>mp3</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>openai/tts-1</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</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><div>Eng ko‘p uzunlik: 4 096</div><div>Birlik: Unicode belgilari</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\">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>alloy</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>text_to_speech</b> · Majburiy: input</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, voice</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>voice_ids</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>alloy</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>max_input_characters</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>4096</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>other_options</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>input</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>aynan UTF-8 matni; normallashtirmasdan Unicode belgilarini sanash</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><p class=\"note-s\">Shu model profilidan aniq ovozni tanlang.</p><p class=\"note-s\">Kirish belgilari va audio soniyalari — turli hisoblash birliklari.</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>To‘lanadigan miqdor</th><th>Hisoblanadigan miqdor</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=\"To‘lanadigan miqdor\"><span class=\"card-cell-label\">To‘lanadigan miqdor</span>—</td><td data-cell-label=\"Hisoblanadigan miqdor\"><span class=\"card-cell-label\">Hisoblanadigan miqdor</span>—</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>Ultra</th><td data-cell-label=\"Tariflar jadvali\"><span class=\"card-cell-label\">Tariflar jadvali</span>—</td><td data-cell-label=\"To‘lanadigan miqdor\"><span class=\"card-cell-label\">To‘lanadigan miqdor</span>Har bir Unicode kod nuqtasi, jumladan Han belgilari, bitta belgi hisoblanadi.</td><td data-cell-label=\"Hisoblanadigan miqdor\"><span class=\"card-cell-label\">Hisoblanadigan miqdor</span>—</td><td data-cell-label=\"Hisob birligi\"><span class=\"card-cell-label\">Hisob birligi</span>1K kirish belgisi uchun</td><td data-cell-label=\"To‘lov\"><span class=\"card-cell-label\">To‘lov</span><div><span>Kirish · Kirish belgisi</span> <b>$0.03</b> <span class=\"price-unit\">1K kirish belgisi uchun</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=\"To‘lanadigan miqdor\"><span class=\"card-cell-label\">To‘lanadigan miqdor</span>—</td><td data-cell-label=\"Hisoblanadigan miqdor\"><span class=\"card-cell-label\">Hisoblanadigan miqdor</span>bitta so‘rov</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</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 · Ovozlashtirish</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-2179-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2179-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl</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-2179-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2179-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;openai/tts-1&quot;, &quot;input&quot;: &quot;Good afternoon! This is a short voice take.&quot;, &quot;voice&quot;: &quot;alloy&quot;}&#39;)\n\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\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 speech.mp3\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 · Ovozlashtirish</h4><p class=\"note-s\">mp3</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-2180-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2180-panel-0\" aria-selected=\"true\" tabindex=\"0\">Media kutubxonasi</button><button class=\"cg-tab\" id=\"model-code-2180-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2180-panel-1\" aria-selected=\"false\" tabindex=\"-1\">Vazifa holati</button><button class=\"cg-tab\" id=\"model-code-2180-tab-2\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2180-panel-2\" aria-selected=\"false\" tabindex=\"-1\">Material tafsilotlari</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-2180-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2180-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 media-assets.json\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-2180-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-2180-tab-1\" hidden><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_MEDIA_TASK_ID:?Set the actual ID returned by the response or media-library metadata}&quot;\nexport AILOOT_MEDIA_TASK_ID\nresource_id=$(python3 -c &#39;import os,urllib.parse;print(urllib.parse.quote(os.environ[&quot;AILOOT_MEDIA_TASK_ID&quot;],safe=&quot;&quot;))&#39;)\ncurl --fail-with-body --silent --show-error &quot;https://api.ailoot.ai/v1/media/tasks/$resource_id&quot; \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o media-task.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(&quot;media-task.json&quot;).read_text())))\nPY_RESULT\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-2180-panel-2\" role=\"tabpanel\" aria-labelledby=\"model-code-2180-tab-2\" hidden><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_ASSET_ID:?Set the actual ID returned by the response or media-library metadata}&quot;\nexport AILOOT_ASSET_ID\nresource_id=$(python3 -c &#39;import os,urllib.parse;print(urllib.parse.quote(os.environ[&quot;AILOOT_ASSET_ID&quot;],safe=&quot;&quot;))&#39;)\ncurl --fail-with-body --silent --show-error &quot;https://api.ailoot.ai/v1/media/assets/$resource_id&quot; \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o media-asset.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(&quot;media-asset.json&quot;).read_text())))\nPY_RESULT\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 ikkilik natija va sarlavhalarni saqlang. JSON yoki bir nechta natija qaytarilsa, har bir ma’lumot elementini saqlang va qaytarilgan har bir haqiqiy imzolangan resurs URL manzilidan faylni yuklab oling.</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></tr></thead><tbody><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">binary audio</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span>bytes</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">response headers</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span>headers</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=openai%2Ftts-1&amp;route=Ultra&amp;caller=openai%2Ftts-1&amp;fmt=speech\"><code>openai/tts-1</code></a></span></p><h4>Usul yo‘llari taxalluslari</h4><p class=\"note-s\">Yuqorida ko‘rsatilgan usul yo‘llaridan foydalaning.</p><h4>Chaqirish uchun tegishli ID lar</h4><p class=\"note-s\"><a href=\"#m=openai%2Ftts-1&amp;route=Ultra&amp;caller=openai%2Ftts-1&amp;fmt=speech\"><code>openai/tts-1</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "openai/tts-1",
        "fmt": "speech",
        "http": "POST",
        "path": "/v1/audio/speech",
        "request_model_id": "openai/tts-1",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|speech|/v1/audio/speech|openai%2Ftts-1",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep the complete binary result and headers. If JSON/multiple outputs are returned, retain every data item and fetch each actual signed asset URL.",
            "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."
            },
            "material_combinations": [
              {
                "content_type": "application/json",
                "mode": "text_to_speech",
                "required": [
                  "input"
                ]
              }
            ],
            "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": [
              "text_to_speech"
            ],
            "outputs": {
              "all_results": "To‘liq ikkilik natija va sarlavhalarni saqlang. JSON yoki bir nechta natija qaytarilsa, har bir ma’lumot elementini saqlang va qaytarilgan har bir haqiqiy imzolangan resurs URL manzilidan faylni yuklab oling.",
              "family": "audio",
              "fields": [
                {
                  "description": null,
                  "name": "binary audio",
                  "type": "bytes"
                },
                {
                  "description": null,
                  "name": "response headers",
                  "type": "headers"
                }
              ],
              "format": "mp3"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "openai/tts-1"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum_length": 4096,
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string",
                "unit": "Unicode belgilari"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "alloy"
                ],
                "enum_known": true,
                "name": "voice",
                "required": true,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "response_format field; omit it",
              "other options"
            ]
          },
          "hints": [
            "Shu model profilidan aniq ovozni tanlang.",
            "Kirish belgilari va audio soniyalari — turli hisoblash birliklari."
          ],
          "input": {
            "content_type": "application/json",
            "input": "aynan UTF-8 matni; normallashtirmasdan Unicode belgilarini sanash",
            "material_types": [
              "text"
            ],
            "max_input_characters": 4096,
            "other_options": false,
            "required": [
              "model",
              "input",
              "voice"
            ],
            "voice_ids": [
              "alloy"
            ]
          },
          "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": "Retain original operation_id/X-Client-Request-ID for reconciliation without resubmission; no dedicated audio poll route."
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/audio/speech"
          },
          "method_aliases": [],
          "operation_modes": [
            "text_to_speech"
          ],
          "output": {
            "family": "audio",
            "format": "mp3",
            "http_success": 200,
            "response": "full binary MP3 plus response headers",
            "result": "complete playable owned MP3"
          }
        },
        "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": {
              "quantity_meter": "utf8.RuneCountInString(validUTF8): one Han codepoint=1; no Han weighting",
              "quoted_unit": "per 1000 input character"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.03000",
                "amount_unit": "usd_per_1000_characters",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_character",
                "label": "input character",
                "native_amount_usd_per_unit": "0.00003",
                "native_quantity": 1,
                "public_unit_label": "per 1000 input character",
                "quantity": "1000",
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_character"
              }
            ]
          },
          {
            "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}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"openai/tts-1\", \"input\": \"Good afternoon! This is a short voice take.\", \"voice\": \"alloy\"}')\n\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/speech \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o speech.mp3\n",
            "label": "curl",
            "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 media-assets.json\n",
            "label": "List actual media assets",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_MEDIA_TASK_ID:?Set the actual ID returned by the response or media-library metadata}\"\nexport AILOOT_MEDIA_TASK_ID\nresource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ[\"AILOOT_MEDIA_TASK_ID\"],safe=\"\"))')\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/media/tasks/$resource_id\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o media-task.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(\"media-task.json\").read_text())))\nPY_RESULT\n",
            "label": "Read actual media task",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_ASSET_ID:?Set the actual ID returned by the response or media-library metadata}\"\nexport AILOOT_ASSET_ID\nresource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ[\"AILOOT_ASSET_ID\"],safe=\"\"))')\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/media/assets/$resource_id\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o media-asset.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(\"media-asset.json\").read_text())))\nPY_RESULT\n",
            "label": "Read actual asset metadata",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "speech",
        "hints": [
          "Select exact voice from this model profile.",
          "Input characters and audio seconds are different meters."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text"
        ],
        "label": "Озвучка текста",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "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,
          "unit_prices": {
            "audio_input_character": 3e-05
          }
        },
        "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": {
              "quantity_meter": "utf8.RuneCountInString(validUTF8): one Han codepoint=1; no Han weighting",
              "quoted_unit": "per 1000 input character"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.03000",
                "amount_unit": "usd_per_1000_characters",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_character",
                "label": "input character",
                "native_amount_usd_per_unit": "0.00003",
                "native_quantity": 1,
                "public_unit_label": "per 1000 input character",
                "quantity": "1000",
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_character"
              }
            ]
          },
          {
            "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": "openai/tts-1",
        "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.03000",
            "amount_unit": "usd_per_1000_characters",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_character",
            "label": "input character",
            "native_amount_usd_per_unit": "0.00003",
            "native_quantity": 1,
            "public_unit_label": "per 1000 input character",
            "quantity": "1000",
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_character"
          },
          {
            "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": "openai/tts-1",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "19ebd958172a8eba64d26b3e3a8f9d3469c4d6e4d69191bb89502f5554aa6310",
    "input_html_sha256": "90c2208ec2e6827ed3f29eaa1dadb1c33daecf3160e0c1fe42f8c344357795db",
    "private_audit_sha256": "5d298e57f9046a5204a9228b15211ce98c366849fec35d1a34118b5cab4c12fb",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/uz/openai-tts-1/",
    "description": "TTS-1 tayyor matnni tanlanadigan ovozlar, ijro tezligi va chiqish formatlari bilan aytilgan audioga aylantiradi. OpenAI bu nashrni pastroq kechikishli nutq yaratishga optimallashtirgan; u tezkor ovozli o‘qishlar, qisqa bayon va allaqachon yozilgan ssenariyni oqimli yetkazish uchun amaliy tanlovdir.",
    "locale": "uz",
    "md_url": "https://ailoot.ai/models/uz/openai-tts-1/index.md",
    "title": "tts-1 — Ailoot",
    "url": "https://ailoot.ai/models/uz/openai-tts-1/"
  },
  "rawModel": {
    "about": "TTS-1 — tezlikka optimallashtirilgan OpenAI matndan nutqqa modeli. U aytiladigan so‘zlarni qabul qilib, transkript yoki yozma javob o‘rniga audio yaratadi. Ishlab chiqaruvchi misollariga yozma maqolalarni o‘qish, bir nechta tilda nutq yaratish va kelayotgan audioni darhol ijro etish kiradi. TTS-1 TTS-1 HD ga nisbatan pastroq kechikishli tanlov, HD modeli esa chiqish sifatiga urg‘u beradi. Shuning uchun vazifa uchun tez ijro boshlanishi yoki yuqoriroq sifatli bayon profili muhimligini tanlash foydali qarordir.\n\nNutq yaratish jarayoni model, kirish matni va tanlangan ovozga asoslanadi. OpenAI ma’lumotnomasi matn kirishini 4096 belgi bilan cheklaydi; bu token kontekst oynasi emas, belgilar chegarasi. Sintezdan oldin haqiqiy ssenariyni tayyorlang: tinglovchi eshitishi kerak bo‘lgan gaplarni yozing, qisqartmalarni aniqlashtiring va nomlar, miqdorlar hamda sarlavhalar qanday aytilishini belgilang. Uzun maqolada butun hujjatni bitta nutq so‘rovi deb ko‘rmay, bo‘limlarni mustaqil tushunarli parchalarga ajrating.\n\nOpenAI ning TTS-1 uchun joriy modelga xos ovozlar ro‘yxati: alloy, ash, coral, echo, fable, onyx, nova, sage va shimmer. Bular tayyor ovozlar; har bir yangi nutq modelining to‘liq ovoz to‘plami emas. Ovozlar ingliz tili uchun optimallashtirilgan, ko‘p tilli nutq esa kirishni aytiladigan tilda berish orqali qo‘llab-quvvatlanadi. Ovozni yakuniy ssenariyga mos atamalar va sur’atga ega xos parcha orqali tanlang. Davomiylik muhim bo‘lganda o‘zaro bog‘liq kliplarda shu tanlovni bir xil saqlang.\n\nAudio bo‘laklarda oqimli uzatilishi mumkin; shu tariqa butun fayl yaratilishi tugamasidan ijro boshlanadi. Bu ikki tomonlama og‘zaki suhbat emas, matndan yaratilgan nutq oqimidir. Hujjatlashtirilgan chiqish formatlari MP3, Opus, AAC, FLAC, WAV va PCM; standart MP3. MP3 va AAC siqilgan audio beradi, Opus oqim va aloqa uchun mos, FLAC esa yo‘qotishsiz. WAV siqilgan audioni dekodlashni talab qilmaydi, xom PCM esa fayl sarlavhasisiz 24 kHz, 16-bit ishorali little-endian namunalarni o‘z ichiga oladi. Javob vaqti ustuvor bo‘lganda OpenAI WAV yoki PCM ni tavsiya qiladi.\n\nNutq ma’lumotnomasi 0.25 dan 4.0 gacha tezlik sozlamasini beradi; 1.0 standartdir. Tabiiy tildagi qo‘shimcha instructions maydoni TTS-1 bilan ishlamaydi, hodisa shaklidagi SSE chiqish ham bu modelda qo‘llab-quvvatlanmaydi. Uning hujjatlashtirilgan boshqaruvlari ssenariy, ovoz, tezlik va audio formatidir; yangi modellarning aksent, hissiyot yoki pichirlash boshqaruvlarini bu nashrga biriktirmaslik kerak. Klip tayyorlashda tushunarlilikka xizmat qiluvchi tezlikni tanlang, keyin ssenariydagi belgilar soni aniq davomiylikni belgilaydi deb taxmin qilmay, yaratilgan so‘zlar va pauzalarni tekshiring.\n\nTil qo‘llanmasi ingliz, rus, ukrain, fransuz, nemis, ispan, portugal, italyan, arab, xitoy, yapon, koreys, hind, qozoq va boshqa ko‘p tillarni o‘z ichiga oladi. Nutq berilgan matn tiliga ergashadi. Shuning uchun ko‘p tilli bayon topshirig‘i tarjima qilingan ssenariy va ko‘zlangan auditoriyadan boshlanadi; matndan nutqqa aylantirish tarjima yoki qayta yozish topshirig‘i emas, ovozga o‘tkazish bosqichidir. Amaliy e’londa aniq xabar va nomlarni tayyorlang. Ta’limiy bayonda o‘qiladigan so‘zlarda bo‘lim chegaralari va ta’riflarni ravshan qiling.\n\nTayyor artefakt qisqa ovozli ko‘rsatma, o‘qilgan parcha yoki kattaroq montaj uchun audio segment bo‘lishi mumkin. Haqiqiy chiqish orqali talaffuz, to‘liqlik, sur’at va tanlangan formatni tekshiring. Keyingi tuzatishlar ta’sirlangan parchaga yo‘naltirilishi uchun ssenariyni audio bilan birga saqlang. OpenAI ko‘rsatmasi tinglovchilarga ovoz AI yordamida yaratilganini aniq aytishni talab qiladi. Bu bildirish tinglash tajribasiga tegishli; TTS-1 ni inson ovozi yozuviga aylantirmaydi yoki modelga ovoz klonlash boshqaruvlarini qo‘shmaydi.",
    "alias_of": null,
    "aliases": [],
    "author": "Other",
    "available": null,
    "canonical_model": "openai/tts-1",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [],
      "manufacturer_output": []
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.03000",
            "amount_unit": "usd_per_1000_characters",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_character",
            "label": "input character",
            "native_amount_usd_per_unit": "0.00003",
            "native_quantity": 1,
            "public_unit_label": "per 1000 input character",
            "quantity": "1000",
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_character"
          },
          {
            "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,
    "entity_type": "model",
    "formats": [
      "speech"
    ],
    "id": "openai/tts-1",
    "input": [
      "text"
    ],
    "kind": "speech",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep the complete binary result and headers. If JSON/multiple outputs are returned, retain every data item and fetch each actual signed asset URL.",
            "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."
            },
            "material_combinations": [
              {
                "content_type": "application/json",
                "mode": "text_to_speech",
                "required": [
                  "input"
                ]
              }
            ],
            "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": [
              "text_to_speech"
            ],
            "outputs": {
              "all_results": "To‘liq ikkilik natija va sarlavhalarni saqlang. JSON yoki bir nechta natija qaytarilsa, har bir ma’lumot elementini saqlang va qaytarilgan har bir haqiqiy imzolangan resurs URL manzilidan faylni yuklab oling.",
              "family": "audio",
              "fields": [
                {
                  "description": null,
                  "name": "binary audio",
                  "type": "bytes"
                },
                {
                  "description": null,
                  "name": "response headers",
                  "type": "headers"
                }
              ],
              "format": "mp3"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "openai/tts-1"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum_length": 4096,
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string",
                "unit": "Unicode belgilari"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "alloy"
                ],
                "enum_known": true,
                "name": "voice",
                "required": true,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "response_format field; omit it",
              "other options"
            ]
          },
          "hints": [
            "Shu model profilidan aniq ovozni tanlang.",
            "Kirish belgilari va audio soniyalari — turli hisoblash birliklari."
          ],
          "input": {
            "content_type": "application/json",
            "input": "aynan UTF-8 matni; normallashtirmasdan Unicode belgilarini sanash",
            "material_types": [
              "text"
            ],
            "max_input_characters": 4096,
            "other_options": false,
            "required": [
              "model",
              "input",
              "voice"
            ],
            "voice_ids": [
              "alloy"
            ]
          },
          "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": "Retain original operation_id/X-Client-Request-ID for reconciliation without resubmission; no dedicated audio poll route."
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/audio/speech"
          },
          "method_aliases": [],
          "operation_modes": [
            "text_to_speech"
          ],
          "output": {
            "family": "audio",
            "format": "mp3",
            "http_success": 200,
            "response": "full binary MP3 plus response headers",
            "result": "complete playable owned MP3"
          }
        },
        "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": {
              "quantity_meter": "utf8.RuneCountInString(validUTF8): one Han codepoint=1; no Han weighting",
              "quoted_unit": "per 1000 input character"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.03000",
                "amount_unit": "usd_per_1000_characters",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_character",
                "label": "input character",
                "native_amount_usd_per_unit": "0.00003",
                "native_quantity": 1,
                "public_unit_label": "per 1000 input character",
                "quantity": "1000",
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_character"
              }
            ]
          },
          {
            "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}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"openai/tts-1\", \"input\": \"Good afternoon! This is a short voice take.\", \"voice\": \"alloy\"}')\n\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/speech \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o speech.mp3\n",
            "label": "curl",
            "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 media-assets.json\n",
            "label": "List actual media assets",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_MEDIA_TASK_ID:?Set the actual ID returned by the response or media-library metadata}\"\nexport AILOOT_MEDIA_TASK_ID\nresource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ[\"AILOOT_MEDIA_TASK_ID\"],safe=\"\"))')\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/media/tasks/$resource_id\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o media-task.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(\"media-task.json\").read_text())))\nPY_RESULT\n",
            "label": "Read actual media task",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_ASSET_ID:?Set the actual ID returned by the response or media-library metadata}\"\nexport AILOOT_ASSET_ID\nresource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ[\"AILOOT_ASSET_ID\"],safe=\"\"))')\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/media/assets/$resource_id\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o media-asset.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(\"media-asset.json\").read_text())))\nPY_RESULT\n",
            "label": "Read actual asset metadata",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "speech",
        "hints": [
          "Select exact voice from this model profile.",
          "Input characters and audio seconds are different meters."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text"
        ],
        "label": "Озвучка текста",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "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,
          "unit_prices": {
            "audio_input_character": 3e-05
          }
        },
        "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": {
              "quantity_meter": "utf8.RuneCountInString(validUTF8): one Han codepoint=1; no Han weighting",
              "quoted_unit": "per 1000 input character"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.03000",
                "amount_unit": "usd_per_1000_characters",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_character",
                "label": "input character",
                "native_amount_usd_per_unit": "0.00003",
                "native_quantity": 1,
                "public_unit_label": "per 1000 input character",
                "quantity": "1000",
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_character"
              }
            ]
          },
          {
            "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": "openai/tts-1",
        "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.03000",
            "amount_unit": "usd_per_1000_characters",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_character",
            "label": "input character",
            "native_amount_usd_per_unit": "0.00003",
            "native_quantity": 1,
            "public_unit_label": "per 1000 input character",
            "quantity": "1000",
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_character"
          },
          {
            "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": "openai/tts-1",
        "request_model_id": "openai/tts-1",
        "route_label": "Ultra"
      }
    ],
    "name": "tts-1",
    "price": {
      "in": null,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": true
    },
    "public_id": "openai/tts-1",
    "short": "TTS-1 tayyor matnni tanlanadigan ovozlar, ijro tezligi va chiqish formatlari bilan aytilgan audioga aylantiradi. OpenAI bu nashrni pastroq kechikishli nutq yaratishga optimallashtirgan; u tezkor ovozli o‘qishlar, qisqa bayon va allaqachon yozilgan ssenariyni oqimli yetkazish uchun amaliy tanlovdir."
  },
  "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": "TTS-1 tayyor matnni tanlanadigan ovozlar, ijro tezligi va chiqish formatlari bilan aytilgan audioga aylantiradi. OpenAI bu nashrni pastroq kechikishli nutq yaratishga optimallashtirgan; u tezkor ovozli o‘qishlar, qisqa bayon va allaqachon yozilgan ssenariyni oqimli yetkazish uchun amaliy tanlovdir.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "6644a584f6c219e05667bc5928b1d264b9b055b7d48ff6a16a385064d8b92183",
    "renderer_sha256": "aa8a0fca1bd770c042b64987512b6187fca2067aea3ddc877f68b163d80e7df6"
  },
  "sourceRevision": "d0b58ccd0b8a61b364ae28d72d9fdf1a8e6a8b1a09de1a353fae4506580779c2"
}
