{
  "aboutHtml": "<p>S2.1 Pro Free — Fish Audio S2.1 мәтінді сөйлеуге айналдыру моделінің әзірлеушілерге арналған нұсқасы. Оның негізіндегі модель мен негізгі синтез мүмкіндіктері S2.1 Pro нұсқасымен ортақ: мәнерлі көптілді сөйлеу, табиғи тілмен берілетін орындау нұсқаулары және бірнеше сөйлеушінің кірістірілген диалогы. Оның міндеті — тестілеу, прототип жасау, әзірлеу және шағын қолданба үдерістері.</p><p>Дауыстық көмекші прототипі үшін біртіндеп келетін мәтінді тексермес бұрын толық үлгі жауаптан бастап, оның қалай естілетінін бағалаңыз. Оқыту өнімі үшін тыңдаушыға қажет нақты терминдер мен сандардың айтылуы бар қысқа түсіндірме дайындаңыз. Диалог прототипінде орындау нұсқауларын қоспас бұрын сөйлеушілер мен олардың дауыс үлгілерін анықтаңыз. Осы қадамдар аудио артефакт пен оның айналасындағы қолданба үдерісін жасайды, синтез сұрауына бүкіл әңгімені жүргізу міндетін жүктемейді.</p><p>Айтылуы тиіс сөздерді жазып, оқылуы өзгеретін үзіндінің дәл алдына нұсқау қойыңыз. Тік жақшадағы нұсқаулар сыбырды, кідірісті, реакцияны, екпінді немесе еркін сөйлеу мәнерін білдіре алады. Сөйлем ішіндегі өзгерісті орындау қажет тұсқа орналастырыңыз және сипаттамалық нұсқаудан кейін міндетті түрде айтылатын мәтін беріңіз. Түсіндіру мәтініне арналған пайдалы тапсырма деректік мазмұнды тыңдаушыға қажет жылылықтан, қарқыннан немесе екпіннен бөлек көрсетеді.</p><p>Бір сөйлеуші үшін сақталған дауыс идентификаторын таңдаңыз немесе транскриптімен бірге үлгі жазба беріңіз. Өндірушінің сөйлеу нұсқаулығы дауысты бірден бейімдеу үшін таза 10–30 секундтық үлгіні ұсынады. Мәнері мен жазба сапасы сценарийге сай үлгіні таңдап, байланысты үзінділерде сол үлгіні сақтаңыз. Дауыс үлгісі сөйлеушінің үнін береді; мәтін мен оның ішіндегі нұсқаулар мазмұн мен орындалу мәнерін анықтайды.</p><p>Бірнеше сөйлеушінің кірістірілген синтезі дауыс идентификаторларының реттелген массивімен немесе бөлек үлгі топтарымен бірге &lt;|speaker:0|&gt; және &lt;|speaker:1|&gt; сияқты маркерлерді қолданады. Сөйлеушілердің сандық белгілерін осы ретпен сәйкестендіріңіз. Оқыту диалогында әр сөйлеушінің репликасын жазып, орындау нұсқауын тиісті сөйлеуші маркерінен кейін орналастырыңыз. Осылайша бір сұрауда диалог жасалады; бұл S1 нұсқасындағы бөлек бір сөйлеушілік үзінділерді кейін біріктіру үдерісінен өзгеше.</p><p>Өндіруші үдерісі MP3, WAV, өңделмеген PCM және Opus шығысын ұсынады, әдепкі пішім — MP3. MP3 үшін 64, 128 және 192 кбит/с қолдау бар; WAV пен PCM құжатталған 16 биттік моно үлгі пішімдерін, ал Opus 48 кГц жиілікті қолданады. Пішімді сақталатын дикторлық файлға, ағынмен ойнатуға немесе кейінгі аудио өңдеу тізбегіне қарай таңдаңыз. Толық сценарий мен дауыс таңдауын аудиомен бірге сақтаңыз: кейін бір жолды түзеткенде көзделген мәнер жоғалмайды.</p><p>Дыбыс деңгейін басқарумен бірге жылдамдықты 0,5–2,0 аралығында өзгертуге болады. Мәтінді қалыпқа келтіру ағылшын және қытай тілдеріндегі сандарды табиғи оқуға арналған толық сөздерге айналдырады. Шығыс дыбысының қаттылығын қалыпқа келтіру әдепкіде true және S2 отбасына қолданылады; дәл осы өріс S1 нұсқасына әсер етпеген. S1 нұсқасының repetition_penalty параметрі S2.1 Pro аудиосын өзгертпейді, сондықтан ескі баптауды осы модельдің пәрменді басқару құралы деп қарастырмаңыз. Нәтижені бұрынғы параметр арқылы бағалаудың орнына қайталанған дыбыстар мен сөздерді тікелей тексеріңіз.</p><p>Ұзын сценарийлер бөліктермен өңделеді. Құжатталған бөлік ұзындығының аралығы — 100–300, ал max_new_tokens бүкіл ұзақтыққа кепілдік емес, әр бөлікке арналған аудио токендер бюджеті. Алдыңғы бөлік бойынша бейімдеу дауыс контекстін келесіге жеткізе алады. Өндірушінің жеткізу үдерісі толық аудионы, кезекпен келетін аудио бөліктерін және сценарий біртіндеп түскендегі тікелей мәтін ағынын сипаттайды. Қолданбаға сай қабылдау тәсілін таңдап, келесі үзіндінің айтылуы мен мәнеріне жеткілікті сценарий контекстін сақтаңыз.</p><p>Пайдалы дайын нәтиже алу үшін түсіп қалған немесе қайталанған сөздерді, сандардың айтылуын, сөйлеуші ауысуын, кідірістерді және нұсқаулардың әсер күшін тыңдап тексеріңіз. Әртүрлі дауыс үлгілері бір нұсқауды әртүрлі күшпен орындауы мүмкін, сондықтан бір-біріне кедергі жасайтын тегтерді қоспай тұрып қарапайым бағытталған жолдан бастаңыз. Көптілді жұмыста сөйлеу моделінен мазмұн ойлап табуды не аударуды сұраудың орнына мақсатты тілдегі сценарийді беріңіз. Нақты түзету тапсырмаға сай шыққан бөліктерді сақтай отырып, сәйкессіздікке себеп болған жолды, нұсқауды немесе үлгіні өзгертеді.</p>",
  "aboutText": "S2.1 Pro Free — Fish Audio S2.1 мәтінді сөйлеуге айналдыру моделінің әзірлеушілерге арналған нұсқасы. Оның негізіндегі модель мен негізгі синтез мүмкіндіктері S2.1 Pro нұсқасымен ортақ: мәнерлі көптілді сөйлеу, табиғи тілмен берілетін орындау нұсқаулары және бірнеше сөйлеушінің кірістірілген диалогы. Оның міндеті — тестілеу, прототип жасау, әзірлеу және шағын қолданба үдерістері.\n\nДауыстық көмекші прототипі үшін біртіндеп келетін мәтінді тексермес бұрын толық үлгі жауаптан бастап, оның қалай естілетінін бағалаңыз. Оқыту өнімі үшін тыңдаушыға қажет нақты терминдер мен сандардың айтылуы бар қысқа түсіндірме дайындаңыз. Диалог прототипінде орындау нұсқауларын қоспас бұрын сөйлеушілер мен олардың дауыс үлгілерін анықтаңыз. Осы қадамдар аудио артефакт пен оның айналасындағы қолданба үдерісін жасайды, синтез сұрауына бүкіл әңгімені жүргізу міндетін жүктемейді.\n\nАйтылуы тиіс сөздерді жазып, оқылуы өзгеретін үзіндінің дәл алдына нұсқау қойыңыз. Тік жақшадағы нұсқаулар сыбырды, кідірісті, реакцияны, екпінді немесе еркін сөйлеу мәнерін білдіре алады. Сөйлем ішіндегі өзгерісті орындау қажет тұсқа орналастырыңыз және сипаттамалық нұсқаудан кейін міндетті түрде айтылатын мәтін беріңіз. Түсіндіру мәтініне арналған пайдалы тапсырма деректік мазмұнды тыңдаушыға қажет жылылықтан, қарқыннан немесе екпіннен бөлек көрсетеді.\n\nБір сөйлеуші үшін сақталған дауыс идентификаторын таңдаңыз немесе транскриптімен бірге үлгі жазба беріңіз. Өндірушінің сөйлеу нұсқаулығы дауысты бірден бейімдеу үшін таза 10–30 секундтық үлгіні ұсынады. Мәнері мен жазба сапасы сценарийге сай үлгіні таңдап, байланысты үзінділерде сол үлгіні сақтаңыз. Дауыс үлгісі сөйлеушінің үнін береді; мәтін мен оның ішіндегі нұсқаулар мазмұн мен орындалу мәнерін анықтайды.\n\nБірнеше сөйлеушінің кірістірілген синтезі дауыс идентификаторларының реттелген массивімен немесе бөлек үлгі топтарымен бірге <|speaker:0|> және <|speaker:1|> сияқты маркерлерді қолданады. Сөйлеушілердің сандық белгілерін осы ретпен сәйкестендіріңіз. Оқыту диалогында әр сөйлеушінің репликасын жазып, орындау нұсқауын тиісті сөйлеуші маркерінен кейін орналастырыңыз. Осылайша бір сұрауда диалог жасалады; бұл S1 нұсқасындағы бөлек бір сөйлеушілік үзінділерді кейін біріктіру үдерісінен өзгеше.\n\nӨндіруші үдерісі MP3, WAV, өңделмеген PCM және Opus шығысын ұсынады, әдепкі пішім — MP3. MP3 үшін 64, 128 және 192 кбит/с қолдау бар; WAV пен PCM құжатталған 16 биттік моно үлгі пішімдерін, ал Opus 48 кГц жиілікті қолданады. Пішімді сақталатын дикторлық файлға, ағынмен ойнатуға немесе кейінгі аудио өңдеу тізбегіне қарай таңдаңыз. Толық сценарий мен дауыс таңдауын аудиомен бірге сақтаңыз: кейін бір жолды түзеткенде көзделген мәнер жоғалмайды.\n\nДыбыс деңгейін басқарумен бірге жылдамдықты 0,5–2,0 аралығында өзгертуге болады. Мәтінді қалыпқа келтіру ағылшын және қытай тілдеріндегі сандарды табиғи оқуға арналған толық сөздерге айналдырады. Шығыс дыбысының қаттылығын қалыпқа келтіру әдепкіде true және S2 отбасына қолданылады; дәл осы өріс S1 нұсқасына әсер етпеген. S1 нұсқасының repetition_penalty параметрі S2.1 Pro аудиосын өзгертпейді, сондықтан ескі баптауды осы модельдің пәрменді басқару құралы деп қарастырмаңыз. Нәтижені бұрынғы параметр арқылы бағалаудың орнына қайталанған дыбыстар мен сөздерді тікелей тексеріңіз.\n\nҰзын сценарийлер бөліктермен өңделеді. Құжатталған бөлік ұзындығының аралығы — 100–300, ал max_new_tokens бүкіл ұзақтыққа кепілдік емес, әр бөлікке арналған аудио токендер бюджеті. Алдыңғы бөлік бойынша бейімдеу дауыс контекстін келесіге жеткізе алады. Өндірушінің жеткізу үдерісі толық аудионы, кезекпен келетін аудио бөліктерін және сценарий біртіндеп түскендегі тікелей мәтін ағынын сипаттайды. Қолданбаға сай қабылдау тәсілін таңдап, келесі үзіндінің айтылуы мен мәнеріне жеткілікті сценарий контекстін сақтаңыз.\n\nПайдалы дайын нәтиже алу үшін түсіп қалған немесе қайталанған сөздерді, сандардың айтылуын, сөйлеуші ауысуын, кідірістерді және нұсқаулардың әсер күшін тыңдап тексеріңіз. Әртүрлі дауыс үлгілері бір нұсқауды әртүрлі күшпен орындауы мүмкін, сондықтан бір-біріне кедергі жасайтын тегтерді қоспай тұрып қарапайым бағытталған жолдан бастаңыз. Көптілді жұмыста сөйлеу моделінен мазмұн ойлап табуды не аударуды сұраудың орнына мақсатты тілдегі сценарийді беріңіз. Нақты түзету тапсырмаға сай шыққан бөліктерді сақтай отырып, сәйкессіздікке себеп болған жолды, нұсқауды немесе үлгіні өзгертеді.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "9ba5bc3f6db2930ed58773dd4e23d3988b0567b9a3a88b850b63596c3a89020f",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "kk",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">Fish Audio: S2.1 Pro Free (free)</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Жабу\">×</button></div><div class=\"idline\"><span>Fish Audio /</span><code>fish-audio/s2.1-pro-free:free</code><button type=\"button\" id=\"copy-id\">ID көшіру</button></div><nav class=\"card-jump-nav\" aria-label=\"Модель карточкасының бөлімдері\"><button type=\"button\" data-card-jump=\"overview\">Бастау</button><button type=\"button\" data-card-jump=\"methods\">Кіріс деректері мен әдістер</button><button type=\"button\" data-card-jump=\"pricing\">Тарифтер</button><button type=\"button\" data-card-jump=\"examples\">Мысалдар</button><button type=\"button\" data-card-jump=\"results\">Нәтижелер</button><button type=\"button\" data-card-jump=\"aliases\">Балама атаулар</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"API әдістері\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|speech|/v1/audio/speech|fish-audio%2Fs2.1-pro-free%3Afree\">Дыбыстау</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\">Бастау</h3><p class=\"mdesc-full\">S2.1 Pro Free — дикторлық оқуға, нұсқаумен басқарылатын дауыстық шығысқа және бірнеше сөйлеуші диалогына арналған Fish Audio S2.1 сөйлеу моделінің әзірлеу нұсқасы. Ол тестілеу мен прототип жасау үшін модельдің синтез мүмкіндіктерін ұсынады.</p><dl class=\"card-io\" data-card-io><div><dt>Қабылданатын кіріс деректері</dt><dd>Мәтін</dd></div><div><dt>Нәтижелер</dt><dd>Аудио</dd></div></dl><details class=\"card-about\"><summary>Модель туралы</summary><p class=\"note-s\" data-model-method-boundary>Бұл сипаттама модель мүмкіндіктерін қамтиды. Ailoot жүйесінде таңдалған әдіс үшін қолжетімді кіріс, шығыс және параметрлер төменде берілген.</p><div class=\"mabout\" id=\"m-about\"><p>S2.1 Pro Free — Fish Audio S2.1 мәтінді сөйлеуге айналдыру моделінің әзірлеушілерге арналған нұсқасы. Оның негізіндегі модель мен негізгі синтез мүмкіндіктері S2.1 Pro нұсқасымен ортақ: мәнерлі көптілді сөйлеу, табиғи тілмен берілетін орындау нұсқаулары және бірнеше сөйлеушінің кірістірілген диалогы. Оның міндеті — тестілеу, прототип жасау, әзірлеу және шағын қолданба үдерістері.</p><p>Дауыстық көмекші прототипі үшін біртіндеп келетін мәтінді тексермес бұрын толық үлгі жауаптан бастап, оның қалай естілетінін бағалаңыз. Оқыту өнімі үшін тыңдаушыға қажет нақты терминдер мен сандардың айтылуы бар қысқа түсіндірме дайындаңыз. Диалог прототипінде орындау нұсқауларын қоспас бұрын сөйлеушілер мен олардың дауыс үлгілерін анықтаңыз. Осы қадамдар аудио артефакт пен оның айналасындағы қолданба үдерісін жасайды, синтез сұрауына бүкіл әңгімені жүргізу міндетін жүктемейді.</p><p>Айтылуы тиіс сөздерді жазып, оқылуы өзгеретін үзіндінің дәл алдына нұсқау қойыңыз. Тік жақшадағы нұсқаулар сыбырды, кідірісті, реакцияны, екпінді немесе еркін сөйлеу мәнерін білдіре алады. Сөйлем ішіндегі өзгерісті орындау қажет тұсқа орналастырыңыз және сипаттамалық нұсқаудан кейін міндетті түрде айтылатын мәтін беріңіз. Түсіндіру мәтініне арналған пайдалы тапсырма деректік мазмұнды тыңдаушыға қажет жылылықтан, қарқыннан немесе екпіннен бөлек көрсетеді.</p><p>Бір сөйлеуші үшін сақталған дауыс идентификаторын таңдаңыз немесе транскриптімен бірге үлгі жазба беріңіз. Өндірушінің сөйлеу нұсқаулығы дауысты бірден бейімдеу үшін таза 10–30 секундтық үлгіні ұсынады. Мәнері мен жазба сапасы сценарийге сай үлгіні таңдап, байланысты үзінділерде сол үлгіні сақтаңыз. Дауыс үлгісі сөйлеушінің үнін береді; мәтін мен оның ішіндегі нұсқаулар мазмұн мен орындалу мәнерін анықтайды.</p><p>Бірнеше сөйлеушінің кірістірілген синтезі дауыс идентификаторларының реттелген массивімен немесе бөлек үлгі топтарымен бірге &lt;|speaker:0|&gt; және &lt;|speaker:1|&gt; сияқты маркерлерді қолданады. Сөйлеушілердің сандық белгілерін осы ретпен сәйкестендіріңіз. Оқыту диалогында әр сөйлеушінің репликасын жазып, орындау нұсқауын тиісті сөйлеуші маркерінен кейін орналастырыңыз. Осылайша бір сұрауда диалог жасалады; бұл S1 нұсқасындағы бөлек бір сөйлеушілік үзінділерді кейін біріктіру үдерісінен өзгеше.</p><p>Өндіруші үдерісі MP3, WAV, өңделмеген PCM және Opus шығысын ұсынады, әдепкі пішім — MP3. MP3 үшін 64, 128 және 192 кбит/с қолдау бар; WAV пен PCM құжатталған 16 биттік моно үлгі пішімдерін, ал Opus 48 кГц жиілікті қолданады. Пішімді сақталатын дикторлық файлға, ағынмен ойнатуға немесе кейінгі аудио өңдеу тізбегіне қарай таңдаңыз. Толық сценарий мен дауыс таңдауын аудиомен бірге сақтаңыз: кейін бір жолды түзеткенде көзделген мәнер жоғалмайды.</p><p>Дыбыс деңгейін басқарумен бірге жылдамдықты 0,5–2,0 аралығында өзгертуге болады. Мәтінді қалыпқа келтіру ағылшын және қытай тілдеріндегі сандарды табиғи оқуға арналған толық сөздерге айналдырады. Шығыс дыбысының қаттылығын қалыпқа келтіру әдепкіде true және S2 отбасына қолданылады; дәл осы өріс S1 нұсқасына әсер етпеген. S1 нұсқасының repetition_penalty параметрі S2.1 Pro аудиосын өзгертпейді, сондықтан ескі баптауды осы модельдің пәрменді басқару құралы деп қарастырмаңыз. Нәтижені бұрынғы параметр арқылы бағалаудың орнына қайталанған дыбыстар мен сөздерді тікелей тексеріңіз.</p><p>Ұзын сценарийлер бөліктермен өңделеді. Құжатталған бөлік ұзындығының аралығы — 100–300, ал max_new_tokens бүкіл ұзақтыққа кепілдік емес, әр бөлікке арналған аудио токендер бюджеті. Алдыңғы бөлік бойынша бейімдеу дауыс контекстін келесіге жеткізе алады. Өндірушінің жеткізу үдерісі толық аудионы, кезекпен келетін аудио бөліктерін және сценарий біртіндеп түскендегі тікелей мәтін ағынын сипаттайды. Қолданбаға сай қабылдау тәсілін таңдап, келесі үзіндінің айтылуы мен мәнеріне жеткілікті сценарий контекстін сақтаңыз.</p><p>Пайдалы дайын нәтиже алу үшін түсіп қалған немесе қайталанған сөздерді, сандардың айтылуын, сөйлеуші ауысуын, кідірістерді және нұсқаулардың әсер күшін тыңдап тексеріңіз. Әртүрлі дауыс үлгілері бір нұсқауды әртүрлі күшпен орындауы мүмкін, сондықтан бір-біріне кедергі жасайтын тегтерді қоспай тұрып қарапайым бағытталған жолдан бастаңыз. Көптілді жұмыста сөйлеу моделінен мазмұн ойлап табуды не аударуды сұраудың орнына мақсатты тілдегі сценарийді беріңіз. Нақты түзету тапсырмаға сай шыққан бөліктерді сақтай отырып, сәйкессіздікке себеп болған жолды, нұсқауды немесе үлгіні өзгертеді.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Ailoot жүйесінде қолжетімді · кіріс деректері мен әдістер</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Сөйлеу</b> <code>POST /v1/audio/speech</code></summary><dl class=\"method-capabilities\"><div><dt>Кіріс</dt><dd><code>text</code></dd></div><div><dt>Шығыс</dt><dd><code>audio</code></dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Өріс</th><th>Түрі</th><th>Талап</th><th>Мәндер мен шектеулер</th><th>Әдепкі</th></tr></thead><tbody><tr><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span><code>string</code></td><td data-cell-label=\"Талап\"><span class=\"card-cell-label\">Талап</span>Міндетті</td><td data-cell-label=\"Мәндер мен шектеулер\"><span class=\"card-cell-label\">Мәндер мен шектеулер</span><div>fish-audio/s2.1-pro-free:free</div></td><td data-cell-label=\"Әдепкі\" data-default=\"unspecified\"><span class=\"card-cell-label\">Әдепкі</span>—</td></tr><tr><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">input</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span><code>string</code></td><td data-cell-label=\"Талап\"><span class=\"card-cell-label\">Талап</span>Міндетті</td><td data-cell-label=\"Мәндер мен шектеулер\"><span class=\"card-cell-label\">Мәндер мен шектеулер</span><div>Ең аз ұзындық: 1</div></td><td data-cell-label=\"Әдепкі\" data-default=\"unspecified\"><span class=\"card-cell-label\">Әдепкі</span>—</td></tr><tr><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">voice</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span><code>string</code></td><td data-cell-label=\"Талап\"><span class=\"card-cell-label\">Талап</span>Міндетті</td><td data-cell-label=\"Мәндер мен шектеулер\"><span class=\"card-cell-label\">Мәндер мен шектеулер</span><div>b347db033a6549378b48d00acb0d06cd</div><div>Ең аз ұзындық: 1</div></td><td data-cell-label=\"Әдепкі\" data-default=\"unspecified\"><span class=\"card-cell-label\">Әдепкі</span>—</td></tr><tr><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">response_format</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span><code>string</code></td><td data-cell-label=\"Талап\"><span class=\"card-cell-label\">Талап</span>Міндетті емес</td><td data-cell-label=\"Мәндер мен шектеулер\"><span class=\"card-cell-label\">Мәндер мен шектеулер</span><div>mp3, pcm</div></td><td data-cell-label=\"Әдепкі\" data-default=\"known\"><span class=\"card-cell-label\">Әдепкі</span>pcm</td></tr><tr><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">provider</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span><code>object</code></td><td data-cell-label=\"Талап\"><span class=\"card-cell-label\">Талап</span>Міндетті емес</td><td data-cell-label=\"Мәндер мен шектеулер\"><span class=\"card-cell-label\">Мәндер мен шектеулер</span></td><td data-cell-label=\"Әдепкі\" data-default=\"unspecified\"><span class=\"card-cell-label\">Әдепкі</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>Әдіс параметрлері мен өмірлік циклі</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Параметр</th><th>Параметр талаптары</th></tr></thead><tbody><tr><th data-cell-label=\"Параметр\" scope=\"row\"><span class=\"card-cell-label\">Параметр</span><code>content_type</code></th><td data-cell-label=\"Параметр талаптары\"><span class=\"card-cell-label\">Параметр талаптары</span>application/json</td></tr><tr><th data-cell-label=\"Параметр\" scope=\"row\"><span class=\"card-cell-label\">Параметр</span><code>required</code></th><td data-cell-label=\"Параметр талаптары\"><span class=\"card-cell-label\">Параметр талаптары</span>model, input, voice</td></tr><tr><th data-cell-label=\"Параметр\" scope=\"row\"><span class=\"card-cell-label\">Параметр</span><code>material_types</code></th><td data-cell-label=\"Параметр талаптары\"><span class=\"card-cell-label\">Параметр талаптары</span>text</td></tr></tbody></table></div><p>Өмірлік цикл: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · Нақты қайтарылған task_id немесе медиатека жазбасы</p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}/content</code></p><p class=\"note-s\"><code>GET /v1/media/assets</code></p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Тарифтер</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Тариф анықтамасы сұрау мүмкіндіктерін қоспайды. Қолдау көрсетілетін параметрлер таңдалған әдісте берілген.</p><dl data-price-conditions><dt>Жылдам режим</dt><dd>Көрсетілмеген <span class=\"note-s\">Жылдам режим таңдалғанда</span></dd><dt>Икемді режим</dt><dd>Көрсетілмеген <span class=\"note-s\">flex режимі таңдалғанда</span></dd><dt>Ой қорытудың ең жоғары деңгейі</dt><dd>Көрсетілмеген <span class=\"note-s\">Ой қорыту деңгейі ең жоғары болып, default түзетуі қолданылғанда</span></dd></dl></div><div data-declared-tariff-pricing><h4>Ailoot мөлшерлемелері</h4><h4>Баптаулар бойынша бағалар</h4><p class=\"note-s\">Әр төлемді көрсетілген шарттармен салыстырыңыз. Балама баптаулардың әр жиыны үшін бір мөлшерлемені қолданыңыз.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Баптау</th><th>Мөлшерлемелер кестесі</th><th>Есептелетін мөлшер</th><th>Төлем</th></tr></thead><tbody><tr><th data-cell-label=\"Баптау\" scope=\"row\"><span class=\"card-cell-label\">Баптау</span>Токендердің базалық тарифтері</th><td data-cell-label=\"Мөлшерлемелер кестесі\"><span class=\"card-cell-label\">Мөлшерлемелер кестесі</span>Негізгі мөлшерлеме</td><td data-cell-label=\"Есептелетін мөлшер\"><span class=\"card-cell-label\">Есептелетін мөлшер</span>—</td><td data-cell-label=\"Төлем\"><span class=\"card-cell-label\">Төлем</span><div><span>Кіріс · Кіріс токендері</span> <b>—</b> <span class=\"price-unit\">/ 1K токен</span></div><div><span>Шығыс · Шығыс токендері</span> <b>—</b> <span class=\"price-unit\">/ 1K токен</span></div><div><span>Кіріс · Кэшті оқу</span> <b>—</b> <span class=\"price-unit\">/ 1K токен</span></div><div><span>Кіріс · Кэшке жазу</span> <b>—</b> <span class=\"price-unit\">/ 1K токен</span></div><div><span>Кіріс · Кэшке жазу, 1 сағ</span> <b>—</b> <span class=\"price-unit\">/ 1K токен</span></div></td></tr><tr><th data-cell-label=\"Баптау\" scope=\"row\"><span class=\"card-cell-label\">Баптау</span>Әр сұрауға</th><td data-cell-label=\"Мөлшерлемелер кестесі\"><span class=\"card-cell-label\">Мөлшерлемелер кестесі</span>—</td><td data-cell-label=\"Есептелетін мөлшер\"><span class=\"card-cell-label\">Есептелетін мөлшер</span>бір сұрау</td><td data-cell-label=\"Төлем\"><span class=\"card-cell-label\">Төлем</span><div><span>Кіріс</span> <b>$0</b> <span class=\"price-unit\">әр сұрау үшін</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot сұрау алдында болжамды соманы резервтейді. Нәтижеден кейін өлшенген пайдалану көлемі бойынша қорытынды төлемді шегереді. Ағындық жауап үшін төлем соңғы пайдалану жазбасы негізінде шегеріледі. <a href=\"/docs/kk/billing/reserve/\">Резервтеу мен төлемді есептеу тәртібі →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Сұрау мысалдары</h3><h4>Ailoot Ultra · Сөйлеу</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Код нұсқалары\"><button class=\"cg-tab\" id=\"model-code-1359-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1359-panel-0\" aria-selected=\"true\" tabindex=\"0\">Нақты кіріс деректерін қолданып, нәтижені толық сақтаңыз</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Кодты көшіру\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-1359-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1359-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_INPUT_TEXT:?Set the actual documented input value}&quot;\nexport AILOOT_INPUT_TEXT\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\nrequest={&#39;model&#39;: &#39;fish-audio/s2.1-pro-free:free&#39;, &#39;input&#39;: &#39;${ACTUAL_INPUT_TEXT}&#39;, &#39;voice&#39;: &#39;b347db033a6549378b48d00acb0d06cd&#39;, &#39;response_format&#39;: &#39;mp3&#39;}\nrequest[&#39;input&#39;]=os.environ[&#39;AILOOT_INPUT_TEXT&#39;]\nPath(&#39;request.json&#39;).write_text(json.dumps(request,ensure_ascii=False),encoding=&#39;utf-8&#39;)\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Нәтижелерді алу және сақтау</h3><h4>Ailoot Ultra · Сөйлеу</h4><p class=\"note-s\">Толық бинарлық аудио немесе бастапқы audio_url жауабы, тақырыптар және иелігіңіздегі әрбір ресурс.</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>Басқа мазмұнды оқу</summary><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Код нұсқалары\"><button class=\"cg-tab\" id=\"model-code-1360-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1360-panel-0\" aria-selected=\"true\" tabindex=\"0\">Өзіңізге тиесілі қолда бар материалдарды оқу</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Кодты көшіру\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-1360-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1360-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n</code></pre></div></div></div></details><div class=\"card-result-process\" data-all-results><h5>Барлық дайын нәтижені сақтау</h5><p class=\"note-s\">Қайтарылған әр толық жауапты, файлды және мазмұн бөлігін сақтаңыз.</p><p class=\"note-s\">Толық жауапты және тақырыптарды, алынған әрбір нәтижені, бастапқыда қайтарылған идентификаторларды және пайдалану туралы барлық өрістерді сақтаңыз. Жасау сұрауын қайта жібермей, бастапқы операцияны қалпына келтіріңіз.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Бастапқы жауапты тексеру қажет болса</h5><p class=\"note-s\">Есептерді салыстырып тексеру үшін қайтарылған X-Client-Request-ID мәнін сақтаңыз. Тек нақты қайтарылған task_id/asset_id мәндері арқылы немесе өзіңізге тиесілі медиатекадан оқыңыз; операция ID мәнінен тапсырманың URL мекенжайын ешқашан құрастырмаңыз және жасау сұрауын ешқашан қайта жібермеңіз.</p></div></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Балама атаулар</h3><h4>Модельдердің балама атаулары</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=fish-audio%2Fs2.1-pro-free%3Afree&amp;route=Ultra&amp;caller=fish-audio%2Fs2.1-pro-free%3Afree&amp;fmt=speech\"><code>fish-audio/s2.1-pro-free:free</code></a></span></p><h4>Әдіс жолдарының балама атаулары</h4><p class=\"note-s\">Жоғарыда көрсетілген әдіс жолдарын пайдаланыңыз.</p><h4>Шақыруға арналған байланысты ID</h4><p class=\"note-s\"><a href=\"#m=fish-audio%2Fs2.1-pro-free%3Afree&amp;route=Ultra&amp;caller=fish-audio%2Fs2.1-pro-free%3Afree&amp;fmt=speech\"><code>fish-audio/s2.1-pro-free:free</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "fish-audio/s2.1-pro-free:free",
        "fmt": "speech",
        "http": "POST",
        "path": "/v1/audio/speech",
        "request_model_id": "fish-audio/s2.1-pro-free:free",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|speech|/v1/audio/speech|fish-audio%2Fs2.1-pro-free%3Afree",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Есептерді салыстырып тексеру үшін қайтарылған X-Client-Request-ID мәнін сақтаңыз. Тек нақты қайтарылған task_id/asset_id мәндері арқылы немесе өзіңізге тиесілі медиатекадан оқыңыз; операция ID мәнінен тапсырманың URL мекенжайын ешқашан құрастырмаңыз және жасау сұрауын ешқашан қайта жібермеңіз."
            },
            "outputs": {
              "all_results": "Толық жауапты және тақырыптарды, алынған әрбір нәтижені, бастапқыда қайтарылған идентификаторларды және пайдалану туралы барлық өрістерді сақтаңыз. Жасау сұрауын қайта жібермей, бастапқы операцияны қалпына келтіріңіз.",
              "family": "audio",
              "formats": [
                "mp3",
                "pcm"
              ],
              "result": "Толық бинарлық аудио немесе бастапқы audio_url жауабы, тақырыптар және иелігіңіздегі әрбір ресурс."
            },
            "parameters": [
              {
                "enum": [
                  "fish-audio/s2.1-pro-free:free"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  "b347db033a6549378b48d00acb0d06cd"
                ],
                "enum_known": true,
                "min_length": 1,
                "name": "voice",
                "required": true,
                "type": "string"
              },
              {
                "default": "pcm",
                "default_known": true,
                "enum": [
                  "mp3",
                  "pcm"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              },
              {
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input": {
                  "minLength": 1,
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "fish-audio/s2.1-pro-free:free"
                  ],
                  "type": "string"
                },
                "provider": {
                  "description": "Documented speech data policy and provider-specific options.",
                  "properties": {
                    "data_collection": {
                      "enum": [
                        "allow",
                        "deny",
                        null
                      ],
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "options": {
                      "type": "object"
                    },
                    "zdr": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    }
                  },
                  "type": "object"
                },
                "response_format": {
                  "default": "pcm",
                  "enum": [
                    "mp3",
                    "pcm"
                  ],
                  "type": "string"
                },
                "voice": {
                  "enum": [
                    "b347db033a6549378b48d00acb0d06cd"
                  ],
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input",
                "voice"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input": "${ACTUAL_INPUT_TEXT}",
                "model": "fish-audio/s2.1-pro-free:free",
                "response_format": "mp3",
                "voice": "b347db033a6549378b48d00acb0d06cd"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "required": [
              "model",
              "input",
              "voice"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "Нақты қайтарылған task_id немесе медиатека жазбасы",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Keep the returned X-Client-Request-ID for reconciliation. Read only actual returned task_id/asset_id values or the owned media library; never build a task URL from the operation ID and never resubmit creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/speech"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "audio",
            "formats": [
              "mp3",
              "pcm"
            ],
            "result": "Complete binary audio or original audio_url response, headers and every owned asset."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "billing_quantity": "one request"
            },
            "label": "Per request",
            "units": [
              {
                "amount": "0",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "per_request",
                "label": "per request",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "public_unit_label": "per request",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "per_request"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_INPUT_TEXT:?Set the actual documented input value}\"\nexport AILOOT_INPUT_TEXT\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nrequest={'model': 'fish-audio/s2.1-pro-free:free', 'input': '${ACTUAL_INPUT_TEXT}', 'voice': 'b347db033a6549378b48d00acb0d06cd', 'response_format': 'mp3'}\nrequest['input']=os.environ['AILOOT_INPUT_TEXT']\nPath('request.json').write_text(json.dumps(request,ensure_ascii=False),encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\n",
            "label": "Use actual input and retain the complete result",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n",
            "label": "Read existing owned assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "speech",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text"
        ],
        "label": "Сөйлеу",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_speech",
        "out": null,
        "output": [
          "audio"
        ],
        "path": "/v1/audio/speech",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": 0
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "billing_quantity": "one request"
            },
            "label": "Per request",
            "units": [
              {
                "amount": "0",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "per_request",
                "label": "per request",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "public_unit_label": "per request",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "per_request"
              }
            ]
          }
        ],
        "request_model_id": "fish-audio/s2.1-pro-free:free",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "per_request",
            "label": "per request",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "public_unit_label": "per request",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "per_request"
          }
        ]
      }
    }
  ],
  "model_id": "fish-audio/s2.1-pro-free:free",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "e4d5a3ad7a981143b47ded5b6dd6446429e06e21d11d4a3e9ad19dd4ff7d46e0",
    "input_html_sha256": "8e29c3ec8a6fa9f8f8c176e8616745206d9273f9600382fcd5c93c929a8856d3",
    "private_audit_sha256": "517bf4f13890682975766caa7369ee28267d4b092c5f59dd8a34c4a4d70a3365",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/kk/fish-audio-s2-1-pro-free-u003a-free/",
    "description": "S2.1 Pro Free — дикторлық оқуға, нұсқаумен басқарылатын дауыстық шығысқа және бірнеше сөйлеуші диалогына арналған Fish Audio S2.1 сөйлеу моделінің әзірлеу нұсқасы. Ол тестілеу мен прототип жасау үшін модельдің синтез мүмкіндіктерін ұсынады.",
    "locale": "kk",
    "md_url": "https://ailoot.ai/models/kk/fish-audio-s2-1-pro-free-u003a-free/index.md",
    "title": "Fish Audio: S2.1 Pro Free (free) — Ailoot",
    "url": "https://ailoot.ai/models/kk/fish-audio-s2-1-pro-free-u003a-free/"
  },
  "rawModel": {
    "about": "S2.1 Pro Free — Fish Audio S2.1 мәтінді сөйлеуге айналдыру моделінің әзірлеушілерге арналған нұсқасы. Оның негізіндегі модель мен негізгі синтез мүмкіндіктері S2.1 Pro нұсқасымен ортақ: мәнерлі көптілді сөйлеу, табиғи тілмен берілетін орындау нұсқаулары және бірнеше сөйлеушінің кірістірілген диалогы. Оның міндеті — тестілеу, прототип жасау, әзірлеу және шағын қолданба үдерістері.\n\nДауыстық көмекші прототипі үшін біртіндеп келетін мәтінді тексермес бұрын толық үлгі жауаптан бастап, оның қалай естілетінін бағалаңыз. Оқыту өнімі үшін тыңдаушыға қажет нақты терминдер мен сандардың айтылуы бар қысқа түсіндірме дайындаңыз. Диалог прототипінде орындау нұсқауларын қоспас бұрын сөйлеушілер мен олардың дауыс үлгілерін анықтаңыз. Осы қадамдар аудио артефакт пен оның айналасындағы қолданба үдерісін жасайды, синтез сұрауына бүкіл әңгімені жүргізу міндетін жүктемейді.\n\nАйтылуы тиіс сөздерді жазып, оқылуы өзгеретін үзіндінің дәл алдына нұсқау қойыңыз. Тік жақшадағы нұсқаулар сыбырды, кідірісті, реакцияны, екпінді немесе еркін сөйлеу мәнерін білдіре алады. Сөйлем ішіндегі өзгерісті орындау қажет тұсқа орналастырыңыз және сипаттамалық нұсқаудан кейін міндетті түрде айтылатын мәтін беріңіз. Түсіндіру мәтініне арналған пайдалы тапсырма деректік мазмұнды тыңдаушыға қажет жылылықтан, қарқыннан немесе екпіннен бөлек көрсетеді.\n\nБір сөйлеуші үшін сақталған дауыс идентификаторын таңдаңыз немесе транскриптімен бірге үлгі жазба беріңіз. Өндірушінің сөйлеу нұсқаулығы дауысты бірден бейімдеу үшін таза 10–30 секундтық үлгіні ұсынады. Мәнері мен жазба сапасы сценарийге сай үлгіні таңдап, байланысты үзінділерде сол үлгіні сақтаңыз. Дауыс үлгісі сөйлеушінің үнін береді; мәтін мен оның ішіндегі нұсқаулар мазмұн мен орындалу мәнерін анықтайды.\n\nБірнеше сөйлеушінің кірістірілген синтезі дауыс идентификаторларының реттелген массивімен немесе бөлек үлгі топтарымен бірге <|speaker:0|> және <|speaker:1|> сияқты маркерлерді қолданады. Сөйлеушілердің сандық белгілерін осы ретпен сәйкестендіріңіз. Оқыту диалогында әр сөйлеушінің репликасын жазып, орындау нұсқауын тиісті сөйлеуші маркерінен кейін орналастырыңыз. Осылайша бір сұрауда диалог жасалады; бұл S1 нұсқасындағы бөлек бір сөйлеушілік үзінділерді кейін біріктіру үдерісінен өзгеше.\n\nӨндіруші үдерісі MP3, WAV, өңделмеген PCM және Opus шығысын ұсынады, әдепкі пішім — MP3. MP3 үшін 64, 128 және 192 кбит/с қолдау бар; WAV пен PCM құжатталған 16 биттік моно үлгі пішімдерін, ал Opus 48 кГц жиілікті қолданады. Пішімді сақталатын дикторлық файлға, ағынмен ойнатуға немесе кейінгі аудио өңдеу тізбегіне қарай таңдаңыз. Толық сценарий мен дауыс таңдауын аудиомен бірге сақтаңыз: кейін бір жолды түзеткенде көзделген мәнер жоғалмайды.\n\nДыбыс деңгейін басқарумен бірге жылдамдықты 0,5–2,0 аралығында өзгертуге болады. Мәтінді қалыпқа келтіру ағылшын және қытай тілдеріндегі сандарды табиғи оқуға арналған толық сөздерге айналдырады. Шығыс дыбысының қаттылығын қалыпқа келтіру әдепкіде true және S2 отбасына қолданылады; дәл осы өріс S1 нұсқасына әсер етпеген. S1 нұсқасының repetition_penalty параметрі S2.1 Pro аудиосын өзгертпейді, сондықтан ескі баптауды осы модельдің пәрменді басқару құралы деп қарастырмаңыз. Нәтижені бұрынғы параметр арқылы бағалаудың орнына қайталанған дыбыстар мен сөздерді тікелей тексеріңіз.\n\nҰзын сценарийлер бөліктермен өңделеді. Құжатталған бөлік ұзындығының аралығы — 100–300, ал max_new_tokens бүкіл ұзақтыққа кепілдік емес, әр бөлікке арналған аудио токендер бюджеті. Алдыңғы бөлік бойынша бейімдеу дауыс контекстін келесіге жеткізе алады. Өндірушінің жеткізу үдерісі толық аудионы, кезекпен келетін аудио бөліктерін және сценарий біртіндеп түскендегі тікелей мәтін ағынын сипаттайды. Қолданбаға сай қабылдау тәсілін таңдап, келесі үзіндінің айтылуы мен мәнеріне жеткілікті сценарий контекстін сақтаңыз.\n\nПайдалы дайын нәтиже алу үшін түсіп қалған немесе қайталанған сөздерді, сандардың айтылуын, сөйлеуші ауысуын, кідірістерді және нұсқаулардың әсер күшін тыңдап тексеріңіз. Әртүрлі дауыс үлгілері бір нұсқауды әртүрлі күшпен орындауы мүмкін, сондықтан бір-біріне кедергі жасайтын тегтерді қоспай тұрып қарапайым бағытталған жолдан бастаңыз. Көптілді жұмыста сөйлеу моделінен мазмұн ойлап табуды не аударуды сұраудың орнына мақсатты тілдегі сценарийді беріңіз. Нақты түзету тапсырмаға сай шыққан бөліктерді сақтай отырып, сәйкессіздікке себеп болған жолды, нұсқауды немесе үлгіні өзгертеді.",
    "alias_of": null,
    "aliases": [],
    "author": "Fish Audio",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "text"
      ],
      "manufacturer_output": [
        "speech"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "per_request",
            "label": "per request",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "public_unit_label": "per request",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "per_request"
          }
        ],
        "summary": "Конфигурация бағалары туралы толық ақпарат — егжей-тегжейлі мәліметтерде."
      }
    ],
    "ctx": null,
    "formats": [
      "speech"
    ],
    "id": "fish-audio/s2.1-pro-free:free",
    "input": [
      "text"
    ],
    "kind": "audio",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Есептерді салыстырып тексеру үшін қайтарылған X-Client-Request-ID мәнін сақтаңыз. Тек нақты қайтарылған task_id/asset_id мәндері арқылы немесе өзіңізге тиесілі медиатекадан оқыңыз; операция ID мәнінен тапсырманың URL мекенжайын ешқашан құрастырмаңыз және жасау сұрауын ешқашан қайта жібермеңіз."
            },
            "outputs": {
              "all_results": "Толық жауапты және тақырыптарды, алынған әрбір нәтижені, бастапқыда қайтарылған идентификаторларды және пайдалану туралы барлық өрістерді сақтаңыз. Жасау сұрауын қайта жібермей, бастапқы операцияны қалпына келтіріңіз.",
              "family": "audio",
              "formats": [
                "mp3",
                "pcm"
              ],
              "result": "Толық бинарлық аудио немесе бастапқы audio_url жауабы, тақырыптар және иелігіңіздегі әрбір ресурс."
            },
            "parameters": [
              {
                "enum": [
                  "fish-audio/s2.1-pro-free:free"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  "b347db033a6549378b48d00acb0d06cd"
                ],
                "enum_known": true,
                "min_length": 1,
                "name": "voice",
                "required": true,
                "type": "string"
              },
              {
                "default": "pcm",
                "default_known": true,
                "enum": [
                  "mp3",
                  "pcm"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              },
              {
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input": {
                  "minLength": 1,
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "fish-audio/s2.1-pro-free:free"
                  ],
                  "type": "string"
                },
                "provider": {
                  "description": "Documented speech data policy and provider-specific options.",
                  "properties": {
                    "data_collection": {
                      "enum": [
                        "allow",
                        "deny",
                        null
                      ],
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "options": {
                      "type": "object"
                    },
                    "zdr": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    }
                  },
                  "type": "object"
                },
                "response_format": {
                  "default": "pcm",
                  "enum": [
                    "mp3",
                    "pcm"
                  ],
                  "type": "string"
                },
                "voice": {
                  "enum": [
                    "b347db033a6549378b48d00acb0d06cd"
                  ],
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input",
                "voice"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input": "${ACTUAL_INPUT_TEXT}",
                "model": "fish-audio/s2.1-pro-free:free",
                "response_format": "mp3",
                "voice": "b347db033a6549378b48d00acb0d06cd"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "required": [
              "model",
              "input",
              "voice"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "Нақты қайтарылған task_id немесе медиатека жазбасы",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Keep the returned X-Client-Request-ID for reconciliation. Read only actual returned task_id/asset_id values or the owned media library; never build a task URL from the operation ID and never resubmit creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/speech"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "audio",
            "formats": [
              "mp3",
              "pcm"
            ],
            "result": "Complete binary audio or original audio_url response, headers and every owned asset."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "billing_quantity": "one request"
            },
            "label": "Per request",
            "units": [
              {
                "amount": "0",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "per_request",
                "label": "per request",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "public_unit_label": "per request",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "per_request"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_INPUT_TEXT:?Set the actual documented input value}\"\nexport AILOOT_INPUT_TEXT\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nrequest={'model': 'fish-audio/s2.1-pro-free:free', 'input': '${ACTUAL_INPUT_TEXT}', 'voice': 'b347db033a6549378b48d00acb0d06cd', 'response_format': 'mp3'}\nrequest['input']=os.environ['AILOOT_INPUT_TEXT']\nPath('request.json').write_text(json.dumps(request,ensure_ascii=False),encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\n",
            "label": "Use actual input and retain the complete result",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n",
            "label": "Read existing owned assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "speech",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text"
        ],
        "label": "Сөйлеу",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_speech",
        "out": null,
        "output": [
          "audio"
        ],
        "path": "/v1/audio/speech",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": 0
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "billing_quantity": "one request"
            },
            "label": "Per request",
            "units": [
              {
                "amount": "0",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "per_request",
                "label": "per request",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "public_unit_label": "per request",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "per_request"
              }
            ]
          }
        ],
        "request_model_id": "fish-audio/s2.1-pro-free:free",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "per_request",
            "label": "per request",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "public_unit_label": "per request",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "per_request"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "fish-audio/s2.1-pro-free:free",
        "request_model_id": "fish-audio/s2.1-pro-free:free",
        "route_label": "Ultra"
      }
    ],
    "name": "Fish Audio: S2.1 Pro Free (free)",
    "price": {
      "in": null,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": true
    },
    "short": "S2.1 Pro Free — дикторлық оқуға, нұсқаумен басқарылатын дауыстық шығысқа және бірнеше сөйлеуші диалогына арналған Fish Audio S2.1 сөйлеу моделінің әзірлеу нұсқасы. Ол тестілеу мен прототип жасау үшін модельдің синтез мүмкіндіктерін ұсынады."
  },
  "renderer_schema": {
    "method_order": "Original DTO methods order; every exact route/format/path/caller survives.",
    "prices": "Original public DTO fields and original native display HTML; no flattened or normalized offers."
  },
  "representation": "exact-public-dto-and-native-renderer-html",
  "representationNotes": {
    "current_reference": {
      "about_json_pointer": "/aboutHtml",
      "methods": [
        {
          "contract_json_pointer": "/methods/0/rawMethod/contract",
          "html_json_pointer": "/methods/0/html",
          "method_ordinal": 0
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "S2.1 Pro Free — дикторлық оқуға, нұсқаумен басқарылатын дауыстық шығысқа және бірнеше сөйлеуші диалогына арналған Fish Audio S2.1 сөйлеу моделінің әзірлеу нұсқасы. Ол тестілеу мен прототип жасау үшін модельдің синтез мүмкіндіктерін ұсынады.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "7ad640b0a8cf373ff7f55ad20ec9b27422abcffce5bbf5be89e6b4e49fdcfad8",
    "renderer_sha256": "def3bb6e69c8ddb72f88ec6540bbe55d0e503790f964d84073ecda781b13bedf"
  },
  "sourceRevision": "c197350389bcd3ee0838f8394629211276583a0331847613aa70548d19ec2ee4"
}
