{
  "aboutHtml": "<p>Transcribe 1 — қысқа жазбаларға арналған Fish Audio әмбебап сөйлеуді мәтінге айналдыру моделі. Ол аудиофайлды қабылдап, танылған сөздерді мәтін түрінде, жазба ұзақтығымен, қажет болса уақытпен белгіленген сегменттермен және белгілі болғанда тіл ақпаратымен қайтарады. Бұл модель қысқа дауыстық жазбаға, ауызша нұсқауға, жазбаның бір бөлігіне немесе оқылатын мәтіндік нұсқасы қажет аудиоүзіндіге пайдалы.</p><p>Дауыстық жазба үдерісінің мысалы жазбаны толық транскриптімен және бастапқы үзінді идентификаторымен бірге сақтайды. Кейінгі қолданба қадамы айтылған дереккөзді сақтай отырып, осы мәтіннен іздей алады, жазбаны ұйымдастыра алады немесе қысқаша мазмұн жасай алады. Команда үшін транскрипт қолданбаға танылған сөздерді береді; кез келген әрекет — бөлек түсіндіру және орындау қадамы. Сұхбат үзіндісі үшін дәйексөзді дұрыс жерден тексеру мақсатында оның толық аудиодағы орнын тіркеңіз.</p><p>Өндіруші WAV, MP3, M4A/MP4 қамтитын AAC, FLAC және Opus не Vorbis бар Ogg пішімдерін қабылдайды. Бұл модель үшін браузердегі WebM жазбаларын Ogg/Opus, MP3 немесе WAV пішіміне түрлендіру керек; Pro қосымша контейнерлердің табиғи қолдауын құжаттайды. Әр сұрауға бір аудиофайл беріңіз. Негізгі модельдің құжатталған сұрау көлемі — ең көбі 50 MiB, ал MP3 пен Opus файлдары 25 MiB-тан аз болуы тиіс. Файл көлемі мен жазба ұзақтығы бөлек қаралады: сығылған файл жүктеу шегіне сыйса да, оны өңдеу тым ұзаққа созылуы мүмкін.</p><p>Transcribe 1 қысқа жазбаларға арналған. Өндіруші бірнеше минуттан ұзақ аудиоға Pro ұсынады; негізгі модельге жіберілген ұзақ сұрау өңдеу уақытының шегінен асса, сәтсіз аяқталуы мүмкін. Ұзын дереккөзді қысқа үзінділерге бөліп транскрипциялағанда әр үзіндінің басталу ығысуын сақтап, нәтижелерді біріктірмес бұрын қайтарылған транскрипт толық үзіндіні қамтитынын тексеріңіз. Навигацияны толық жазбамен байланыстыру үшін жергілікті сегмент уақыттарына бастапқы ығысуды қосыңыз. Негізгі модель нұсқауын Pro нұсқасының бөлек 60 минуттық шегі деп түсіндірмеңіз.</p><p>Өндіруші жауабына мәтін, ұзақтық және сегменттер кіреді. Ұзақтық секундпен беріледі, ал оқуға ыңғайлы толық транскрипт үзіндінің негізгі мәтіні ретінде сақталуы тиіс. Уақыт белгілері міндетті емес: өндіруші API интерфейсінде ignore_timestamps әдепкіде true, ал false мәтіні, секундпен берілген басталу және аяқталу уақыты бар сөз деңгейіндегі сегменттерді сұрайды. Уақыт бойынша сәйкестендіруді сұрау өңдеу уақытын ұзартады. Бос segments массиві уақытты анықтау өткізіліп жіберілгенін, сөйлеу жоқ екенін немесе сәйкестендірудің уақытша қолжетімсіздігін білдіруі мүмкін, сондықтан оны автоматты түрде толық транскрипт бос деген белгі деп қабылдамаңыз.</p><p>Сегменттер әдетте сөздерден, ал қытай және жапон тілдерінде бір не бірнеше таңбадан тұрады. Олардың мәтінінде тыныс белгілері жоқ және мәндер толық транскрипттен өзгеше қалыпқа келтірілуі мүмкін; бұл оқуға арналған жауаптың таңба сайын дәл көшірмесі емес. Сегменттің басталу және аяқталу уақыты бірдей болуы мүмкін. Сегменттерді жазбадағы орынды табуға немесе уақытқа сай көрсетуге, ал толық мәтінді сөздер мен тыныс белгілері маңызды кезде пайдаланыңыз. Алынған артефактта осы екі көріністі бөлек ұстаңыз.</p><p>Қосымша тіл нұсқауы берілсе де, берілмесе де тіл автоматты анықталады. Өндіруші нұсқаулар үшін кіші әріппен жазылған ISO 639-1 кодтарын құжаттайды және белгілі болғанда қолданба логикасына тіл кодын, көрсетуге тіл атауын қайтарады. Жауап тіл ауысып отыратын жазбадағы барлық тілдерді емес, бір тілді хабарлайды. Транскрипция сұрауын аудару операциясы деп қабылдамай, бастапқы сөздер мен қолжетімді тіл метадеректерін нәтижемен бірге сақтаңыз.</p><p>Субтитр үдерісінде сөздерді бір-бірлеп көрсетудің орнына қатар тұрған уақыт сегменттерін оқуға ыңғайлы титрлерге топтастырыңыз. Пайдалы нәтиже — бастапқы үзіндімен байланыстырылған, кідірістерге сай шекаралары және экранға лайық мәтін көлемі бар SRT немесе WebVTT файлы. Жетіспейтін уақыт белгілерін тексеріп, әр титрдің аяқталуы басталуынан кейін келетінін растаңыз. Субтитрді топтау мен файлды пішімдеу — қайтарылған сәйкестендіруден жасалатын қолданба қадамдары, ал көрсету таңдаулары ойнатқыш пен аудиторияға сай болуы тиіс.</p><p>Transcribe 1 моделінің құжатталған басқару элементтері — аудио, тіл нұсқауы және уақыт белгілерін таңдау. Pro нұсқасының сөйлеуші маркерлері, құрылымды сөйлеуші кезектері, эмоциялық оқиғаларды басқару және сөйлеуші саны туралы нұсқаулар бөлек мүмкіндіктер; олар осы негізгі модельдің құжатталған жауап келісіміне кірмейді. Өңдеуден бұрын қажетті артефактты таңдаңыз: жазбаға жай оқылатын мәтін, ал ойнату навигациясы мен субтитрге мәтін және уақыттық сәйкестендіру. Үзінді идентификаторын, транскриптті және бар уақыт ақпаратын сақтау нәтижені келесі қолданба кезеңіне пайдалы етеді.</p>",
  "aboutText": "Transcribe 1 — қысқа жазбаларға арналған Fish Audio әмбебап сөйлеуді мәтінге айналдыру моделі. Ол аудиофайлды қабылдап, танылған сөздерді мәтін түрінде, жазба ұзақтығымен, қажет болса уақытпен белгіленген сегменттермен және белгілі болғанда тіл ақпаратымен қайтарады. Бұл модель қысқа дауыстық жазбаға, ауызша нұсқауға, жазбаның бір бөлігіне немесе оқылатын мәтіндік нұсқасы қажет аудиоүзіндіге пайдалы.\n\nДауыстық жазба үдерісінің мысалы жазбаны толық транскриптімен және бастапқы үзінді идентификаторымен бірге сақтайды. Кейінгі қолданба қадамы айтылған дереккөзді сақтай отырып, осы мәтіннен іздей алады, жазбаны ұйымдастыра алады немесе қысқаша мазмұн жасай алады. Команда үшін транскрипт қолданбаға танылған сөздерді береді; кез келген әрекет — бөлек түсіндіру және орындау қадамы. Сұхбат үзіндісі үшін дәйексөзді дұрыс жерден тексеру мақсатында оның толық аудиодағы орнын тіркеңіз.\n\nӨндіруші WAV, MP3, M4A/MP4 қамтитын AAC, FLAC және Opus не Vorbis бар Ogg пішімдерін қабылдайды. Бұл модель үшін браузердегі WebM жазбаларын Ogg/Opus, MP3 немесе WAV пішіміне түрлендіру керек; Pro қосымша контейнерлердің табиғи қолдауын құжаттайды. Әр сұрауға бір аудиофайл беріңіз. Негізгі модельдің құжатталған сұрау көлемі — ең көбі 50 MiB, ал MP3 пен Opus файлдары 25 MiB-тан аз болуы тиіс. Файл көлемі мен жазба ұзақтығы бөлек қаралады: сығылған файл жүктеу шегіне сыйса да, оны өңдеу тым ұзаққа созылуы мүмкін.\n\nTranscribe 1 қысқа жазбаларға арналған. Өндіруші бірнеше минуттан ұзақ аудиоға Pro ұсынады; негізгі модельге жіберілген ұзақ сұрау өңдеу уақытының шегінен асса, сәтсіз аяқталуы мүмкін. Ұзын дереккөзді қысқа үзінділерге бөліп транскрипциялағанда әр үзіндінің басталу ығысуын сақтап, нәтижелерді біріктірмес бұрын қайтарылған транскрипт толық үзіндіні қамтитынын тексеріңіз. Навигацияны толық жазбамен байланыстыру үшін жергілікті сегмент уақыттарына бастапқы ығысуды қосыңыз. Негізгі модель нұсқауын Pro нұсқасының бөлек 60 минуттық шегі деп түсіндірмеңіз.\n\nӨндіруші жауабына мәтін, ұзақтық және сегменттер кіреді. Ұзақтық секундпен беріледі, ал оқуға ыңғайлы толық транскрипт үзіндінің негізгі мәтіні ретінде сақталуы тиіс. Уақыт белгілері міндетті емес: өндіруші API интерфейсінде ignore_timestamps әдепкіде true, ал false мәтіні, секундпен берілген басталу және аяқталу уақыты бар сөз деңгейіндегі сегменттерді сұрайды. Уақыт бойынша сәйкестендіруді сұрау өңдеу уақытын ұзартады. Бос segments массиві уақытты анықтау өткізіліп жіберілгенін, сөйлеу жоқ екенін немесе сәйкестендірудің уақытша қолжетімсіздігін білдіруі мүмкін, сондықтан оны автоматты түрде толық транскрипт бос деген белгі деп қабылдамаңыз.\n\nСегменттер әдетте сөздерден, ал қытай және жапон тілдерінде бір не бірнеше таңбадан тұрады. Олардың мәтінінде тыныс белгілері жоқ және мәндер толық транскрипттен өзгеше қалыпқа келтірілуі мүмкін; бұл оқуға арналған жауаптың таңба сайын дәл көшірмесі емес. Сегменттің басталу және аяқталу уақыты бірдей болуы мүмкін. Сегменттерді жазбадағы орынды табуға немесе уақытқа сай көрсетуге, ал толық мәтінді сөздер мен тыныс белгілері маңызды кезде пайдаланыңыз. Алынған артефактта осы екі көріністі бөлек ұстаңыз.\n\nҚосымша тіл нұсқауы берілсе де, берілмесе де тіл автоматты анықталады. Өндіруші нұсқаулар үшін кіші әріппен жазылған ISO 639-1 кодтарын құжаттайды және белгілі болғанда қолданба логикасына тіл кодын, көрсетуге тіл атауын қайтарады. Жауап тіл ауысып отыратын жазбадағы барлық тілдерді емес, бір тілді хабарлайды. Транскрипция сұрауын аудару операциясы деп қабылдамай, бастапқы сөздер мен қолжетімді тіл метадеректерін нәтижемен бірге сақтаңыз.\n\nСубтитр үдерісінде сөздерді бір-бірлеп көрсетудің орнына қатар тұрған уақыт сегменттерін оқуға ыңғайлы титрлерге топтастырыңыз. Пайдалы нәтиже — бастапқы үзіндімен байланыстырылған, кідірістерге сай шекаралары және экранға лайық мәтін көлемі бар SRT немесе WebVTT файлы. Жетіспейтін уақыт белгілерін тексеріп, әр титрдің аяқталуы басталуынан кейін келетінін растаңыз. Субтитрді топтау мен файлды пішімдеу — қайтарылған сәйкестендіруден жасалатын қолданба қадамдары, ал көрсету таңдаулары ойнатқыш пен аудиторияға сай болуы тиіс.\n\nTranscribe 1 моделінің құжатталған басқару элементтері — аудио, тіл нұсқауы және уақыт белгілерін таңдау. Pro нұсқасының сөйлеуші маркерлері, құрылымды сөйлеуші кезектері, эмоциялық оқиғаларды басқару және сөйлеуші саны туралы нұсқаулар бөлек мүмкіндіктер; олар осы негізгі модельдің құжатталған жауап келісіміне кірмейді. Өңдеуден бұрын қажетті артефактты таңдаңыз: жазбаға жай оқылатын мәтін, ал ойнату навигациясы мен субтитрге мәтін және уақыттық сәйкестендіру. Үзінді идентификаторын, транскриптті және бар уақыт ақпаратын сақтау нәтижені келесі қолданба кезеңіне пайдалы етеді.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "6f5c7707affa61f94878db4bf0a529b25ad323645fe670b1e2787f2d9cedecae",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "kk",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">Fish Audio: Transcribe 1</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Жабу\">×</button></div><div class=\"idline\"><span>Fish Audio /</span><code>fish-audio/transcribe-1</code><button type=\"button\" id=\"copy-id\">ID көшіру</button></div><nav class=\"card-jump-nav\" aria-label=\"Модель карточкасының бөлімдері\"><button type=\"button\" data-card-jump=\"overview\">Бастау</button><button type=\"button\" data-card-jump=\"methods\">Кіріс деректері мен әдістер</button><button type=\"button\" data-card-jump=\"pricing\">Тарифтер</button><button type=\"button\" data-card-jump=\"examples\">Мысалдар</button><button type=\"button\" data-card-jump=\"results\">Нәтижелер</button><button type=\"button\" data-card-jump=\"aliases\">Балама атаулар</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"API әдістері\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|transcriptions|/v1/audio/transcriptions|fish-audio%2Ftranscribe-1\">Тану</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-0\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">Бастау</h3><p class=\"mdesc-full\">Transcribe 1 қысқа аудиожазбаларды тілді автоматты анықтау және қажет болса сөз деңгейіндегі уақыт белгілерімен мәтінге айналдырады. Транскриптті дауыстық жазбаларға, іздеуге болатын үзінділерге немесе субтитр дайындауға қолданыңыз; уақыты көрсетілген сегменттерді оқуға ыңғайлы толық мәтіннен бөлек сақтаңыз.</p><dl class=\"card-io\" data-card-io><div><dt>Қабылданатын кіріс деректері</dt><dd>Аудио</dd></div><div><dt>Нәтижелер</dt><dd>Мәтін</dd></div></dl><details class=\"card-about\"><summary>Модель туралы</summary><p class=\"note-s\" data-model-method-boundary>Бұл сипаттама модель мүмкіндіктерін қамтиды. Ailoot жүйесінде таңдалған әдіс үшін қолжетімді кіріс, шығыс және параметрлер төменде берілген.</p><div class=\"mabout\" id=\"m-about\"><p>Transcribe 1 — қысқа жазбаларға арналған Fish Audio әмбебап сөйлеуді мәтінге айналдыру моделі. Ол аудиофайлды қабылдап, танылған сөздерді мәтін түрінде, жазба ұзақтығымен, қажет болса уақытпен белгіленген сегменттермен және белгілі болғанда тіл ақпаратымен қайтарады. Бұл модель қысқа дауыстық жазбаға, ауызша нұсқауға, жазбаның бір бөлігіне немесе оқылатын мәтіндік нұсқасы қажет аудиоүзіндіге пайдалы.</p><p>Дауыстық жазба үдерісінің мысалы жазбаны толық транскриптімен және бастапқы үзінді идентификаторымен бірге сақтайды. Кейінгі қолданба қадамы айтылған дереккөзді сақтай отырып, осы мәтіннен іздей алады, жазбаны ұйымдастыра алады немесе қысқаша мазмұн жасай алады. Команда үшін транскрипт қолданбаға танылған сөздерді береді; кез келген әрекет — бөлек түсіндіру және орындау қадамы. Сұхбат үзіндісі үшін дәйексөзді дұрыс жерден тексеру мақсатында оның толық аудиодағы орнын тіркеңіз.</p><p>Өндіруші WAV, MP3, M4A/MP4 қамтитын AAC, FLAC және Opus не Vorbis бар Ogg пішімдерін қабылдайды. Бұл модель үшін браузердегі WebM жазбаларын Ogg/Opus, MP3 немесе WAV пішіміне түрлендіру керек; Pro қосымша контейнерлердің табиғи қолдауын құжаттайды. Әр сұрауға бір аудиофайл беріңіз. Негізгі модельдің құжатталған сұрау көлемі — ең көбі 50 MiB, ал MP3 пен Opus файлдары 25 MiB-тан аз болуы тиіс. Файл көлемі мен жазба ұзақтығы бөлек қаралады: сығылған файл жүктеу шегіне сыйса да, оны өңдеу тым ұзаққа созылуы мүмкін.</p><p>Transcribe 1 қысқа жазбаларға арналған. Өндіруші бірнеше минуттан ұзақ аудиоға Pro ұсынады; негізгі модельге жіберілген ұзақ сұрау өңдеу уақытының шегінен асса, сәтсіз аяқталуы мүмкін. Ұзын дереккөзді қысқа үзінділерге бөліп транскрипциялағанда әр үзіндінің басталу ығысуын сақтап, нәтижелерді біріктірмес бұрын қайтарылған транскрипт толық үзіндіні қамтитынын тексеріңіз. Навигацияны толық жазбамен байланыстыру үшін жергілікті сегмент уақыттарына бастапқы ығысуды қосыңыз. Негізгі модель нұсқауын Pro нұсқасының бөлек 60 минуттық шегі деп түсіндірмеңіз.</p><p>Өндіруші жауабына мәтін, ұзақтық және сегменттер кіреді. Ұзақтық секундпен беріледі, ал оқуға ыңғайлы толық транскрипт үзіндінің негізгі мәтіні ретінде сақталуы тиіс. Уақыт белгілері міндетті емес: өндіруші API интерфейсінде ignore_timestamps әдепкіде true, ал false мәтіні, секундпен берілген басталу және аяқталу уақыты бар сөз деңгейіндегі сегменттерді сұрайды. Уақыт бойынша сәйкестендіруді сұрау өңдеу уақытын ұзартады. Бос segments массиві уақытты анықтау өткізіліп жіберілгенін, сөйлеу жоқ екенін немесе сәйкестендірудің уақытша қолжетімсіздігін білдіруі мүмкін, сондықтан оны автоматты түрде толық транскрипт бос деген белгі деп қабылдамаңыз.</p><p>Сегменттер әдетте сөздерден, ал қытай және жапон тілдерінде бір не бірнеше таңбадан тұрады. Олардың мәтінінде тыныс белгілері жоқ және мәндер толық транскрипттен өзгеше қалыпқа келтірілуі мүмкін; бұл оқуға арналған жауаптың таңба сайын дәл көшірмесі емес. Сегменттің басталу және аяқталу уақыты бірдей болуы мүмкін. Сегменттерді жазбадағы орынды табуға немесе уақытқа сай көрсетуге, ал толық мәтінді сөздер мен тыныс белгілері маңызды кезде пайдаланыңыз. Алынған артефактта осы екі көріністі бөлек ұстаңыз.</p><p>Қосымша тіл нұсқауы берілсе де, берілмесе де тіл автоматты анықталады. Өндіруші нұсқаулар үшін кіші әріппен жазылған ISO 639-1 кодтарын құжаттайды және белгілі болғанда қолданба логикасына тіл кодын, көрсетуге тіл атауын қайтарады. Жауап тіл ауысып отыратын жазбадағы барлық тілдерді емес, бір тілді хабарлайды. Транскрипция сұрауын аудару операциясы деп қабылдамай, бастапқы сөздер мен қолжетімді тіл метадеректерін нәтижемен бірге сақтаңыз.</p><p>Субтитр үдерісінде сөздерді бір-бірлеп көрсетудің орнына қатар тұрған уақыт сегменттерін оқуға ыңғайлы титрлерге топтастырыңыз. Пайдалы нәтиже — бастапқы үзіндімен байланыстырылған, кідірістерге сай шекаралары және экранға лайық мәтін көлемі бар SRT немесе WebVTT файлы. Жетіспейтін уақыт белгілерін тексеріп, әр титрдің аяқталуы басталуынан кейін келетінін растаңыз. Субтитрді топтау мен файлды пішімдеу — қайтарылған сәйкестендіруден жасалатын қолданба қадамдары, ал көрсету таңдаулары ойнатқыш пен аудиторияға сай болуы тиіс.</p><p>Transcribe 1 моделінің құжатталған басқару элементтері — аудио, тіл нұсқауы және уақыт белгілерін таңдау. Pro нұсқасының сөйлеуші маркерлері, құрылымды сөйлеуші кезектері, эмоциялық оқиғаларды басқару және сөйлеуші саны туралы нұсқаулар бөлек мүмкіндіктер; олар осы негізгі модельдің құжатталған жауап келісіміне кірмейді. Өңдеуден бұрын қажетті артефактты таңдаңыз: жазбаға жай оқылатын мәтін, ал ойнату навигациясы мен субтитрге мәтін және уақыттық сәйкестендіру. Үзінді идентификаторын, транскриптті және бар уақыт ақпаратын сақтау нәтижені келесі қолданба кезеңіне пайдалы етеді.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Ailoot жүйесінде қолжетімді · кіріс деректері мен әдістер</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Дыбысты мәтінге түсіру</b> <code>POST /v1/audio/transcriptions</code></summary><dl class=\"method-capabilities\"><div><dt>Кіріс</dt><dd><code>audio</code></dd></div><div><dt>Шығыс</dt><dd><code>text</code></dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Өріс</th><th>Түрі</th><th>Талап</th><th>Мәндер мен шектеулер</th><th>Әдепкі</th></tr></thead><tbody><tr><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span><code>string</code></td><td data-cell-label=\"Талап\"><span class=\"card-cell-label\">Талап</span>Міндетті</td><td data-cell-label=\"Мәндер мен шектеулер\"><span class=\"card-cell-label\">Мәндер мен шектеулер</span><div>fish-audio/transcribe-1</div></td><td data-cell-label=\"Әдепкі\" data-default=\"unspecified\"><span class=\"card-cell-label\">Әдепкі</span>—</td></tr><tr><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">input_audio</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span><code>object</code></td><td data-cell-label=\"Талап\"><span class=\"card-cell-label\">Талап</span>Міндетті</td><td data-cell-label=\"Мәндер мен шектеулер\"><span class=\"card-cell-label\">Мәндер мен шектеулер</span></td><td data-cell-label=\"Әдепкі\" data-default=\"unspecified\"><span class=\"card-cell-label\">Әдепкі</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>Әдіс параметрлері мен өмірлік циклі</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Параметр</th><th>Параметр талаптары</th></tr></thead><tbody><tr><th data-cell-label=\"Параметр\" scope=\"row\"><span class=\"card-cell-label\">Параметр</span><code>content_type</code></th><td data-cell-label=\"Параметр талаптары\"><span class=\"card-cell-label\">Параметр талаптары</span>application/json</td></tr><tr><th data-cell-label=\"Параметр\" scope=\"row\"><span class=\"card-cell-label\">Параметр</span><code>required</code></th><td data-cell-label=\"Параметр талаптары\"><span class=\"card-cell-label\">Параметр талаптары</span>model, input_audio</td></tr><tr><th data-cell-label=\"Параметр\" scope=\"row\"><span class=\"card-cell-label\">Параметр</span><code>material_types</code></th><td data-cell-label=\"Параметр талаптары\"><span class=\"card-cell-label\">Параметр талаптары</span>audio</td></tr><tr><th data-cell-label=\"Параметр\" scope=\"row\"><span class=\"card-cell-label\">Параметр</span><code>material_conditions</code></th><td data-cell-label=\"Параметр талаптары\"><span class=\"card-cell-label\">Параметр талаптары</span>Мысал сіздің нақты, бос емес PCM WAV файлыңызды оқып, файлдың барлық байтын base64 пішіміне кодтайды және input_audio.format өрісін wav мәнімен жібереді.</td></tr></tbody></table></div><p>Өмірлік цикл: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · иелігіңіздегі бар медиа жазбасынан алынған дәл task_id</p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}/content</code></p><p class=\"note-s\"><code>GET /v1/media/assets</code></p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Тарифтер</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Тариф анықтамасы сұрау мүмкіндіктерін қоспайды. Қолдау көрсетілетін параметрлер таңдалған әдісте берілген.</p><dl data-price-conditions><dt>Жылдам режим</dt><dd>Көрсетілмеген <span class=\"note-s\">Жылдам режим таңдалғанда</span></dd><dt>Икемді режим</dt><dd>Көрсетілмеген <span class=\"note-s\">flex режимі таңдалғанда</span></dd><dt>Ой қорытудың ең жоғары деңгейі</dt><dd>Көрсетілмеген <span class=\"note-s\">Ой қорыту деңгейі ең жоғары болып, default түзетуі қолданылғанда</span></dd></dl></div><div data-declared-tariff-pricing><h4>Ailoot мөлшерлемелері</h4><h4>Баптаулар бойынша бағалар</h4><p class=\"note-s\">Әр төлемді көрсетілген шарттармен салыстырыңыз. Балама баптаулардың әр жиыны үшін бір мөлшерлемені қолданыңыз.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Баптау</th><th>Мөлшерлемелер кестесі</th><th>Есептеу бірлігі</th><th>Төлем</th></tr></thead><tbody><tr><th data-cell-label=\"Баптау\" scope=\"row\"><span class=\"card-cell-label\">Баптау</span>Токендердің базалық тарифтері</th><td data-cell-label=\"Мөлшерлемелер кестесі\"><span class=\"card-cell-label\">Мөлшерлемелер кестесі</span>Негізгі мөлшерлеме</td><td data-cell-label=\"Есептеу бірлігі\"><span class=\"card-cell-label\">Есептеу бірлігі</span>—</td><td data-cell-label=\"Төлем\"><span class=\"card-cell-label\">Төлем</span><div><span>Кіріс · Кіріс токендері</span> <b>—</b> <span class=\"price-unit\">/ 1K токен</span></div><div><span>Шығыс · Шығыс токендері</span> <b>—</b> <span class=\"price-unit\">/ 1K токен</span></div><div><span>Кіріс · Кэшті оқу</span> <b>—</b> <span class=\"price-unit\">/ 1K токен</span></div><div><span>Кіріс · Кэшке жазу</span> <b>—</b> <span class=\"price-unit\">/ 1K токен</span></div><div><span>Кіріс · Кэшке жазу, 1 сағ</span> <b>—</b> <span class=\"price-unit\">/ 1K токен</span></div></td></tr><tr><th data-cell-label=\"Баптау\" scope=\"row\"><span class=\"card-cell-label\">Баптау</span>кіріс аудио секунды</th><td data-cell-label=\"Мөлшерлемелер кестесі\"><span class=\"card-cell-label\">Мөлшерлемелер кестесі</span>—</td><td data-cell-label=\"Есептеу бірлігі\"><span class=\"card-cell-label\">Есептеу бірлігі</span>кіріс аудионың секунды үшін</td><td data-cell-label=\"Төлем\"><span class=\"card-cell-label\">Төлем</span><div><span>Кіріс · кіріс аудио секунды</span> <b>$0.0002</b> <span class=\"price-unit\">кіріс аудионың секунды үшін</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot сұрау алдында болжамды соманы резервтейді. Нәтижеден кейін өлшенген пайдалану көлемі бойынша қорытынды төлемді шегереді. Ағындық жауап үшін төлем соңғы пайдалану жазбасы негізінде шегеріледі. <a href=\"/docs/kk/billing/reserve/\">Резервтеу мен төлемді есептеу тәртібі →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Сұрау мысалдары</h3><h4>Ailoot Ultra · Дыбысты мәтінге түсіру</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Код нұсқалары\"><button class=\"cg-tab\" id=\"model-code-1361-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1361-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · нақты WAV файлы және бастапқы толық нәтиже</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-1361-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1361-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_AUDIO_FILE:?Set the path to your actual PCM WAV recording}&quot;\nexport AILOOT_AUDIO_FILE\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport base64, io, json, os, wave\nfrom pathlib import Path\naudio = Path(os.environ[&#39;AILOOT_AUDIO_FILE&#39;]).read_bytes()\nif not (audio[:4] == b&#39;RIFF&#39; and audio[8:12] == b&#39;WAVE&#39;):\n    raise SystemExit(&#39;Supply your actual PCM WAV audio file&#39;)\nwith wave.open(io.BytesIO(audio), &#39;rb&#39;) as recording:\n    if recording.getcomptype() != &#39;NONE&#39; or recording.getnframes() &lt;= 0:\n        raise SystemExit(&#39;Supply a nonempty PCM WAV recording&#39;)\nrequest = {&#39;model&#39;: &#39;fish-audio/transcribe-1&#39;, &#39;input_audio&#39;: {&#39;data&#39;: base64.b64encode(audio).decode(&#39;ascii&#39;), &#39;format&#39;: &#39;wav&#39;}}\nPath(&#39;request.json&#39;).write_text(json.dumps(request, ensure_ascii=False), encoding=&#39;utf-8&#39;)\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete original response, headers and actual X-Client-Request-ID.\n# Read existing owned records for recovery; do not resubmit an uncertain operation.\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Нәтижелерді алу және сақтау</h3><h4>Ailoot Ultra · Дыбысты мәтінге түсіру</h4><p class=\"note-s\">Бастапқы жауаптың толық денесі, күйі және әрі қарай берілген тақырыптары. Бұл өңдегіш әмбебап JSON құрылымын, мәтін өрісін немесе тапсырманың сыртқы құрылымын қоспайды.</p><ul class=\"card-result-paths\"><li><code>GET /v1/media/tasks/{task_id}</code></li><li><code>GET /v1/media/assets/{asset_id}/content</code></li><li><code>GET /v1/media/assets</code></li><li><code>GET /v1/media/assets/{asset_id}</code></li></ul><div class=\"card-result-process\" data-all-results><h5>Барлық дайын нәтижені сақтау</h5><p class=\"note-s\">Қайтарылған әр толық жауапты, файлды және мазмұн бөлігін сақтаңыз.</p><p class=\"note-s\">Толық жауапты және тақырыптарды, алынған әрбір нәтижені, бастапқыда қайтарылған идентификаторларды және пайдалану туралы барлық өрістерді сақтаңыз. Жасау сұрауын қайта жібермей, бастапқы операцияны қалпына келтіріңіз.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Бастапқы жауапты тексеру қажет болса</h5><p class=\"note-s\">Нақты X-Client-Request-ID мәнін және толық жауапты сақтаңыз. Иелігіңіздегі бастапқы ресурстарды және олардың қолтаңбасы бар дәл мазмұн URL мекенжайларын оқыңыз; нәтижесі белгісіз жасау сұрауын ешқашан қайта жібермеңіз.</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\">text (when present)</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span></td></tr><tr><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">usage (when present)</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span></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>JSON денесі немесе нақты канондық модель ID мәні жарамсыз.</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>401 · <code>authentication_error</code></th><td data-cell-label=\"Шарт\"><span class=\"card-cell-label\">Шарт</span>Ailoot API кілті жарамсыз.</td><td data-cell-label=\"Келесі қадам\"><span class=\"card-cell-label\">Келесі қадам</span>Пайдалануға рұқсат етілген Ailoot API кілтіңізді қолданыңыз.</td></tr><tr><th data-cell-label=\"Жауап\" scope=\"row\"><span class=\"card-cell-label\">Жауап</span>403 · <code>permission_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>404 · <code>not_found_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>422 · <code>price_unavailable</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>503 · <code></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>502 · <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=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=fish-audio%2Ftranscribe-1&amp;route=Ultra&amp;caller=fish-audio%2Ftranscribe-1&amp;fmt=transcriptions\"><code>fish-audio/transcribe-1</code></a></span></p><h4>Әдіс жолдарының балама атаулары</h4><p class=\"note-s\">Жоғарыда көрсетілген әдіс жолдарын пайдаланыңыз.</p><h4>Шақыруға арналған байланысты ID</h4><p class=\"note-s\"><a href=\"#m=fish-audio%2Ftranscribe-1&amp;route=Ultra&amp;caller=fish-audio%2Ftranscribe-1&amp;fmt=transcriptions\"><code>fish-audio/transcribe-1</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "fish-audio/transcribe-1",
        "fmt": "transcriptions",
        "http": "POST",
        "path": "/v1/audio/transcriptions",
        "request_model_id": "fish-audio/transcribe-1",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|transcriptions|/v1/audio/transcriptions|fish-audio%2Ftranscribe-1",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "errors": [
              {
                "code": null,
                "condition": "JSON денесі немесе нақты канондық модель ID мәні жарамсыз.",
                "http_status": 400,
                "recovery": "Жауапты сақтап, сұраудың көрсетілген өрісін түзетіңіз.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Ailoot API кілті жарамсыз.",
                "http_status": 401,
                "recovery": "Пайдалануға рұқсат етілген Ailoot API кілтіңізді қолданыңыз.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "Кілттің тобына бұл әдісті пайдалануға рұқсат берілмеген.",
                "http_status": 403,
                "recovery": "Қайтарылған қатенің толық мәліметін сақтаңыз.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "Таңдалған әдісте пайдалануға рұқсат етілген маршрут жоқ.",
                "http_status": 404,
                "recovery": "Қайтарылған қатенің толық мәліметін сақтаңыз.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "Қабылданған тариф өзіне қажетті кіріс мөлшерін немесе шегін ала алмайды.",
                "http_status": 422,
                "recovery": "Жауапты сақтаңыз; қабылданған тариф талап ететін кіріс пішімін пайдаланыңыз.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Қажетті қойма, маршрут, әдіс бағасы немесе қаражат резерві қолжетімді емес.",
                "http_status": 503,
                "recovery": "Бастапқы жауапты толық сақтаңыз. Нәтижесі белгісіз қаражат резерві сұрауды қайта жіберуге рұқсат бермейді.",
                "type": null
              },
              {
                "code": null,
                "condition": "Бастапқы нәтижені, пайдалану деректерін немесе есеп айырысуды тексеру қажет.",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "Нақты сұрау ID мәнін және бастапқы жауапты сақтаңыз. Иелігіңіздегі бар жазбаны оқыңыз; жасау сұрауын қайта жібермеңіз.",
                "response_headers": {
                  "x-should-retry": "false"
                },
                "type": "server_error"
              }
            ],
            "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 content URL"
                }
              ],
              "dedicated_method_polling_or_cancel": false,
              "mode": "synchronous_result_then_owned_library",
              "original_POST_adds_task_envelope": false,
              "status": [
                {
                  "http": "GET",
                  "id_source": "exact task_id from an existing owned media record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Нақты X-Client-Request-ID мәнін және толық жауапты сақтаңыз. Иелігіңіздегі бастапқы ресурстарды және олардың қолтаңбасы бар дәл мазмұн URL мекенжайларын оқыңыз; нәтижесі белгісіз жасау сұрауын ешқашан қайта жібермеңіз."
            },
            "outputs": {
              "all_results": "Толық жауапты және тақырыптарды, алынған әрбір нәтижені, бастапқыда қайтарылған идентификаторларды және пайдалану туралы барлық өрістерді сақтаңыз. Жасау сұрауын қайта жібермей, бастапқы операцияны қалпына келтіріңіз.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "Бастапқы жауаптың толық денесі, күйі және әрі қарай берілген тақырыптары. Бұл өңдегіш әмбебап JSON құрылымын, мәтін өрісін немесе тапсырманың сыртқы құрылымын қоспайды."
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "fish-audio/transcribe-1"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "input_audio",
                "required": true,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input_audio": {
                  "properties": {
                    "data": {
                      "contentEncoding": "base64",
                      "type": "string"
                    },
                    "format": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "data",
                    "format"
                  ],
                  "type": "object"
                },
                "model": {
                  "enum": [
                    "fish-audio/transcribe-1"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input_audio"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": true,
              "body": {
                "input_audio": {
                  "data": "${BASE64_ACTUAL_WAV_BYTES}",
                  "format": "wav"
                },
                "model": "fish-audio/transcribe-1"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "Мысал сіздің нақты, бос емес PCM WAV файлыңызды оқып, файлдың барлық байтын base64 пішіміне кодтайды және input_audio.format өрісін wav мәнімен жібереді."
            ],
            "material_types": [
              "audio"
            ],
            "required": [
              "model",
              "input_audio"
            ]
          },
          "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 content URL"
              }
            ],
            "dedicated_method_polling_or_cancel": false,
            "mode": "synchronous_result_then_owned_library",
            "original_POST_adds_task_envelope": false,
            "status": [
              {
                "http": "GET",
                "id_source": "иелігіңіздегі бар медиа жазбасынан алынған дәл task_id",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain the actual X-Client-Request-ID and complete response. Read the original owned assets and their exact signed content URLs; never resubmit an uncertain creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "text",
            "fields": [
              {
                "description": null,
                "name": "text (when present)",
                "type": null
              },
              {
                "description": null,
                "name": "usage (when present)",
                "type": null
              }
            ],
            "result": "Complete original response body, status and forwarded headers. No universal JSON shape, text field or task envelope is added by this handler."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.0002",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.0002",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_AUDIO_FILE:?Set the path to your actual PCM WAV recording}\"\nexport AILOOT_AUDIO_FILE\npython3 - <<'PY_REQUEST'\nimport base64, io, json, os, wave\nfrom pathlib import Path\naudio = Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()\nif not (audio[:4] == b'RIFF' and audio[8:12] == b'WAVE'):\n    raise SystemExit('Supply your actual PCM WAV audio file')\nwith wave.open(io.BytesIO(audio), 'rb') as recording:\n    if recording.getcomptype() != 'NONE' or recording.getnframes() <= 0:\n        raise SystemExit('Supply a nonempty PCM WAV recording')\nrequest = {'model': 'fish-audio/transcribe-1', 'input_audio': {'data': base64.b64encode(audio).decode('ascii'), 'format': 'wav'}}\nPath('request.json').write_text(json.dumps(request, ensure_ascii=False), encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete original response, headers and actual X-Client-Request-ID.\n# Read existing owned records for recovery; do not resubmit an uncertain operation.\n",
            "label": "curl · actual WAV file and complete original result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "The example reads your actual nonempty PCM WAV file, encodes the complete file bytes as base64 and sends input_audio.format as wav.",
          "The format value in the example is the documented recipe; no model-specific format list, limit or default is asserted.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "Дыбысты мәтінге түсіру",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_transcriptions",
        "out": null,
        "output": [
          "text"
        ],
        "path": "/v1/audio/transcriptions",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "audio_input_second": 0.0002
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.0002",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.0002",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "request_model_id": "fish-audio/transcribe-1",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.0002",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.0002",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ]
      }
    }
  ],
  "model_id": "fish-audio/transcribe-1",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "b2df485a0b2f4f4745a3b344c764d35b73207435581246fcf1ffa5c2fe2696fc",
    "input_html_sha256": "0d3e7c17c331a7f1b9d98e87d2ea51f9176f3d1fa8cefee5b79ea898e18749e5",
    "private_audit_sha256": "3dd621c55571ef02e50cf4fa734e2b0f1039b9c44024c191f27e61efc3a7ad76",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/kk/fish-audio-transcribe-1/",
    "description": "Transcribe 1 қысқа аудиожазбаларды тілді автоматты анықтау және қажет болса сөз деңгейіндегі уақыт белгілерімен мәтінге айналдырады. Транскриптті дауыстық жазбаларға, іздеуге болатын үзінділерге немесе субтитр дайындауға қолданыңыз; уақыты көрсетілген сегменттерді оқуға ыңғайлы толық мәтіннен бөлек сақтаңыз.",
    "locale": "kk",
    "md_url": "https://ailoot.ai/models/kk/fish-audio-transcribe-1/index.md",
    "title": "Fish Audio: Transcribe 1 — Ailoot",
    "url": "https://ailoot.ai/models/kk/fish-audio-transcribe-1/"
  },
  "rawModel": {
    "about": "Transcribe 1 — қысқа жазбаларға арналған Fish Audio әмбебап сөйлеуді мәтінге айналдыру моделі. Ол аудиофайлды қабылдап, танылған сөздерді мәтін түрінде, жазба ұзақтығымен, қажет болса уақытпен белгіленген сегменттермен және белгілі болғанда тіл ақпаратымен қайтарады. Бұл модель қысқа дауыстық жазбаға, ауызша нұсқауға, жазбаның бір бөлігіне немесе оқылатын мәтіндік нұсқасы қажет аудиоүзіндіге пайдалы.\n\nДауыстық жазба үдерісінің мысалы жазбаны толық транскриптімен және бастапқы үзінді идентификаторымен бірге сақтайды. Кейінгі қолданба қадамы айтылған дереккөзді сақтай отырып, осы мәтіннен іздей алады, жазбаны ұйымдастыра алады немесе қысқаша мазмұн жасай алады. Команда үшін транскрипт қолданбаға танылған сөздерді береді; кез келген әрекет — бөлек түсіндіру және орындау қадамы. Сұхбат үзіндісі үшін дәйексөзді дұрыс жерден тексеру мақсатында оның толық аудиодағы орнын тіркеңіз.\n\nӨндіруші WAV, MP3, M4A/MP4 қамтитын AAC, FLAC және Opus не Vorbis бар Ogg пішімдерін қабылдайды. Бұл модель үшін браузердегі WebM жазбаларын Ogg/Opus, MP3 немесе WAV пішіміне түрлендіру керек; Pro қосымша контейнерлердің табиғи қолдауын құжаттайды. Әр сұрауға бір аудиофайл беріңіз. Негізгі модельдің құжатталған сұрау көлемі — ең көбі 50 MiB, ал MP3 пен Opus файлдары 25 MiB-тан аз болуы тиіс. Файл көлемі мен жазба ұзақтығы бөлек қаралады: сығылған файл жүктеу шегіне сыйса да, оны өңдеу тым ұзаққа созылуы мүмкін.\n\nTranscribe 1 қысқа жазбаларға арналған. Өндіруші бірнеше минуттан ұзақ аудиоға Pro ұсынады; негізгі модельге жіберілген ұзақ сұрау өңдеу уақытының шегінен асса, сәтсіз аяқталуы мүмкін. Ұзын дереккөзді қысқа үзінділерге бөліп транскрипциялағанда әр үзіндінің басталу ығысуын сақтап, нәтижелерді біріктірмес бұрын қайтарылған транскрипт толық үзіндіні қамтитынын тексеріңіз. Навигацияны толық жазбамен байланыстыру үшін жергілікті сегмент уақыттарына бастапқы ығысуды қосыңыз. Негізгі модель нұсқауын Pro нұсқасының бөлек 60 минуттық шегі деп түсіндірмеңіз.\n\nӨндіруші жауабына мәтін, ұзақтық және сегменттер кіреді. Ұзақтық секундпен беріледі, ал оқуға ыңғайлы толық транскрипт үзіндінің негізгі мәтіні ретінде сақталуы тиіс. Уақыт белгілері міндетті емес: өндіруші API интерфейсінде ignore_timestamps әдепкіде true, ал false мәтіні, секундпен берілген басталу және аяқталу уақыты бар сөз деңгейіндегі сегменттерді сұрайды. Уақыт бойынша сәйкестендіруді сұрау өңдеу уақытын ұзартады. Бос segments массиві уақытты анықтау өткізіліп жіберілгенін, сөйлеу жоқ екенін немесе сәйкестендірудің уақытша қолжетімсіздігін білдіруі мүмкін, сондықтан оны автоматты түрде толық транскрипт бос деген белгі деп қабылдамаңыз.\n\nСегменттер әдетте сөздерден, ал қытай және жапон тілдерінде бір не бірнеше таңбадан тұрады. Олардың мәтінінде тыныс белгілері жоқ және мәндер толық транскрипттен өзгеше қалыпқа келтірілуі мүмкін; бұл оқуға арналған жауаптың таңба сайын дәл көшірмесі емес. Сегменттің басталу және аяқталу уақыты бірдей болуы мүмкін. Сегменттерді жазбадағы орынды табуға немесе уақытқа сай көрсетуге, ал толық мәтінді сөздер мен тыныс белгілері маңызды кезде пайдаланыңыз. Алынған артефактта осы екі көріністі бөлек ұстаңыз.\n\nҚосымша тіл нұсқауы берілсе де, берілмесе де тіл автоматты анықталады. Өндіруші нұсқаулар үшін кіші әріппен жазылған ISO 639-1 кодтарын құжаттайды және белгілі болғанда қолданба логикасына тіл кодын, көрсетуге тіл атауын қайтарады. Жауап тіл ауысып отыратын жазбадағы барлық тілдерді емес, бір тілді хабарлайды. Транскрипция сұрауын аудару операциясы деп қабылдамай, бастапқы сөздер мен қолжетімді тіл метадеректерін нәтижемен бірге сақтаңыз.\n\nСубтитр үдерісінде сөздерді бір-бірлеп көрсетудің орнына қатар тұрған уақыт сегменттерін оқуға ыңғайлы титрлерге топтастырыңыз. Пайдалы нәтиже — бастапқы үзіндімен байланыстырылған, кідірістерге сай шекаралары және экранға лайық мәтін көлемі бар SRT немесе WebVTT файлы. Жетіспейтін уақыт белгілерін тексеріп, әр титрдің аяқталуы басталуынан кейін келетінін растаңыз. Субтитрді топтау мен файлды пішімдеу — қайтарылған сәйкестендіруден жасалатын қолданба қадамдары, ал көрсету таңдаулары ойнатқыш пен аудиторияға сай болуы тиіс.\n\nTranscribe 1 моделінің құжатталған басқару элементтері — аудио, тіл нұсқауы және уақыт белгілерін таңдау. Pro нұсқасының сөйлеуші маркерлері, құрылымды сөйлеуші кезектері, эмоциялық оқиғаларды басқару және сөйлеуші саны туралы нұсқаулар бөлек мүмкіндіктер; олар осы негізгі модельдің құжатталған жауап келісіміне кірмейді. Өңдеуден бұрын қажетті артефактты таңдаңыз: жазбаға жай оқылатын мәтін, ал ойнату навигациясы мен субтитрге мәтін және уақыттық сәйкестендіру. Үзінді идентификаторын, транскриптті және бар уақыт ақпаратын сақтау нәтижені келесі қолданба кезеңіне пайдалы етеді.",
    "alias_of": null,
    "aliases": [],
    "author": "Fish Audio",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "audio"
      ],
      "manufacturer_output": [
        "transcription"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.0002",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.0002",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ],
        "summary": "Конфигурация бағалары туралы толық ақпарат — егжей-тегжейлі мәліметтерде."
      }
    ],
    "ctx": null,
    "formats": [
      "transcriptions"
    ],
    "id": "fish-audio/transcribe-1",
    "input": [
      "audio"
    ],
    "kind": "audio",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "errors": [
              {
                "code": null,
                "condition": "JSON денесі немесе нақты канондық модель ID мәні жарамсыз.",
                "http_status": 400,
                "recovery": "Жауапты сақтап, сұраудың көрсетілген өрісін түзетіңіз.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Ailoot API кілті жарамсыз.",
                "http_status": 401,
                "recovery": "Пайдалануға рұқсат етілген Ailoot API кілтіңізді қолданыңыз.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "Кілттің тобына бұл әдісті пайдалануға рұқсат берілмеген.",
                "http_status": 403,
                "recovery": "Қайтарылған қатенің толық мәліметін сақтаңыз.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "Таңдалған әдісте пайдалануға рұқсат етілген маршрут жоқ.",
                "http_status": 404,
                "recovery": "Қайтарылған қатенің толық мәліметін сақтаңыз.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "Қабылданған тариф өзіне қажетті кіріс мөлшерін немесе шегін ала алмайды.",
                "http_status": 422,
                "recovery": "Жауапты сақтаңыз; қабылданған тариф талап ететін кіріс пішімін пайдаланыңыз.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Қажетті қойма, маршрут, әдіс бағасы немесе қаражат резерві қолжетімді емес.",
                "http_status": 503,
                "recovery": "Бастапқы жауапты толық сақтаңыз. Нәтижесі белгісіз қаражат резерві сұрауды қайта жіберуге рұқсат бермейді.",
                "type": null
              },
              {
                "code": null,
                "condition": "Бастапқы нәтижені, пайдалану деректерін немесе есеп айырысуды тексеру қажет.",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "Нақты сұрау ID мәнін және бастапқы жауапты сақтаңыз. Иелігіңіздегі бар жазбаны оқыңыз; жасау сұрауын қайта жібермеңіз.",
                "response_headers": {
                  "x-should-retry": "false"
                },
                "type": "server_error"
              }
            ],
            "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 content URL"
                }
              ],
              "dedicated_method_polling_or_cancel": false,
              "mode": "synchronous_result_then_owned_library",
              "original_POST_adds_task_envelope": false,
              "status": [
                {
                  "http": "GET",
                  "id_source": "exact task_id from an existing owned media record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Нақты X-Client-Request-ID мәнін және толық жауапты сақтаңыз. Иелігіңіздегі бастапқы ресурстарды және олардың қолтаңбасы бар дәл мазмұн URL мекенжайларын оқыңыз; нәтижесі белгісіз жасау сұрауын ешқашан қайта жібермеңіз."
            },
            "outputs": {
              "all_results": "Толық жауапты және тақырыптарды, алынған әрбір нәтижені, бастапқыда қайтарылған идентификаторларды және пайдалану туралы барлық өрістерді сақтаңыз. Жасау сұрауын қайта жібермей, бастапқы операцияны қалпына келтіріңіз.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "Бастапқы жауаптың толық денесі, күйі және әрі қарай берілген тақырыптары. Бұл өңдегіш әмбебап JSON құрылымын, мәтін өрісін немесе тапсырманың сыртқы құрылымын қоспайды."
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "fish-audio/transcribe-1"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "input_audio",
                "required": true,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input_audio": {
                  "properties": {
                    "data": {
                      "contentEncoding": "base64",
                      "type": "string"
                    },
                    "format": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "data",
                    "format"
                  ],
                  "type": "object"
                },
                "model": {
                  "enum": [
                    "fish-audio/transcribe-1"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input_audio"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": true,
              "body": {
                "input_audio": {
                  "data": "${BASE64_ACTUAL_WAV_BYTES}",
                  "format": "wav"
                },
                "model": "fish-audio/transcribe-1"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "Мысал сіздің нақты, бос емес PCM WAV файлыңызды оқып, файлдың барлық байтын base64 пішіміне кодтайды және input_audio.format өрісін wav мәнімен жібереді."
            ],
            "material_types": [
              "audio"
            ],
            "required": [
              "model",
              "input_audio"
            ]
          },
          "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 content URL"
              }
            ],
            "dedicated_method_polling_or_cancel": false,
            "mode": "synchronous_result_then_owned_library",
            "original_POST_adds_task_envelope": false,
            "status": [
              {
                "http": "GET",
                "id_source": "иелігіңіздегі бар медиа жазбасынан алынған дәл task_id",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain the actual X-Client-Request-ID and complete response. Read the original owned assets and their exact signed content URLs; never resubmit an uncertain creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "text",
            "fields": [
              {
                "description": null,
                "name": "text (when present)",
                "type": null
              },
              {
                "description": null,
                "name": "usage (when present)",
                "type": null
              }
            ],
            "result": "Complete original response body, status and forwarded headers. No universal JSON shape, text field or task envelope is added by this handler."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.0002",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.0002",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_AUDIO_FILE:?Set the path to your actual PCM WAV recording}\"\nexport AILOOT_AUDIO_FILE\npython3 - <<'PY_REQUEST'\nimport base64, io, json, os, wave\nfrom pathlib import Path\naudio = Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()\nif not (audio[:4] == b'RIFF' and audio[8:12] == b'WAVE'):\n    raise SystemExit('Supply your actual PCM WAV audio file')\nwith wave.open(io.BytesIO(audio), 'rb') as recording:\n    if recording.getcomptype() != 'NONE' or recording.getnframes() <= 0:\n        raise SystemExit('Supply a nonempty PCM WAV recording')\nrequest = {'model': 'fish-audio/transcribe-1', 'input_audio': {'data': base64.b64encode(audio).decode('ascii'), 'format': 'wav'}}\nPath('request.json').write_text(json.dumps(request, ensure_ascii=False), encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete original response, headers and actual X-Client-Request-ID.\n# Read existing owned records for recovery; do not resubmit an uncertain operation.\n",
            "label": "curl · actual WAV file and complete original result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "The example reads your actual nonempty PCM WAV file, encodes the complete file bytes as base64 and sends input_audio.format as wav.",
          "The format value in the example is the documented recipe; no model-specific format list, limit or default is asserted.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "Дыбысты мәтінге түсіру",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_transcriptions",
        "out": null,
        "output": [
          "text"
        ],
        "path": "/v1/audio/transcriptions",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "audio_input_second": 0.0002
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.0002",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.0002",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "request_model_id": "fish-audio/transcribe-1",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.0002",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.0002",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "fish-audio/transcribe-1",
        "request_model_id": "fish-audio/transcribe-1",
        "route_label": "Ultra"
      }
    ],
    "name": "Fish Audio: Transcribe 1",
    "price": {
      "in": null,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": true
    },
    "short": "Transcribe 1 қысқа аудиожазбаларды тілді автоматты анықтау және қажет болса сөз деңгейіндегі уақыт белгілерімен мәтінге айналдырады. Транскриптті дауыстық жазбаларға, іздеуге болатын үзінділерге немесе субтитр дайындауға қолданыңыз; уақыты көрсетілген сегменттерді оқуға ыңғайлы толық мәтіннен бөлек сақтаңыз."
  },
  "renderer_schema": {
    "method_order": "Original DTO methods order; every exact route/format/path/caller survives.",
    "prices": "Original public DTO fields and original native display HTML; no flattened or normalized offers."
  },
  "representation": "exact-public-dto-and-native-renderer-html",
  "representationNotes": {
    "current_reference": {
      "about_json_pointer": "/aboutHtml",
      "methods": [
        {
          "contract_json_pointer": "/methods/0/rawMethod/contract",
          "html_json_pointer": "/methods/0/html",
          "method_ordinal": 0
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "Transcribe 1 қысқа аудиожазбаларды тілді автоматты анықтау және қажет болса сөз деңгейіндегі уақыт белгілерімен мәтінге айналдырады. Транскриптті дауыстық жазбаларға, іздеуге болатын үзінділерге немесе субтитр дайындауға қолданыңыз; уақыты көрсетілген сегменттерді оқуға ыңғайлы толық мәтіннен бөлек сақтаңыз.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "9fbf78a544cd1a40e646e595a8c2f93dc30067e9aad5ef5daeba8924aafdcbd8",
    "renderer_sha256": "def3bb6e69c8ddb72f88ec6540bbe55d0e503790f964d84073ecda781b13bedf"
  },
  "sourceRevision": "39863b59a65bc499abbaa2c1117ec2edc105b66f7cc1293b61afcd107c867ca8"
}
