{
  "aboutHtml": "<h4>Әңгімелесу репликаларын жылдам синтездеу</h4><p>Speech 2.8 Turbo аудионы жылдам қалыптастыруды дауыстың табиғи өзгеруімен біріктіреді. Өндіруші Turbo-ны жатық әңгімелесу дыбысталуына бағыттайды: қысқа репликаларға, мәтінді дыбыстауға және дауыстық өзара әрекетке. Бұл карточка мәтінді қабылдап, сөйлеу аудиосын қайтарады.</p><h4>Күлкі, тыныс алу және одағайлар</h4><p>Осы буынның HD нұсқасы сияқты, Turbo Speech 2.8 дыбыстық белгілерін қолдайды. Мәтінге күлкі, жеңіл күлу, жөтел, тамақ кенеп алу, дем алу, дем шығару, күрсіну және басқа қысқа дыбыс белгілерін енгізуге болады. Мұндай басқарылатын біркелкі еместік репликаны әңгімеге ұқсатады: онда мазмұнмен байланысты тыныс алу мен үзілістер пайда болады.</p><p>Дыбыстық белгі мәтіннің нақты орнына қатысты. Ол үшін модель қарастырған дөңгелек жақшадағы белгілер қолданылады, мысалы <code>(laughs)</code> немесе <code>(breath)</code>. Әсердің еркін сипаттамасы қолдау көрсетілетін белгінің тең мәнді баламасы емес.</p><h4>Дауыс және тіл</h4><p>Speech 2.8 тобы орыс тілін қоса алғанда <strong>40 тілді</strong> және дайын дауыстармен жұмысты қолдайды. Өндіруші дауыстың танылатын құрылымын, тыныс алу ерекшеліктерін және цифрлық бұрмаланулардың азайтылуын атап көрсетеді. Клондау мүмкіндігі дауысты бөлек дайындауға жатады; кейін оны синтездеуде қолдануға болады.</p><p>MiniMax дауысты таңдауды және қарқын, дыбыс қаттылығы мен биіктігін басқаруды қарастырған. Жылдамдық <strong>0,5–2</strong> аралығында, дыбыс қаттылығы 0-ден жоғары және <strong>10-ға</strong> дейін, биіктік өзгерісі <strong>−12-ден 12-ге</strong> дейін беріледі. Эмоцияны мәтін мағынасына қарай модельдің таңдауына қалдыруға немесе қолмен көрсетуге болады: қуаныш, мұң, ашу, қорқыныш, жиіркену, таңдану немесе сабырлылық.</p><p>Айтылуды алмастыру сөздігі мен фонетикалық жазба арқылы нақтылауға болады; онда халықаралық фонетикалық әліпби, қытай пиньині және жапонша оқу нұсқалары қарастырылған. Үзілістер айтылатын үзінділер арасында <strong>0,01–99,99 секунд</strong> аралығында беріледі. Үзіліс ұзақтығы үтірден кейінгі екі таңба дәлдігімен белгіленеді; маркерлер айтылатын үзінділер арасында орналастырылады және қатарынан қойылмайды. Мұндай баптаулар есімдердің, қысқартулардың және мағынасы екіұшты сөздердің дыбысталуын дыбыстау ойымен үйлестіруге мүмкіндік береді.</p><h4>Біртіндеп шығару және аудио форматы</h4><p>Синтез <strong>10 000 таңбадан</strong> аз мәтінді қабылдайды. 3000 таңбадан асатын ұзақ мәтін үшін өндіруші ағындық шығысты ұсынады; дайын аудионы тұтас алу да қарастырылған. Жалпы синтез баптаулары MP3, PCM, FLAC, WAV, Opus және G.711 μ-law нұсқаларын, моно немесе стереоны қамтиды; нақты сұраудың қолжетімді форматтары Ailoot құралдарымен анықталады.</p><p>Turbo жылдамдығы — дайын репликаның бекітілген кідірісіне уәде емес, модель нұсқасының сипаттамасы. Бұл сұраудың сандық кідірісі мұнда белгіленбейді. Өндірушінің аталған кеңейтілген баптаулары Ailoot арқылы таңдалған жүгіну тәсілінде қолдау болуын қажет етеді.</p><p>Қосымша дыбыс баптаулары <strong>8, 16, 22,05, 24, 32 және 44,1 кГц</strong> дискреттеу жиіліктерін қамтиды. MP3 үшін <strong>32, 64, 128 немесе 256 кбит/с</strong> битрейт қарастырылған. Дауыстың реңкін өзгертіп, бір әсерді қолдануға да болады: кең кеңістіктегі жаңғырық, зал жаңғырығы, телефон дыбысы немесе робот дауысы. Дауысты өзгерту әсерлері аудионы тұтас алғанда MP3, WAV және FLAC үшін, ал ағындық шығыста тек MP3 үшін қолданылады. G.711 μ-law форматтары 8 кГц жиілігін қолданады. Бұл мүмкіндіктер MiniMax синтез баптауларына жатады.</p><p>Өндіруші сөйлеуді мәтінмен синхрондауды қарастырған: сөйлемдер, сөздер немесе біртіндеп шығару кезіндегі сөздер бойынша уақыт белгілері. Мұндай нәтиже айтылуды мәтіннің көрсетілуімен үйлестіруге көмектеседі. Бұл қосымша мүмкіндік тиісті жауап форматының қолдауын қажет етеді.</p>",
  "aboutText": "### Әңгімелесу репликаларын жылдам синтездеу\n\nSpeech 2.8 Turbo аудионы жылдам қалыптастыруды дауыстың табиғи өзгеруімен біріктіреді. Өндіруші Turbo-ны жатық әңгімелесу дыбысталуына бағыттайды: қысқа репликаларға, мәтінді дыбыстауға және дауыстық өзара әрекетке. Бұл карточка мәтінді қабылдап, сөйлеу аудиосын қайтарады.\n\n### Күлкі, тыныс алу және одағайлар\n\nОсы буынның HD нұсқасы сияқты, Turbo Speech 2.8 дыбыстық белгілерін қолдайды. Мәтінге күлкі, жеңіл күлу, жөтел, тамақ кенеп алу, дем алу, дем шығару, күрсіну және басқа қысқа дыбыс белгілерін енгізуге болады. Мұндай басқарылатын біркелкі еместік репликаны әңгімеге ұқсатады: онда мазмұнмен байланысты тыныс алу мен үзілістер пайда болады.\n\nДыбыстық белгі мәтіннің нақты орнына қатысты. Ол үшін модель қарастырған дөңгелек жақшадағы белгілер қолданылады, мысалы `(laughs)` немесе `(breath)`. Әсердің еркін сипаттамасы қолдау көрсетілетін белгінің тең мәнді баламасы емес.\n\n### Дауыс және тіл\n\nSpeech 2.8 тобы орыс тілін қоса алғанда **40 тілді** және дайын дауыстармен жұмысты қолдайды. Өндіруші дауыстың танылатын құрылымын, тыныс алу ерекшеліктерін және цифрлық бұрмаланулардың азайтылуын атап көрсетеді. Клондау мүмкіндігі дауысты бөлек дайындауға жатады; кейін оны синтездеуде қолдануға болады.\n\nMiniMax дауысты таңдауды және қарқын, дыбыс қаттылығы мен биіктігін басқаруды қарастырған. Жылдамдық **0,5–2** аралығында, дыбыс қаттылығы 0-ден жоғары және **10-ға** дейін, биіктік өзгерісі **−12-ден 12-ге** дейін беріледі. Эмоцияны мәтін мағынасына қарай модельдің таңдауына қалдыруға немесе қолмен көрсетуге болады: қуаныш, мұң, ашу, қорқыныш, жиіркену, таңдану немесе сабырлылық.\n\nАйтылуды алмастыру сөздігі мен фонетикалық жазба арқылы нақтылауға болады; онда халықаралық фонетикалық әліпби, қытай пиньині және жапонша оқу нұсқалары қарастырылған. Үзілістер айтылатын үзінділер арасында **0,01–99,99 секунд** аралығында беріледі. Үзіліс ұзақтығы үтірден кейінгі екі таңба дәлдігімен белгіленеді; маркерлер айтылатын үзінділер арасында орналастырылады және қатарынан қойылмайды. Мұндай баптаулар есімдердің, қысқартулардың және мағынасы екіұшты сөздердің дыбысталуын дыбыстау ойымен үйлестіруге мүмкіндік береді.\n\n### Біртіндеп шығару және аудио форматы\n\nСинтез **10 000 таңбадан** аз мәтінді қабылдайды. 3000 таңбадан асатын ұзақ мәтін үшін өндіруші ағындық шығысты ұсынады; дайын аудионы тұтас алу да қарастырылған. Жалпы синтез баптаулары MP3, PCM, FLAC, WAV, Opus және G.711 μ-law нұсқаларын, моно немесе стереоны қамтиды; нақты сұраудың қолжетімді форматтары Ailoot құралдарымен анықталады.\n\nTurbo жылдамдығы — дайын репликаның бекітілген кідірісіне уәде емес, модель нұсқасының сипаттамасы. Бұл сұраудың сандық кідірісі мұнда белгіленбейді. Өндірушінің аталған кеңейтілген баптаулары Ailoot арқылы таңдалған жүгіну тәсілінде қолдау болуын қажет етеді.\n\nҚосымша дыбыс баптаулары **8, 16, 22,05, 24, 32 және 44,1 кГц** дискреттеу жиіліктерін қамтиды. MP3 үшін **32, 64, 128 немесе 256 кбит/с** битрейт қарастырылған. Дауыстың реңкін өзгертіп, бір әсерді қолдануға да болады: кең кеңістіктегі жаңғырық, зал жаңғырығы, телефон дыбысы немесе робот дауысы. Дауысты өзгерту әсерлері аудионы тұтас алғанда MP3, WAV және FLAC үшін, ал ағындық шығыста тек MP3 үшін қолданылады. G.711 μ-law форматтары 8 кГц жиілігін қолданады. Бұл мүмкіндіктер MiniMax синтез баптауларына жатады.\n\nӨндіруші сөйлеуді мәтінмен синхрондауды қарастырған: сөйлемдер, сөздер немесе біртіндеп шығару кезіндегі сөздер бойынша уақыт белгілері. Мұндай нәтиже айтылуды мәтіннің көрсетілуімен үйлестіруге көмектеседі. Бұл қосымша мүмкіндік тиісті жауап форматының қолдауын қажет етеді.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "4e643a49f4e3186a9d5917fe8770835a7a92b0eaeee8440e9431b78d7703676f",
    "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\">MM</span><h2 id=\"sheet-title\">speech-2.8-turbo</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Жабу\">×</button></div><div class=\"idline\"><span>MiniMax /</span><code>speech-2.8-turbo</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=\"Core|speech|/v1/audio/speech|speech-2.8-turbo\">Дыбыстау</button></div><div class=\"idline\"><label for=\"card-model-id\">Модель ID</label><select class=\"sel\" id=\"card-model-id\" style=\"min-width:0;max-width:100%\"><option value=\"Core|speech|/v1/audio/speech|speech-2.8-turbo\" selected>speech-2.8-turbo</option><option value=\"Core|speech|/v1/audio/speech|minimax-speech-turbo\">minimax-speech-turbo</option></select></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\">Speech 2.8 Turbo — дыбыстық белгілері бар және мәнерлілігі басқарылатын табиғи сөйлеудің жылдам синтезі.</p><dl class=\"card-io\" data-card-io><div><dt>Қабылданатын кіріс деректері</dt><dd>Мәтін</dd></div><div><dt>Нәтижелер</dt><dd>speech</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\"><h4>Әңгімелесу репликаларын жылдам синтездеу</h4><p>Speech 2.8 Turbo аудионы жылдам қалыптастыруды дауыстың табиғи өзгеруімен біріктіреді. Өндіруші Turbo-ны жатық әңгімелесу дыбысталуына бағыттайды: қысқа репликаларға, мәтінді дыбыстауға және дауыстық өзара әрекетке. Бұл карточка мәтінді қабылдап, сөйлеу аудиосын қайтарады.</p><h4>Күлкі, тыныс алу және одағайлар</h4><p>Осы буынның HD нұсқасы сияқты, Turbo Speech 2.8 дыбыстық белгілерін қолдайды. Мәтінге күлкі, жеңіл күлу, жөтел, тамақ кенеп алу, дем алу, дем шығару, күрсіну және басқа қысқа дыбыс белгілерін енгізуге болады. Мұндай басқарылатын біркелкі еместік репликаны әңгімеге ұқсатады: онда мазмұнмен байланысты тыныс алу мен үзілістер пайда болады.</p><p>Дыбыстық белгі мәтіннің нақты орнына қатысты. Ол үшін модель қарастырған дөңгелек жақшадағы белгілер қолданылады, мысалы <code>(laughs)</code> немесе <code>(breath)</code>. Әсердің еркін сипаттамасы қолдау көрсетілетін белгінің тең мәнді баламасы емес.</p><h4>Дауыс және тіл</h4><p>Speech 2.8 тобы орыс тілін қоса алғанда <strong>40 тілді</strong> және дайын дауыстармен жұмысты қолдайды. Өндіруші дауыстың танылатын құрылымын, тыныс алу ерекшеліктерін және цифрлық бұрмаланулардың азайтылуын атап көрсетеді. Клондау мүмкіндігі дауысты бөлек дайындауға жатады; кейін оны синтездеуде қолдануға болады.</p><p>MiniMax дауысты таңдауды және қарқын, дыбыс қаттылығы мен биіктігін басқаруды қарастырған. Жылдамдық <strong>0,5–2</strong> аралығында, дыбыс қаттылығы 0-ден жоғары және <strong>10-ға</strong> дейін, биіктік өзгерісі <strong>−12-ден 12-ге</strong> дейін беріледі. Эмоцияны мәтін мағынасына қарай модельдің таңдауына қалдыруға немесе қолмен көрсетуге болады: қуаныш, мұң, ашу, қорқыныш, жиіркену, таңдану немесе сабырлылық.</p><p>Айтылуды алмастыру сөздігі мен фонетикалық жазба арқылы нақтылауға болады; онда халықаралық фонетикалық әліпби, қытай пиньині және жапонша оқу нұсқалары қарастырылған. Үзілістер айтылатын үзінділер арасында <strong>0,01–99,99 секунд</strong> аралығында беріледі. Үзіліс ұзақтығы үтірден кейінгі екі таңба дәлдігімен белгіленеді; маркерлер айтылатын үзінділер арасында орналастырылады және қатарынан қойылмайды. Мұндай баптаулар есімдердің, қысқартулардың және мағынасы екіұшты сөздердің дыбысталуын дыбыстау ойымен үйлестіруге мүмкіндік береді.</p><h4>Біртіндеп шығару және аудио форматы</h4><p>Синтез <strong>10 000 таңбадан</strong> аз мәтінді қабылдайды. 3000 таңбадан асатын ұзақ мәтін үшін өндіруші ағындық шығысты ұсынады; дайын аудионы тұтас алу да қарастырылған. Жалпы синтез баптаулары MP3, PCM, FLAC, WAV, Opus және G.711 μ-law нұсқаларын, моно немесе стереоны қамтиды; нақты сұраудың қолжетімді форматтары Ailoot құралдарымен анықталады.</p><p>Turbo жылдамдығы — дайын репликаның бекітілген кідірісіне уәде емес, модель нұсқасының сипаттамасы. Бұл сұраудың сандық кідірісі мұнда белгіленбейді. Өндірушінің аталған кеңейтілген баптаулары Ailoot арқылы таңдалған жүгіну тәсілінде қолдау болуын қажет етеді.</p><p>Қосымша дыбыс баптаулары <strong>8, 16, 22,05, 24, 32 және 44,1 кГц</strong> дискреттеу жиіліктерін қамтиды. MP3 үшін <strong>32, 64, 128 немесе 256 кбит/с</strong> битрейт қарастырылған. Дауыстың реңкін өзгертіп, бір әсерді қолдануға да болады: кең кеңістіктегі жаңғырық, зал жаңғырығы, телефон дыбысы немесе робот дауысы. Дауысты өзгерту әсерлері аудионы тұтас алғанда MP3, WAV және FLAC үшін, ал ағындық шығыста тек MP3 үшін қолданылады. G.711 μ-law форматтары 8 кГц жиілігін қолданады. Бұл мүмкіндіктер MiniMax синтез баптауларына жатады.</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 · Дыбыстау</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>speech</code></dd></div><div><dt>Шығыс пішімі</dt><dd>mp3</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 data-parameter-availability=\"source_interface\"><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>speech-2.8-turbo</div></td><td data-cell-label=\"Әдепкі\" data-default=\"unspecified\"><span class=\"card-cell-label\">Әдепкі</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><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><div>Ең үлкен ұзындық (шегі кірмейді): 10 000</div><div>Бірлік: Unicode таңбалары</div></td><td data-cell-label=\"Әдепкі\" data-default=\"unspecified\"><span class=\"card-cell-label\">Әдепкі</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><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>Үлгі: ^[A-Za-z0-9_-]{1,128}$</div></td><td data-cell-label=\"Әдепкі\" data-default=\"unspecified\"><span class=\"card-cell-label\">Әдепкі</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><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</div></td><td data-cell-label=\"Әдепкі\" data-default=\"unspecified\"><span class=\"card-cell-label\">Әдепкі</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Кіріс материалдарының үйлесімдері</summary><p class=\"note-s\"><b>text_to_speech</b> · Міндетті: input</p></details><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>material_types</code></th><td data-cell-label=\"Параметр талаптары\"><span class=\"card-cell-label\">Параметр талаптары</span>text</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>null</td></tr><tr><th data-cell-label=\"Параметр\" scope=\"row\"><span class=\"card-cell-label\">Параметр</span><code>optional_controls</code></th><td data-cell-label=\"Параметр талаптары\"><span class=\"card-cell-label\">Параметр талаптары</span>null</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><p class=\"note-s\">Әдіс құрылымдары мен ID мәндері дәл берілген; жеткізушінің мүмкіндігі сұрауды қабылдаудан бөлек қаралады.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Тарифтер</h3><h4>Ailoot әдістерінің мөлшерлемелері</h4><section class=\"meth\" data-route=\"Core\"><header><b><span class=\"alias\">Ailoot</span> Дыбыстау</b><code>POST /v1/audio/speech</code></header><dl><div><dt>Кіріс</dt><dd>60,00 $ <em>1 миллион таңба үшін</em></dd></div></dl></section><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 · Дыбыстау</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Код нұсқалары\"><button class=\"cg-tab\" id=\"model-code-474-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-474-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-474-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-474-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_TEXT_FILE:?Set your actual UTF-8 narration script}&quot;\nexport AILOOT_TEXT_FILE\n: &quot;${AILOOT_VOICE_ID:?Set the actual accepted voice ID for this model}&quot;\nexport AILOOT_VOICE_ID\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;speech-2.8-turbo&quot;, &quot;input&quot;: &quot;&quot;}&#39;)\nf=Path(os.environ[&quot;AILOOT_TEXT_FILE&quot;])\nif not f.is_file():raise SystemExit(&quot;Choose your actual UTF-8 source material&quot;)\ntext=f.read_text(encoding=&quot;utf-8&quot;)\nif not text.strip():raise SystemExit(&quot;Source material must contain text&quot;)\np[&quot;input&quot;]=text\nimport re\nvoice=os.environ[&quot;AILOOT_VOICE_ID&quot;]\nif not re.fullmatch(r&quot;[A-Za-z0-9_-]{1,128}&quot;,voice):raise SystemExit(&quot;Set an actual accepted voice ID&quot;)\np[&quot;voice&quot;]=voice\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\">Нәтижелерді алу және сақтау</h3><h4>Ailoot · Дыбыстау</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><div class=\"card-result-process\" data-all-results><h5>Барлық дайын нәтижені сақтау</h5><p class=\"note-s\">Қайтарылған әр толық жауапты, файлды және мазмұн бөлігін сақтаңыз.</p><p class=\"note-s\">Толық бинарлық нәтижені және тақырыптарды сақтаңыз. JSON/бірнеше нәтиже қайтарылса, әрбір дерек элементін сақтап, активке берілген әрбір нақты қолтаңбаланған URL мекенжайынан жүктеп алыңыз.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Бастапқы жауапты тексеру қажет болса</h5><p class=\"note-s\">Қайта жібермей салыстырып тексеру үшін бастапқы operation_id/X-Client-Request-ID мәнін сақтаңыз; аудио күйін мерзімді түрде сұратуға арналған жеке маршрут жоқ.</p></div><details class=\"card-about\" data-output-fields><summary>Жауап өрістері</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><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\">binary audio</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span>bytes</td></tr><tr><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">response headers</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span>headers</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Қателер және келесі қадамдар</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Жауап</th><th>Шарт</th><th>Келесі қадам</th></tr></thead><tbody><tr><th data-cell-label=\"Жауап\" scope=\"row\"><span class=\"card-cell-label\">Жауап</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Шарт\"><span class=\"card-cell-label\">Шарт</span>Міндетті өрістер, материалды ұсыну тәсілі немесе параметр мәні қате</td><td data-cell-label=\"Келесі қадам\"><span class=\"card-cell-label\">Келесі қадам</span>Жаңадан жасау сұрауын жібермес бұрын көрсетілген өрістерді түзетіңіз.</td></tr><tr><th data-cell-label=\"Жауап\" scope=\"row\"><span class=\"card-cell-label\">Жауап</span><code>server_error</code></th><td data-cell-label=\"Шарт\"><span class=\"card-cell-label\">Шарт</span>Қайтарылған жауапта операцияны немесе нәтижені тексеру қажет екені көрсетілген</td><td data-cell-label=\"Келесі қадам\"><span class=\"card-cell-label\">Келесі қадам</span>Бастапқыда қайтарылған операцияның/тапсырманың ID мәнін, сұрау тақырыптарын және жауабын сақтаңыз; сол бастапқы операцияны қолдау көрсетілетін тәсілдермен оқуды жалғастырыңыз. Жасау сұрауын қайта жібермеңіз.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Балама атаулар</h3><h4>Модельдердің балама атаулары</h4><p class=\"note-s\"><span data-model-alias-route=\"Core\"><b>Ailoot</b> <a href=\"#m=speech-2.8-turbo&amp;route=Core&amp;caller=speech-2.8-turbo&amp;fmt=speech\"><code>speech-2.8-turbo</code></a>, <a href=\"#m=speech-2.8-turbo&amp;route=Core&amp;caller=minimax-speech-turbo&amp;fmt=speech\"><code>minimax-speech-turbo</code></a></span></p><h4>Әдіс жолдарының балама атаулары</h4><p class=\"note-s\">Жоғарыда көрсетілген әдіс жолдарын пайдаланыңыз.</p><h4>Шақыруға арналған байланысты ID</h4><p class=\"note-s\"><a href=\"#m=speech-2.8-turbo&amp;route=Core&amp;caller=speech-2.8-turbo&amp;fmt=speech\"><code>speech-2.8-turbo</code></a>, <a href=\"#m=speech-2.8-turbo&amp;route=Core&amp;caller=minimax-speech-turbo&amp;fmt=speech\"><code>minimax-speech-turbo</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "speech-2.8-turbo",
        "fmt": "speech",
        "http": "POST",
        "path": "/v1/audio/speech",
        "request_model_id": "speech-2.8-turbo",
        "route_label": "Core"
      },
      "method_key": "Core|speech|/v1/audio/speech|speech-2.8-turbo",
      "ordinal": 0,
      "rawMethod": {
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "cache_write_5m": null,
        "conditional_meter": 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": "Міндетті өрістер, материалды ұсыну тәсілі немесе параметр мәні қате",
                "http_status": 400,
                "recovery": "Жаңадан жасау сұрауын жібермес бұрын көрсетілген өрістерді түзетіңіз.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Қайтарылған жауапта операцияны немесе нәтижені тексеру қажет екені көрсетілген",
                "http_status": null,
                "recovery": "Бастапқыда қайтарылған операцияның/тапсырманың ID мәнін, сұрау тақырыптарын және жауабын сақтаңыз; сол бастапқы операцияны қолдау көрсетілетін тәсілдермен оқуды жалғастырыңыз. Жасау сұрауын қайта жібермеңіз.",
                "type": "server_error"
              }
            ],
            "hints": [
              "MiniMax accepts optionalresponse_formatmp3. Actual voice IDs come from the selected model voice profile.",
              "The facade uses bufferedMP3; provider speed/volume/pitch/sample-rate fields are fixed by the adapter, not callercontrols."
            ],
            "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": "Қайта жібермей салыстырып тексеру үшін бастапқы operation_id/X-Client-Request-ID мәнін сақтаңыз; аудио күйін мерзімді түрде сұратуға арналған жеке маршрут жоқ."
            },
            "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": "Толық бинарлық нәтижені және тақырыптарды сақтаңыз. JSON/бірнеше нәтиже қайтарылса, әрбір дерек элементін сақтап, активке берілген әрбір нақты қолтаңбаланған URL мекенжайынан жүктеп алыңыз.",
              "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": [
                  "speech-2.8-turbo"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum_length_exclusive": 10000,
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string",
                "unit": "Unicode таңбалары"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "voice",
                "pattern": "^[A-Za-z0-9_-]{1,128}$",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "mp3"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": []
          },
          "hints": [
            "Әдіс құрылымдары мен ID мәндері дәл берілген; жеткізушінің мүмкіндігі сұрауды қабылдаудан бөлек қаралады."
          ],
          "input": {
            "material_types": [
              "text"
            ],
            "optional_controls": null,
            "required": null
          },
          "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": "Retain original operation_id/X-Client-Request-ID for reconciliation without resubmission; no dedicated audio poll route."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/speech"
          },
          "operation_modes": [
            "audio_speech"
          ],
          "output": {
            "family": [
              "speech"
            ],
            "format": null,
            "multioutputs": "retain every actual response output"
          }
        },
        "ctx": null,
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_TEXT_FILE:?Set your actual UTF-8 narration script}\"\nexport AILOOT_TEXT_FILE\n: \"${AILOOT_VOICE_ID:?Set the actual accepted voice ID for this model}\"\nexport AILOOT_VOICE_ID\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"speech-2.8-turbo\", \"input\": \"\"}')\nf=Path(os.environ[\"AILOOT_TEXT_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose your actual UTF-8 source material\")\ntext=f.read_text(encoding=\"utf-8\")\nif not text.strip():raise SystemExit(\"Source material must contain text\")\np[\"input\"]=text\nimport re\nvoice=os.environ[\"AILOOT_VOICE_ID\"]\nif not re.fullmatch(r\"[A-Za-z0-9_-]{1,128}\",voice):raise SystemExit(\"Set an actual accepted voice ID\")\np[\"voice\"]=voice\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": "Synthesize your actual script",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "speech",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": null,
        "input": [
          "text"
        ],
        "label": "Дыбыстау",
        "max_out": null,
        "max_tool_calls": null,
        "out": null,
        "output": [
          "speech"
        ],
        "path": "/v1/audio/speech",
        "pricing_profiles": [
          {
            "dimensions": {},
            "label": "Core",
            "units": [
              {
                "amount": 60,
                "amount_unit": "usd_per_display_unit",
                "key": "tts_million_chars",
                "label": "per 1 million characters",
                "side": "in"
              }
            ]
          }
        ],
        "request_model_id": "speech-2.8-turbo",
        "route_label": "Core",
        "status_reads": [],
        "tiers": [],
        "tool_prices": null,
        "unit": "tts_million_chars",
        "units": [
          {
            "key": "tts_million_chars",
            "label": "per 1 million characters",
            "side": "in",
            "usd": 60
          }
        ]
      }
    },
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">MM</span><h2 id=\"sheet-title\">speech-2.8-turbo</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Жабу\">×</button></div><div class=\"idline\"><span>MiniMax /</span><code>minimax-speech-turbo</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=\"Core|speech|/v1/audio/speech|minimax-speech-turbo\">Дыбыстау</button></div><div class=\"idline\"><label for=\"card-model-id\">Модель ID</label><select class=\"sel\" id=\"card-model-id\" style=\"min-width:0;max-width:100%\"><option value=\"Core|speech|/v1/audio/speech|speech-2.8-turbo\">speech-2.8-turbo</option><option value=\"Core|speech|/v1/audio/speech|minimax-speech-turbo\" selected>minimax-speech-turbo</option></select></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\">Speech 2.8 Turbo — дыбыстық белгілері бар және мәнерлілігі басқарылатын табиғи сөйлеудің жылдам синтезі.</p><dl class=\"card-io\" data-card-io><div><dt>Қабылданатын кіріс деректері</dt><dd>Мәтін</dd></div><div><dt>Нәтижелер</dt><dd>speech</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\"><h4>Әңгімелесу репликаларын жылдам синтездеу</h4><p>Speech 2.8 Turbo аудионы жылдам қалыптастыруды дауыстың табиғи өзгеруімен біріктіреді. Өндіруші Turbo-ны жатық әңгімелесу дыбысталуына бағыттайды: қысқа репликаларға, мәтінді дыбыстауға және дауыстық өзара әрекетке. Бұл карточка мәтінді қабылдап, сөйлеу аудиосын қайтарады.</p><h4>Күлкі, тыныс алу және одағайлар</h4><p>Осы буынның HD нұсқасы сияқты, Turbo Speech 2.8 дыбыстық белгілерін қолдайды. Мәтінге күлкі, жеңіл күлу, жөтел, тамақ кенеп алу, дем алу, дем шығару, күрсіну және басқа қысқа дыбыс белгілерін енгізуге болады. Мұндай басқарылатын біркелкі еместік репликаны әңгімеге ұқсатады: онда мазмұнмен байланысты тыныс алу мен үзілістер пайда болады.</p><p>Дыбыстық белгі мәтіннің нақты орнына қатысты. Ол үшін модель қарастырған дөңгелек жақшадағы белгілер қолданылады, мысалы <code>(laughs)</code> немесе <code>(breath)</code>. Әсердің еркін сипаттамасы қолдау көрсетілетін белгінің тең мәнді баламасы емес.</p><h4>Дауыс және тіл</h4><p>Speech 2.8 тобы орыс тілін қоса алғанда <strong>40 тілді</strong> және дайын дауыстармен жұмысты қолдайды. Өндіруші дауыстың танылатын құрылымын, тыныс алу ерекшеліктерін және цифрлық бұрмаланулардың азайтылуын атап көрсетеді. Клондау мүмкіндігі дауысты бөлек дайындауға жатады; кейін оны синтездеуде қолдануға болады.</p><p>MiniMax дауысты таңдауды және қарқын, дыбыс қаттылығы мен биіктігін басқаруды қарастырған. Жылдамдық <strong>0,5–2</strong> аралығында, дыбыс қаттылығы 0-ден жоғары және <strong>10-ға</strong> дейін, биіктік өзгерісі <strong>−12-ден 12-ге</strong> дейін беріледі. Эмоцияны мәтін мағынасына қарай модельдің таңдауына қалдыруға немесе қолмен көрсетуге болады: қуаныш, мұң, ашу, қорқыныш, жиіркену, таңдану немесе сабырлылық.</p><p>Айтылуды алмастыру сөздігі мен фонетикалық жазба арқылы нақтылауға болады; онда халықаралық фонетикалық әліпби, қытай пиньині және жапонша оқу нұсқалары қарастырылған. Үзілістер айтылатын үзінділер арасында <strong>0,01–99,99 секунд</strong> аралығында беріледі. Үзіліс ұзақтығы үтірден кейінгі екі таңба дәлдігімен белгіленеді; маркерлер айтылатын үзінділер арасында орналастырылады және қатарынан қойылмайды. Мұндай баптаулар есімдердің, қысқартулардың және мағынасы екіұшты сөздердің дыбысталуын дыбыстау ойымен үйлестіруге мүмкіндік береді.</p><h4>Біртіндеп шығару және аудио форматы</h4><p>Синтез <strong>10 000 таңбадан</strong> аз мәтінді қабылдайды. 3000 таңбадан асатын ұзақ мәтін үшін өндіруші ағындық шығысты ұсынады; дайын аудионы тұтас алу да қарастырылған. Жалпы синтез баптаулары MP3, PCM, FLAC, WAV, Opus және G.711 μ-law нұсқаларын, моно немесе стереоны қамтиды; нақты сұраудың қолжетімді форматтары Ailoot құралдарымен анықталады.</p><p>Turbo жылдамдығы — дайын репликаның бекітілген кідірісіне уәде емес, модель нұсқасының сипаттамасы. Бұл сұраудың сандық кідірісі мұнда белгіленбейді. Өндірушінің аталған кеңейтілген баптаулары Ailoot арқылы таңдалған жүгіну тәсілінде қолдау болуын қажет етеді.</p><p>Қосымша дыбыс баптаулары <strong>8, 16, 22,05, 24, 32 және 44,1 кГц</strong> дискреттеу жиіліктерін қамтиды. MP3 үшін <strong>32, 64, 128 немесе 256 кбит/с</strong> битрейт қарастырылған. Дауыстың реңкін өзгертіп, бір әсерді қолдануға да болады: кең кеңістіктегі жаңғырық, зал жаңғырығы, телефон дыбысы немесе робот дауысы. Дауысты өзгерту әсерлері аудионы тұтас алғанда MP3, WAV және FLAC үшін, ал ағындық шығыста тек MP3 үшін қолданылады. G.711 μ-law форматтары 8 кГц жиілігін қолданады. Бұл мүмкіндіктер MiniMax синтез баптауларына жатады.</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 · Дыбыстау</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>speech</code></dd></div><div><dt>Шығыс пішімі</dt><dd>mp3</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 data-parameter-availability=\"source_interface\"><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>minimax-speech-turbo</div></td><td data-cell-label=\"Әдепкі\" data-default=\"unspecified\"><span class=\"card-cell-label\">Әдепкі</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><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><div>Ең үлкен ұзындық (шегі кірмейді): 10 000</div><div>Бірлік: Unicode таңбалары</div></td><td data-cell-label=\"Әдепкі\" data-default=\"unspecified\"><span class=\"card-cell-label\">Әдепкі</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><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>Үлгі: ^[A-Za-z0-9_-]{1,128}$</div></td><td data-cell-label=\"Әдепкі\" data-default=\"unspecified\"><span class=\"card-cell-label\">Әдепкі</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><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</div></td><td data-cell-label=\"Әдепкі\" data-default=\"unspecified\"><span class=\"card-cell-label\">Әдепкі</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Кіріс материалдарының үйлесімдері</summary><p class=\"note-s\"><b>text_to_speech</b> · Міндетті: input</p></details><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>material_types</code></th><td data-cell-label=\"Параметр талаптары\"><span class=\"card-cell-label\">Параметр талаптары</span>text</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>null</td></tr><tr><th data-cell-label=\"Параметр\" scope=\"row\"><span class=\"card-cell-label\">Параметр</span><code>optional_controls</code></th><td data-cell-label=\"Параметр талаптары\"><span class=\"card-cell-label\">Параметр талаптары</span>null</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><p class=\"note-s\">Әдіс құрылымдары мен ID мәндері дәл берілген; жеткізушінің мүмкіндігі сұрауды қабылдаудан бөлек қаралады.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Тарифтер</h3><h4>Ailoot әдістерінің мөлшерлемелері</h4><section class=\"meth\" data-route=\"Core\"><header><b><span class=\"alias\">Ailoot</span> Дыбыстау</b><code>POST /v1/audio/speech</code></header><dl><div><dt>Кіріс</dt><dd>60,00 $ <em>1 миллион таңба үшін</em></dd></div></dl></section><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 · Дыбыстау</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Код нұсқалары\"><button class=\"cg-tab\" id=\"model-code-475-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-475-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-475-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-475-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_TEXT_FILE:?Set your actual UTF-8 narration script}&quot;\nexport AILOOT_TEXT_FILE\n: &quot;${AILOOT_VOICE_ID:?Set the actual accepted voice ID for this model}&quot;\nexport AILOOT_VOICE_ID\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;minimax-speech-turbo&quot;, &quot;input&quot;: &quot;&quot;}&#39;)\nf=Path(os.environ[&quot;AILOOT_TEXT_FILE&quot;])\nif not f.is_file():raise SystemExit(&quot;Choose your actual UTF-8 source material&quot;)\ntext=f.read_text(encoding=&quot;utf-8&quot;)\nif not text.strip():raise SystemExit(&quot;Source material must contain text&quot;)\np[&quot;input&quot;]=text\nimport re\nvoice=os.environ[&quot;AILOOT_VOICE_ID&quot;]\nif not re.fullmatch(r&quot;[A-Za-z0-9_-]{1,128}&quot;,voice):raise SystemExit(&quot;Set an actual accepted voice ID&quot;)\np[&quot;voice&quot;]=voice\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\">Нәтижелерді алу және сақтау</h3><h4>Ailoot · Дыбыстау</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><div class=\"card-result-process\" data-all-results><h5>Барлық дайын нәтижені сақтау</h5><p class=\"note-s\">Қайтарылған әр толық жауапты, файлды және мазмұн бөлігін сақтаңыз.</p><p class=\"note-s\">Толық бинарлық нәтижені және тақырыптарды сақтаңыз. JSON/бірнеше нәтиже қайтарылса, әрбір дерек элементін сақтап, активке берілген әрбір нақты қолтаңбаланған URL мекенжайынан жүктеп алыңыз.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Бастапқы жауапты тексеру қажет болса</h5><p class=\"note-s\">Қайта жібермей салыстырып тексеру үшін бастапқы operation_id/X-Client-Request-ID мәнін сақтаңыз; аудио күйін мерзімді түрде сұратуға арналған жеке маршрут жоқ.</p></div><details class=\"card-about\" data-output-fields><summary>Жауап өрістері</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><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\">binary audio</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span>bytes</td></tr><tr><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">response headers</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span>headers</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Қателер және келесі қадамдар</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Жауап</th><th>Шарт</th><th>Келесі қадам</th></tr></thead><tbody><tr><th data-cell-label=\"Жауап\" scope=\"row\"><span class=\"card-cell-label\">Жауап</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Шарт\"><span class=\"card-cell-label\">Шарт</span>Міндетті өрістер, материалды ұсыну тәсілі немесе параметр мәні қате</td><td data-cell-label=\"Келесі қадам\"><span class=\"card-cell-label\">Келесі қадам</span>Жаңадан жасау сұрауын жібермес бұрын көрсетілген өрістерді түзетіңіз.</td></tr><tr><th data-cell-label=\"Жауап\" scope=\"row\"><span class=\"card-cell-label\">Жауап</span><code>server_error</code></th><td data-cell-label=\"Шарт\"><span class=\"card-cell-label\">Шарт</span>Қайтарылған жауапта операцияны немесе нәтижені тексеру қажет екені көрсетілген</td><td data-cell-label=\"Келесі қадам\"><span class=\"card-cell-label\">Келесі қадам</span>Бастапқыда қайтарылған операцияның/тапсырманың ID мәнін, сұрау тақырыптарын және жауабын сақтаңыз; сол бастапқы операцияны қолдау көрсетілетін тәсілдермен оқуды жалғастырыңыз. Жасау сұрауын қайта жібермеңіз.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Балама атаулар</h3><h4>Модельдердің балама атаулары</h4><p class=\"note-s\"><span data-model-alias-route=\"Core\"><b>Ailoot</b> <a href=\"#m=speech-2.8-turbo&amp;route=Core&amp;caller=speech-2.8-turbo&amp;fmt=speech\"><code>speech-2.8-turbo</code></a>, <a href=\"#m=speech-2.8-turbo&amp;route=Core&amp;caller=minimax-speech-turbo&amp;fmt=speech\"><code>minimax-speech-turbo</code></a></span></p><h4>Әдіс жолдарының балама атаулары</h4><p class=\"note-s\">Жоғарыда көрсетілген әдіс жолдарын пайдаланыңыз.</p><h4>Шақыруға арналған байланысты ID</h4><p class=\"note-s\"><a href=\"#m=speech-2.8-turbo&amp;route=Core&amp;caller=speech-2.8-turbo&amp;fmt=speech\"><code>speech-2.8-turbo</code></a>, <a href=\"#m=speech-2.8-turbo&amp;route=Core&amp;caller=minimax-speech-turbo&amp;fmt=speech\"><code>minimax-speech-turbo</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "minimax-speech-turbo",
        "fmt": "speech",
        "http": "POST",
        "path": "/v1/audio/speech",
        "request_model_id": "minimax-speech-turbo",
        "route_label": "Core"
      },
      "method_key": "Core|speech|/v1/audio/speech|minimax-speech-turbo",
      "ordinal": 1,
      "rawMethod": {
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "cache_write_5m": null,
        "conditional_meter": 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": "Міндетті өрістер, материалды ұсыну тәсілі немесе параметр мәні қате",
                "http_status": 400,
                "recovery": "Жаңадан жасау сұрауын жібермес бұрын көрсетілген өрістерді түзетіңіз.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Қайтарылған жауапта операцияны немесе нәтижені тексеру қажет екені көрсетілген",
                "http_status": null,
                "recovery": "Бастапқыда қайтарылған операцияның/тапсырманың ID мәнін, сұрау тақырыптарын және жауабын сақтаңыз; сол бастапқы операцияны қолдау көрсетілетін тәсілдермен оқуды жалғастырыңыз. Жасау сұрауын қайта жібермеңіз.",
                "type": "server_error"
              }
            ],
            "hints": [
              "MiniMax accepts optionalresponse_formatmp3. Actual voice IDs come from the selected model voice profile.",
              "The facade uses bufferedMP3; provider speed/volume/pitch/sample-rate fields are fixed by the adapter, not callercontrols."
            ],
            "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": "Қайта жібермей салыстырып тексеру үшін бастапқы operation_id/X-Client-Request-ID мәнін сақтаңыз; аудио күйін мерзімді түрде сұратуға арналған жеке маршрут жоқ."
            },
            "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": "Толық бинарлық нәтижені және тақырыптарды сақтаңыз. JSON/бірнеше нәтиже қайтарылса, әрбір дерек элементін сақтап, активке берілген әрбір нақты қолтаңбаланған URL мекенжайынан жүктеп алыңыз.",
              "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": [
                  "minimax-speech-turbo"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum_length_exclusive": 10000,
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string",
                "unit": "Unicode таңбалары"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "voice",
                "pattern": "^[A-Za-z0-9_-]{1,128}$",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "mp3"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": []
          },
          "hints": [
            "Әдіс құрылымдары мен ID мәндері дәл берілген; жеткізушінің мүмкіндігі сұрауды қабылдаудан бөлек қаралады."
          ],
          "input": {
            "material_types": [
              "text"
            ],
            "optional_controls": null,
            "required": null
          },
          "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": "Retain original operation_id/X-Client-Request-ID for reconciliation without resubmission; no dedicated audio poll route."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/speech"
          },
          "operation_modes": [
            "audio_speech"
          ],
          "output": {
            "family": [
              "speech"
            ],
            "format": null,
            "multioutputs": "retain every actual response output"
          }
        },
        "ctx": null,
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_TEXT_FILE:?Set your actual UTF-8 narration script}\"\nexport AILOOT_TEXT_FILE\n: \"${AILOOT_VOICE_ID:?Set the actual accepted voice ID for this model}\"\nexport AILOOT_VOICE_ID\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"minimax-speech-turbo\", \"input\": \"\"}')\nf=Path(os.environ[\"AILOOT_TEXT_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose your actual UTF-8 source material\")\ntext=f.read_text(encoding=\"utf-8\")\nif not text.strip():raise SystemExit(\"Source material must contain text\")\np[\"input\"]=text\nimport re\nvoice=os.environ[\"AILOOT_VOICE_ID\"]\nif not re.fullmatch(r\"[A-Za-z0-9_-]{1,128}\",voice):raise SystemExit(\"Set an actual accepted voice ID\")\np[\"voice\"]=voice\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": "Synthesize your actual script",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "speech",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": null,
        "input": [
          "text"
        ],
        "label": "Дыбыстау",
        "max_out": null,
        "max_tool_calls": null,
        "out": null,
        "output": [
          "speech"
        ],
        "path": "/v1/audio/speech",
        "pricing_profiles": [
          {
            "dimensions": {},
            "label": "Core",
            "units": [
              {
                "amount": 60,
                "amount_unit": "usd_per_display_unit",
                "key": "tts_million_chars",
                "label": "per 1 million characters",
                "side": "in"
              }
            ]
          }
        ],
        "request_model_id": "minimax-speech-turbo",
        "route_label": "Core",
        "status_reads": [],
        "tiers": [],
        "tool_prices": null,
        "unit": "tts_million_chars",
        "units": [
          {
            "key": "tts_million_chars",
            "label": "per 1 million characters",
            "side": "in",
            "usd": 60
          }
        ]
      }
    }
  ],
  "model_id": "speech-2.8-turbo",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "392880a07e8d3d04071a195bcd9aaabaa9e61d2562749b5faf542f73ac1f6b72",
    "input_html_sha256": "a62765cdec940c69683b60eaa89fbf485260f4d5c163ae32c30147c5ccfb1908",
    "private_audit_sha256": "766519d6a5227066d89d1800ba54d1e66126e42fe4ac942f8ea1be9c8568153e",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/kk/speech-2-8-turbo/",
    "description": "Speech 2.8 Turbo — дыбыстық белгілері бар және мәнерлілігі басқарылатын табиғи сөйлеудің жылдам синтезі.",
    "locale": "kk",
    "md_url": "https://ailoot.ai/models/kk/speech-2-8-turbo/index.md",
    "title": "speech-2.8-turbo — Ailoot",
    "url": "https://ailoot.ai/models/kk/speech-2-8-turbo/"
  },
  "rawModel": {
    "about": "### Әңгімелесу репликаларын жылдам синтездеу\n\nSpeech 2.8 Turbo аудионы жылдам қалыптастыруды дауыстың табиғи өзгеруімен біріктіреді. Өндіруші Turbo-ны жатық әңгімелесу дыбысталуына бағыттайды: қысқа репликаларға, мәтінді дыбыстауға және дауыстық өзара әрекетке. Бұл карточка мәтінді қабылдап, сөйлеу аудиосын қайтарады.\n\n### Күлкі, тыныс алу және одағайлар\n\nОсы буынның HD нұсқасы сияқты, Turbo Speech 2.8 дыбыстық белгілерін қолдайды. Мәтінге күлкі, жеңіл күлу, жөтел, тамақ кенеп алу, дем алу, дем шығару, күрсіну және басқа қысқа дыбыс белгілерін енгізуге болады. Мұндай басқарылатын біркелкі еместік репликаны әңгімеге ұқсатады: онда мазмұнмен байланысты тыныс алу мен үзілістер пайда болады.\n\nДыбыстық белгі мәтіннің нақты орнына қатысты. Ол үшін модель қарастырған дөңгелек жақшадағы белгілер қолданылады, мысалы `(laughs)` немесе `(breath)`. Әсердің еркін сипаттамасы қолдау көрсетілетін белгінің тең мәнді баламасы емес.\n\n### Дауыс және тіл\n\nSpeech 2.8 тобы орыс тілін қоса алғанда **40 тілді** және дайын дауыстармен жұмысты қолдайды. Өндіруші дауыстың танылатын құрылымын, тыныс алу ерекшеліктерін және цифрлық бұрмаланулардың азайтылуын атап көрсетеді. Клондау мүмкіндігі дауысты бөлек дайындауға жатады; кейін оны синтездеуде қолдануға болады.\n\nMiniMax дауысты таңдауды және қарқын, дыбыс қаттылығы мен биіктігін басқаруды қарастырған. Жылдамдық **0,5–2** аралығында, дыбыс қаттылығы 0-ден жоғары және **10-ға** дейін, биіктік өзгерісі **−12-ден 12-ге** дейін беріледі. Эмоцияны мәтін мағынасына қарай модельдің таңдауына қалдыруға немесе қолмен көрсетуге болады: қуаныш, мұң, ашу, қорқыныш, жиіркену, таңдану немесе сабырлылық.\n\nАйтылуды алмастыру сөздігі мен фонетикалық жазба арқылы нақтылауға болады; онда халықаралық фонетикалық әліпби, қытай пиньині және жапонша оқу нұсқалары қарастырылған. Үзілістер айтылатын үзінділер арасында **0,01–99,99 секунд** аралығында беріледі. Үзіліс ұзақтығы үтірден кейінгі екі таңба дәлдігімен белгіленеді; маркерлер айтылатын үзінділер арасында орналастырылады және қатарынан қойылмайды. Мұндай баптаулар есімдердің, қысқартулардың және мағынасы екіұшты сөздердің дыбысталуын дыбыстау ойымен үйлестіруге мүмкіндік береді.\n\n### Біртіндеп шығару және аудио форматы\n\nСинтез **10 000 таңбадан** аз мәтінді қабылдайды. 3000 таңбадан асатын ұзақ мәтін үшін өндіруші ағындық шығысты ұсынады; дайын аудионы тұтас алу да қарастырылған. Жалпы синтез баптаулары MP3, PCM, FLAC, WAV, Opus және G.711 μ-law нұсқаларын, моно немесе стереоны қамтиды; нақты сұраудың қолжетімді форматтары Ailoot құралдарымен анықталады.\n\nTurbo жылдамдығы — дайын репликаның бекітілген кідірісіне уәде емес, модель нұсқасының сипаттамасы. Бұл сұраудың сандық кідірісі мұнда белгіленбейді. Өндірушінің аталған кеңейтілген баптаулары Ailoot арқылы таңдалған жүгіну тәсілінде қолдау болуын қажет етеді.\n\nҚосымша дыбыс баптаулары **8, 16, 22,05, 24, 32 және 44,1 кГц** дискреттеу жиіліктерін қамтиды. MP3 үшін **32, 64, 128 немесе 256 кбит/с** битрейт қарастырылған. Дауыстың реңкін өзгертіп, бір әсерді қолдануға да болады: кең кеңістіктегі жаңғырық, зал жаңғырығы, телефон дыбысы немесе робот дауысы. Дауысты өзгерту әсерлері аудионы тұтас алғанда MP3, WAV және FLAC үшін, ал ағындық шығыста тек MP3 үшін қолданылады. G.711 μ-law форматтары 8 кГц жиілігін қолданады. Бұл мүмкіндіктер MiniMax синтез баптауларына жатады.\n\nӨндіруші сөйлеуді мәтінмен синхрондауды қарастырған: сөйлемдер, сөздер немесе біртіндеп шығару кезіндегі сөздер бойынша уақыт белгілері. Мұндай нәтиже айтылуды мәтіннің көрсетілуімен үйлестіруге көмектеседі. Бұл қосымша мүмкіндік тиісті жауап форматының қолдауын қажет етеді.",
    "alias_of": null,
    "aliases": [
      "minimax-speech-turbo"
    ],
    "author": "MiniMax",
    "ctx": null,
    "formats": [
      "speech"
    ],
    "id": "speech-2.8-turbo",
    "input": [
      "text"
    ],
    "kind": "speech",
    "max_out": null,
    "methods": [
      {
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "cache_write_5m": null,
        "conditional_meter": 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": "Міндетті өрістер, материалды ұсыну тәсілі немесе параметр мәні қате",
                "http_status": 400,
                "recovery": "Жаңадан жасау сұрауын жібермес бұрын көрсетілген өрістерді түзетіңіз.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Қайтарылған жауапта операцияны немесе нәтижені тексеру қажет екені көрсетілген",
                "http_status": null,
                "recovery": "Бастапқыда қайтарылған операцияның/тапсырманың ID мәнін, сұрау тақырыптарын және жауабын сақтаңыз; сол бастапқы операцияны қолдау көрсетілетін тәсілдермен оқуды жалғастырыңыз. Жасау сұрауын қайта жібермеңіз.",
                "type": "server_error"
              }
            ],
            "hints": [
              "MiniMax accepts optionalresponse_formatmp3. Actual voice IDs come from the selected model voice profile.",
              "The facade uses bufferedMP3; provider speed/volume/pitch/sample-rate fields are fixed by the adapter, not callercontrols."
            ],
            "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": "Қайта жібермей салыстырып тексеру үшін бастапқы operation_id/X-Client-Request-ID мәнін сақтаңыз; аудио күйін мерзімді түрде сұратуға арналған жеке маршрут жоқ."
            },
            "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": "Толық бинарлық нәтижені және тақырыптарды сақтаңыз. JSON/бірнеше нәтиже қайтарылса, әрбір дерек элементін сақтап, активке берілген әрбір нақты қолтаңбаланған URL мекенжайынан жүктеп алыңыз.",
              "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": [
                  "speech-2.8-turbo"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum_length_exclusive": 10000,
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string",
                "unit": "Unicode таңбалары"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "voice",
                "pattern": "^[A-Za-z0-9_-]{1,128}$",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "mp3"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": []
          },
          "hints": [
            "Әдіс құрылымдары мен ID мәндері дәл берілген; жеткізушінің мүмкіндігі сұрауды қабылдаудан бөлек қаралады."
          ],
          "input": {
            "material_types": [
              "text"
            ],
            "optional_controls": null,
            "required": null
          },
          "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": "Retain original operation_id/X-Client-Request-ID for reconciliation without resubmission; no dedicated audio poll route."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/speech"
          },
          "operation_modes": [
            "audio_speech"
          ],
          "output": {
            "family": [
              "speech"
            ],
            "format": null,
            "multioutputs": "retain every actual response output"
          }
        },
        "ctx": null,
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_TEXT_FILE:?Set your actual UTF-8 narration script}\"\nexport AILOOT_TEXT_FILE\n: \"${AILOOT_VOICE_ID:?Set the actual accepted voice ID for this model}\"\nexport AILOOT_VOICE_ID\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"speech-2.8-turbo\", \"input\": \"\"}')\nf=Path(os.environ[\"AILOOT_TEXT_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose your actual UTF-8 source material\")\ntext=f.read_text(encoding=\"utf-8\")\nif not text.strip():raise SystemExit(\"Source material must contain text\")\np[\"input\"]=text\nimport re\nvoice=os.environ[\"AILOOT_VOICE_ID\"]\nif not re.fullmatch(r\"[A-Za-z0-9_-]{1,128}\",voice):raise SystemExit(\"Set an actual accepted voice ID\")\np[\"voice\"]=voice\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": "Synthesize your actual script",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "speech",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": null,
        "input": [
          "text"
        ],
        "label": "Дыбыстау",
        "max_out": null,
        "max_tool_calls": null,
        "out": null,
        "output": [
          "speech"
        ],
        "path": "/v1/audio/speech",
        "pricing_profiles": [
          {
            "dimensions": {},
            "label": "Core",
            "units": [
              {
                "amount": 60,
                "amount_unit": "usd_per_display_unit",
                "key": "tts_million_chars",
                "label": "per 1 million characters",
                "side": "in"
              }
            ]
          }
        ],
        "request_model_id": "speech-2.8-turbo",
        "route_label": "Core",
        "status_reads": [],
        "tiers": [],
        "tool_prices": null,
        "unit": "tts_million_chars",
        "units": [
          {
            "key": "tts_million_chars",
            "label": "per 1 million characters",
            "side": "in",
            "usd": 60
          }
        ]
      },
      {
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "cache_write_5m": null,
        "conditional_meter": 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": "Міндетті өрістер, материалды ұсыну тәсілі немесе параметр мәні қате",
                "http_status": 400,
                "recovery": "Жаңадан жасау сұрауын жібермес бұрын көрсетілген өрістерді түзетіңіз.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Қайтарылған жауапта операцияны немесе нәтижені тексеру қажет екені көрсетілген",
                "http_status": null,
                "recovery": "Бастапқыда қайтарылған операцияның/тапсырманың ID мәнін, сұрау тақырыптарын және жауабын сақтаңыз; сол бастапқы операцияны қолдау көрсетілетін тәсілдермен оқуды жалғастырыңыз. Жасау сұрауын қайта жібермеңіз.",
                "type": "server_error"
              }
            ],
            "hints": [
              "MiniMax accepts optionalresponse_formatmp3. Actual voice IDs come from the selected model voice profile.",
              "The facade uses bufferedMP3; provider speed/volume/pitch/sample-rate fields are fixed by the adapter, not callercontrols."
            ],
            "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": "Қайта жібермей салыстырып тексеру үшін бастапқы operation_id/X-Client-Request-ID мәнін сақтаңыз; аудио күйін мерзімді түрде сұратуға арналған жеке маршрут жоқ."
            },
            "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": "Толық бинарлық нәтижені және тақырыптарды сақтаңыз. JSON/бірнеше нәтиже қайтарылса, әрбір дерек элементін сақтап, активке берілген әрбір нақты қолтаңбаланған URL мекенжайынан жүктеп алыңыз.",
              "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": [
                  "minimax-speech-turbo"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum_length_exclusive": 10000,
                "min_length": 1,
                "name": "input",
                "required": true,
                "type": "string",
                "unit": "Unicode таңбалары"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "voice",
                "pattern": "^[A-Za-z0-9_-]{1,128}$",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "mp3"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": []
          },
          "hints": [
            "Әдіс құрылымдары мен ID мәндері дәл берілген; жеткізушінің мүмкіндігі сұрауды қабылдаудан бөлек қаралады."
          ],
          "input": {
            "material_types": [
              "text"
            ],
            "optional_controls": null,
            "required": null
          },
          "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": "Retain original operation_id/X-Client-Request-ID for reconciliation without resubmission; no dedicated audio poll route."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/speech"
          },
          "operation_modes": [
            "audio_speech"
          ],
          "output": {
            "family": [
              "speech"
            ],
            "format": null,
            "multioutputs": "retain every actual response output"
          }
        },
        "ctx": null,
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_TEXT_FILE:?Set your actual UTF-8 narration script}\"\nexport AILOOT_TEXT_FILE\n: \"${AILOOT_VOICE_ID:?Set the actual accepted voice ID for this model}\"\nexport AILOOT_VOICE_ID\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"minimax-speech-turbo\", \"input\": \"\"}')\nf=Path(os.environ[\"AILOOT_TEXT_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose your actual UTF-8 source material\")\ntext=f.read_text(encoding=\"utf-8\")\nif not text.strip():raise SystemExit(\"Source material must contain text\")\np[\"input\"]=text\nimport re\nvoice=os.environ[\"AILOOT_VOICE_ID\"]\nif not re.fullmatch(r\"[A-Za-z0-9_-]{1,128}\",voice):raise SystemExit(\"Set an actual accepted voice ID\")\np[\"voice\"]=voice\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": "Synthesize your actual script",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "speech",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": null,
        "input": [
          "text"
        ],
        "label": "Дыбыстау",
        "max_out": null,
        "max_tool_calls": null,
        "out": null,
        "output": [
          "speech"
        ],
        "path": "/v1/audio/speech",
        "pricing_profiles": [
          {
            "dimensions": {},
            "label": "Core",
            "units": [
              {
                "amount": 60,
                "amount_unit": "usd_per_display_unit",
                "key": "tts_million_chars",
                "label": "per 1 million characters",
                "side": "in"
              }
            ]
          }
        ],
        "request_model_id": "minimax-speech-turbo",
        "route_label": "Core",
        "status_reads": [],
        "tiers": [],
        "tool_prices": null,
        "unit": "tts_million_chars",
        "units": [
          {
            "key": "tts_million_chars",
            "label": "per 1 million characters",
            "side": "in",
            "usd": 60
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "speech-2.8-turbo",
        "request_model_id": "speech-2.8-turbo",
        "route_label": "Core"
      },
      {
        "canonical_model_id": "speech-2.8-turbo",
        "request_model_id": "minimax-speech-turbo",
        "route_label": "Core"
      }
    ],
    "name": "speech-2.8-turbo",
    "price": {
      "in": 60,
      "in_label": "per 1 million characters",
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": false
    },
    "short": "Speech 2.8 Turbo — дыбыстық белгілері бар және мәнерлілігі басқарылатын табиғи сөйлеудің жылдам синтезі."
  },
  "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
        },
        {
          "contract_json_pointer": "/methods/1/rawMethod/contract",
          "html_json_pointer": "/methods/1/html",
          "method_ordinal": 1
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod",
        "/methods/1/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "Speech 2.8 Turbo — дыбыстық белгілері бар және мәнерлілігі басқарылатын табиғи сөйлеудің жылдам синтезі.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "51f74a7c571ac0728ffb56f36eadc55ba2ceaafd7c2c9a1ed1ed99e3d9b1a945",
    "renderer_sha256": "def3bb6e69c8ddb72f88ec6540bbe55d0e503790f964d84073ecda781b13bedf"
  },
  "sourceRevision": "96c783bd87b8af24d34bf09463bd526c09478741ee4dff5e854db95ef23a283c"
}
