{
  "aboutHtml": "<p>Codestral 2508 — Mistral AI компаниясының жиі орындалатын, кідіріске сезімтал толықтыру және код жасау тапсырмаларына арналған кодтау моделі. Ол бастапқы код пен мәтіндік талаптарды қабылдап, іске асыру, толықтыру, түзету немесе түсіндірме қамтитын мәтін қайтарады. Аталған 2508 шығарылымы ендірілім моделі немесе өздігінен толыққанды репозиторий агенті болудан гөрі әзірлеушінің ағымдағы өңдеу контекстіне бағытталған.</p><p>Кодты толықтыру және 2508 жаңартуы</p><p>Өндіруші Codestral моделін код ортасындағы бос орынды толтыруға және бірнеше жолды өңдеуге арнайды. Шығарылым сипаттамасында шамадан тыс генерацияны азайтуды қамтитын толықтыру әрекетінің жақсаруы, сондай-ақ чат режимінде нұсқауларды орындау мен код тапсырмаларының жақсаруы аталады. Бұлар осы Codestral шығарылымындағы өзгерістер; айналасындағы кодтау құралдары жүйесінің ақпарат іздеу және автономды агент мүмкіндіктері бөлек аталған компоненттерге тиесілі.</p><p>Толықтыру тапсырмасында қатысты функция сигнатурасын, жарияланымдарды және шақыру контекстін меңзер орнымен бірге сақтаңыз. Қажетті нәтиже тек жетіспейтін код па, әлде толық түзетілген функция ма — соны көрсетіңіз. Редакторға тән сұрау қолданыстағы қайтару түрін сақтайтын, қайталанатын мәндерді қалдыратын және шақырушының кірісін өзгертпейтін цикл денесін сұрауы мүмкін. Сонда нәтижені енгізетін нақты орын мен анықталған әрекет болады.</p><p>Код ортасындағы бос орынды толтыруға дайындау</p><p>Өндірушінің FIM интерфейсінде промпт толықтырылатын мәтінді немесе кодты береді, ал міндетті емес суффикс бос орыннан кейінгі материалды береді. Екеуі де берілсе, модель олардың арасын толтырады. Суффикс болмаса, промпттан әрі жалғастырады. Бұл код өзгерісі мен түсіндірмені сұрайтын қалыпты әңгімелесу сұрауынан өзгеше; әр дайындау тәсілі бөлек шығыс шартын анықтайды.</p><p>Бос орынды толтыруға пайдалы кіріс функцияның басын, енгізілетін бөліктен кейін тұруға тиіс кодты және қатысты түр не көмекші функция анықтамаларын қамтиды. Қайтарылған мәтін қолданыстағы үзіндіге үйлесуі үшін шегіністер мен бөлгіштерді сақтаңыз. Тапсырмаға тек жетіспейтін дене қажет болса, бүкіл файлды қайта жазуды емес, сол денені сұраңыз. Бөлек чат сұрағы толықтырылған үзінді талапқа неліктен сай екенін түсіндіре алады.</p><p>Ресми FIM құжаттамасы шығыс токендерінің бюджетін белгілеуге мүмкіндік береді және промпт пен осы бюджет модельдің контекст шегінде қалуын талап етеді. Онда тоқтату тізбектері мен жасалған мазмұнды ағынмен беру де құжатталған. Нәтиже кодтағы бос орынға дәл келуге тиіс болса, толықтыру үдерісін, ал тапсырма код пен түсіндірмені бірге сұраса, әңгімелесу үдерісін таңдаңыз.</p><p>Контекст және қосымша мүмкіндіктер</p><p>Модель бетінде 128 мың токендік контекст терезесі көрсетілген. Контексті көзделген өзгерісті анықтайтын бастапқы код пен жарияланымдарды сақтауға пайдаланып, нақты өңдеу тапсырмасын айқын қалдырыңыз. Қатені түзету сұрауы үшін қатысты функцияны, нақты сәтсіз кірісті, күтілетін нәтижені және қатені немесе байқалған әрекетті беріңіз. Ұсынылған түзетуді оның түсіндірмесі мен мысалдарынан бөлек сұраңыз.</p><p>Бетте чат пен FIM мүмкіндіктерімен қатар құрылымдалған шығыс, функция шақыруы, болжамды шығыс, құжат бойынша сұрақтарға жауап беру, жауап префикстері және пакеттік өңдеу де тізілген. Құрылымдалған код шолуы үшін қатысты символ, байқалған сәйкессіздік, ұсынылған өзгеріс және әлі нақтылауды қажет ететін жорамал сияқты өрістерді анықтаңыз. Mistral компаниясының құрылымдалған шығыс нұсқаулығы JSON режимін арнайы схемадан ажыратады; қажетті JSON пішімі промптта көрсетіледі.</p><p>Болжамды шығыс жауаптың елеулі бөлігі алдын ала белгілі мазмұнға арналған. Оны құжатты немесе код файлын шектеулі өзгеріспен қайта жасап, қалған мазмұнын сақтау кезінде пайдалануға болады. Нақты өзгерісті және сақталуға тиіс материалды көрсетіңіз. Ал жауап префиксі генерация жалғасатын белгілі бастауды береді; ол белгілі толық мәтіннен де, FIM суффиксінен де бөлек.</p><p>Құжаттама туралы сұрақта тіл моделі талдауына дейін мәтін мен құрылымды OCR арқылы дайындау үшін өндірушінің құжат өңдеу үдерісін пайдалануға болады. Мәтін түрінде бар бағдарламалау материалы үшін тиісті құжаттама үзінділерін беріп, іске асыруға қай шарт қолданылатынын сұраңыз. Жасалған код немесе түсіндірме берілген спецификациямен байланысын сақтауы үшін әр алынған талапты бастапқы бөлімімен байланыстырыңыз.</p><p>Құралдар және практикалық нәтижелер</p><p>Функция шақыруы қолданбаға сипатталған операциялар мен олардың параметрлерін беруге мүмкіндік береді. Модель шақыруды дайындайды, қолданба оны орындайды, ал қайтарылған нәтиже келесі жауапқа контекст болады. Код көмекшісі осы цикл арқылы іздеу немесе есептеу нәтижесін ала алады, бірақ ұсынылған өзгерісті құрастыру, тестілеу немесе қолдану үшін бәрібір сыртқы әзірлеу ортасы қажет.</p><p>Практикалық түзету үшін үйлесімді қалуға тиіс ашық интерфейсті анықтап, түзетілген үзіндіні, қысқа түсіндірмені және күтілетін шығыстары бар кіріс мысалдарын сұраңыз. Жасалатын функция үшін қабылданатын түрлер мен шеткі жағдайларды көрсетіңіз. Түсіндірме үшін орындалуын қадағалайтын кірісті беріңіз: сонда жауап нақты орындалу жолын қайтарылған мәнмен байланыстырады.</p><p>Codestral мәтін шығарады. Ол Codestral Embed моделінен код іздеу векторларын, Devstral моделінен репозиторийді автоматтандыруды немесе визуалды модельден сурет жасауды иеленбейді. Дәл 2508 модель бетінде басқа шығарылымнан алуға болатын параметр саны немесе тәуелсіз ең жоғары жауап ұзындығы жарияланбаған. Қайталанатын редактор не чат үдерісін дайындағанда аталған шығарылымды, кодтау контекстін және қажетті артефактіні сақтаңыз.</p>",
  "aboutText": "Codestral 2508 — Mistral AI компаниясының жиі орындалатын, кідіріске сезімтал толықтыру және код жасау тапсырмаларына арналған кодтау моделі. Ол бастапқы код пен мәтіндік талаптарды қабылдап, іске асыру, толықтыру, түзету немесе түсіндірме қамтитын мәтін қайтарады. Аталған 2508 шығарылымы ендірілім моделі немесе өздігінен толыққанды репозиторий агенті болудан гөрі әзірлеушінің ағымдағы өңдеу контекстіне бағытталған.\n\nКодты толықтыру және 2508 жаңартуы\n\nӨндіруші Codestral моделін код ортасындағы бос орынды толтыруға және бірнеше жолды өңдеуге арнайды. Шығарылым сипаттамасында шамадан тыс генерацияны азайтуды қамтитын толықтыру әрекетінің жақсаруы, сондай-ақ чат режимінде нұсқауларды орындау мен код тапсырмаларының жақсаруы аталады. Бұлар осы Codestral шығарылымындағы өзгерістер; айналасындағы кодтау құралдары жүйесінің ақпарат іздеу және автономды агент мүмкіндіктері бөлек аталған компоненттерге тиесілі.\n\nТолықтыру тапсырмасында қатысты функция сигнатурасын, жарияланымдарды және шақыру контекстін меңзер орнымен бірге сақтаңыз. Қажетті нәтиже тек жетіспейтін код па, әлде толық түзетілген функция ма — соны көрсетіңіз. Редакторға тән сұрау қолданыстағы қайтару түрін сақтайтын, қайталанатын мәндерді қалдыратын және шақырушының кірісін өзгертпейтін цикл денесін сұрауы мүмкін. Сонда нәтижені енгізетін нақты орын мен анықталған әрекет болады.\n\nКод ортасындағы бос орынды толтыруға дайындау\n\nӨндірушінің FIM интерфейсінде промпт толықтырылатын мәтінді немесе кодты береді, ал міндетті емес суффикс бос орыннан кейінгі материалды береді. Екеуі де берілсе, модель олардың арасын толтырады. Суффикс болмаса, промпттан әрі жалғастырады. Бұл код өзгерісі мен түсіндірмені сұрайтын қалыпты әңгімелесу сұрауынан өзгеше; әр дайындау тәсілі бөлек шығыс шартын анықтайды.\n\nБос орынды толтыруға пайдалы кіріс функцияның басын, енгізілетін бөліктен кейін тұруға тиіс кодты және қатысты түр не көмекші функция анықтамаларын қамтиды. Қайтарылған мәтін қолданыстағы үзіндіге үйлесуі үшін шегіністер мен бөлгіштерді сақтаңыз. Тапсырмаға тек жетіспейтін дене қажет болса, бүкіл файлды қайта жазуды емес, сол денені сұраңыз. Бөлек чат сұрағы толықтырылған үзінді талапқа неліктен сай екенін түсіндіре алады.\n\nРесми FIM құжаттамасы шығыс токендерінің бюджетін белгілеуге мүмкіндік береді және промпт пен осы бюджет модельдің контекст шегінде қалуын талап етеді. Онда тоқтату тізбектері мен жасалған мазмұнды ағынмен беру де құжатталған. Нәтиже кодтағы бос орынға дәл келуге тиіс болса, толықтыру үдерісін, ал тапсырма код пен түсіндірмені бірге сұраса, әңгімелесу үдерісін таңдаңыз.\n\nКонтекст және қосымша мүмкіндіктер\n\nМодель бетінде 128 мың токендік контекст терезесі көрсетілген. Контексті көзделген өзгерісті анықтайтын бастапқы код пен жарияланымдарды сақтауға пайдаланып, нақты өңдеу тапсырмасын айқын қалдырыңыз. Қатені түзету сұрауы үшін қатысты функцияны, нақты сәтсіз кірісті, күтілетін нәтижені және қатені немесе байқалған әрекетті беріңіз. Ұсынылған түзетуді оның түсіндірмесі мен мысалдарынан бөлек сұраңыз.\n\nБетте чат пен FIM мүмкіндіктерімен қатар құрылымдалған шығыс, функция шақыруы, болжамды шығыс, құжат бойынша сұрақтарға жауап беру, жауап префикстері және пакеттік өңдеу де тізілген. Құрылымдалған код шолуы үшін қатысты символ, байқалған сәйкессіздік, ұсынылған өзгеріс және әлі нақтылауды қажет ететін жорамал сияқты өрістерді анықтаңыз. Mistral компаниясының құрылымдалған шығыс нұсқаулығы JSON режимін арнайы схемадан ажыратады; қажетті JSON пішімі промптта көрсетіледі.\n\nБолжамды шығыс жауаптың елеулі бөлігі алдын ала белгілі мазмұнға арналған. Оны құжатты немесе код файлын шектеулі өзгеріспен қайта жасап, қалған мазмұнын сақтау кезінде пайдалануға болады. Нақты өзгерісті және сақталуға тиіс материалды көрсетіңіз. Ал жауап префиксі генерация жалғасатын белгілі бастауды береді; ол белгілі толық мәтіннен де, FIM суффиксінен де бөлек.\n\nҚұжаттама туралы сұрақта тіл моделі талдауына дейін мәтін мен құрылымды OCR арқылы дайындау үшін өндірушінің құжат өңдеу үдерісін пайдалануға болады. Мәтін түрінде бар бағдарламалау материалы үшін тиісті құжаттама үзінділерін беріп, іске асыруға қай шарт қолданылатынын сұраңыз. Жасалған код немесе түсіндірме берілген спецификациямен байланысын сақтауы үшін әр алынған талапты бастапқы бөлімімен байланыстырыңыз.\n\nҚұралдар және практикалық нәтижелер\n\nФункция шақыруы қолданбаға сипатталған операциялар мен олардың параметрлерін беруге мүмкіндік береді. Модель шақыруды дайындайды, қолданба оны орындайды, ал қайтарылған нәтиже келесі жауапқа контекст болады. Код көмекшісі осы цикл арқылы іздеу немесе есептеу нәтижесін ала алады, бірақ ұсынылған өзгерісті құрастыру, тестілеу немесе қолдану үшін бәрібір сыртқы әзірлеу ортасы қажет.\n\nПрактикалық түзету үшін үйлесімді қалуға тиіс ашық интерфейсті анықтап, түзетілген үзіндіні, қысқа түсіндірмені және күтілетін шығыстары бар кіріс мысалдарын сұраңыз. Жасалатын функция үшін қабылданатын түрлер мен шеткі жағдайларды көрсетіңіз. Түсіндірме үшін орындалуын қадағалайтын кірісті беріңіз: сонда жауап нақты орындалу жолын қайтарылған мәнмен байланыстырады.\n\nCodestral мәтін шығарады. Ол Codestral Embed моделінен код іздеу векторларын, Devstral моделінен репозиторийді автоматтандыруды немесе визуалды модельден сурет жасауды иеленбейді. Дәл 2508 модель бетінде басқа шығарылымнан алуға болатын параметр саны немесе тәуелсіз ең жоғары жауап ұзындығы жарияланбаған. Қайталанатын редактор не чат үдерісін дайындағанда аталған шығарылымды, кодтау контекстін және қажетті артефактіні сақтаңыз.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "e6f4f18fabee7d2ce774b6e1ef8896c69b42cf890039aa06b5a9564f79dd3cc2",
    "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\">Mistral: Codestral 2508 (batch)</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Жабу\">×</button></div><div class=\"idline\"><span>Mistral /</span><code>mistralai/codestral-2508:batch</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|batches|/v1/batches|mistralai%2Fcodestral-2508%3Abatch\">Топтамалық тапсырмалар</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\">Codestral 2508 — Mistral AI компаниясының код жасауға және контексті ескеріп толықтыруға арналған мәтін моделі. Ол редактордағы жиі тапсырмаларға, соның ішінде код ортасындағы бос орынды толтыруға және бірнеше жолды өңдеуге оңтайландырылған; өндіруші көрсеткен 128 мың токендік контексті және құжатталған чат, құрылымдалған шығыс пен құрал мүмкіндіктерін ұсынады.</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>Codestral 2508 — Mistral AI компаниясының жиі орындалатын, кідіріске сезімтал толықтыру және код жасау тапсырмаларына арналған кодтау моделі. Ол бастапқы код пен мәтіндік талаптарды қабылдап, іске асыру, толықтыру, түзету немесе түсіндірме қамтитын мәтін қайтарады. Аталған 2508 шығарылымы ендірілім моделі немесе өздігінен толыққанды репозиторий агенті болудан гөрі әзірлеушінің ағымдағы өңдеу контекстіне бағытталған.</p><p>Кодты толықтыру және 2508 жаңартуы</p><p>Өндіруші Codestral моделін код ортасындағы бос орынды толтыруға және бірнеше жолды өңдеуге арнайды. Шығарылым сипаттамасында шамадан тыс генерацияны азайтуды қамтитын толықтыру әрекетінің жақсаруы, сондай-ақ чат режимінде нұсқауларды орындау мен код тапсырмаларының жақсаруы аталады. Бұлар осы Codestral шығарылымындағы өзгерістер; айналасындағы кодтау құралдары жүйесінің ақпарат іздеу және автономды агент мүмкіндіктері бөлек аталған компоненттерге тиесілі.</p><p>Толықтыру тапсырмасында қатысты функция сигнатурасын, жарияланымдарды және шақыру контекстін меңзер орнымен бірге сақтаңыз. Қажетті нәтиже тек жетіспейтін код па, әлде толық түзетілген функция ма — соны көрсетіңіз. Редакторға тән сұрау қолданыстағы қайтару түрін сақтайтын, қайталанатын мәндерді қалдыратын және шақырушының кірісін өзгертпейтін цикл денесін сұрауы мүмкін. Сонда нәтижені енгізетін нақты орын мен анықталған әрекет болады.</p><p>Код ортасындағы бос орынды толтыруға дайындау</p><p>Өндірушінің FIM интерфейсінде промпт толықтырылатын мәтінді немесе кодты береді, ал міндетті емес суффикс бос орыннан кейінгі материалды береді. Екеуі де берілсе, модель олардың арасын толтырады. Суффикс болмаса, промпттан әрі жалғастырады. Бұл код өзгерісі мен түсіндірмені сұрайтын қалыпты әңгімелесу сұрауынан өзгеше; әр дайындау тәсілі бөлек шығыс шартын анықтайды.</p><p>Бос орынды толтыруға пайдалы кіріс функцияның басын, енгізілетін бөліктен кейін тұруға тиіс кодты және қатысты түр не көмекші функция анықтамаларын қамтиды. Қайтарылған мәтін қолданыстағы үзіндіге үйлесуі үшін шегіністер мен бөлгіштерді сақтаңыз. Тапсырмаға тек жетіспейтін дене қажет болса, бүкіл файлды қайта жазуды емес, сол денені сұраңыз. Бөлек чат сұрағы толықтырылған үзінді талапқа неліктен сай екенін түсіндіре алады.</p><p>Ресми FIM құжаттамасы шығыс токендерінің бюджетін белгілеуге мүмкіндік береді және промпт пен осы бюджет модельдің контекст шегінде қалуын талап етеді. Онда тоқтату тізбектері мен жасалған мазмұнды ағынмен беру де құжатталған. Нәтиже кодтағы бос орынға дәл келуге тиіс болса, толықтыру үдерісін, ал тапсырма код пен түсіндірмені бірге сұраса, әңгімелесу үдерісін таңдаңыз.</p><p>Контекст және қосымша мүмкіндіктер</p><p>Модель бетінде 128 мың токендік контекст терезесі көрсетілген. Контексті көзделген өзгерісті анықтайтын бастапқы код пен жарияланымдарды сақтауға пайдаланып, нақты өңдеу тапсырмасын айқын қалдырыңыз. Қатені түзету сұрауы үшін қатысты функцияны, нақты сәтсіз кірісті, күтілетін нәтижені және қатені немесе байқалған әрекетті беріңіз. Ұсынылған түзетуді оның түсіндірмесі мен мысалдарынан бөлек сұраңыз.</p><p>Бетте чат пен FIM мүмкіндіктерімен қатар құрылымдалған шығыс, функция шақыруы, болжамды шығыс, құжат бойынша сұрақтарға жауап беру, жауап префикстері және пакеттік өңдеу де тізілген. Құрылымдалған код шолуы үшін қатысты символ, байқалған сәйкессіздік, ұсынылған өзгеріс және әлі нақтылауды қажет ететін жорамал сияқты өрістерді анықтаңыз. Mistral компаниясының құрылымдалған шығыс нұсқаулығы JSON режимін арнайы схемадан ажыратады; қажетті JSON пішімі промптта көрсетіледі.</p><p>Болжамды шығыс жауаптың елеулі бөлігі алдын ала белгілі мазмұнға арналған. Оны құжатты немесе код файлын шектеулі өзгеріспен қайта жасап, қалған мазмұнын сақтау кезінде пайдалануға болады. Нақты өзгерісті және сақталуға тиіс материалды көрсетіңіз. Ал жауап префиксі генерация жалғасатын белгілі бастауды береді; ол белгілі толық мәтіннен де, FIM суффиксінен де бөлек.</p><p>Құжаттама туралы сұрақта тіл моделі талдауына дейін мәтін мен құрылымды OCR арқылы дайындау үшін өндірушінің құжат өңдеу үдерісін пайдалануға болады. Мәтін түрінде бар бағдарламалау материалы үшін тиісті құжаттама үзінділерін беріп, іске асыруға қай шарт қолданылатынын сұраңыз. Жасалған код немесе түсіндірме берілген спецификациямен байланысын сақтауы үшін әр алынған талапты бастапқы бөлімімен байланыстырыңыз.</p><p>Құралдар және практикалық нәтижелер</p><p>Функция шақыруы қолданбаға сипатталған операциялар мен олардың параметрлерін беруге мүмкіндік береді. Модель шақыруды дайындайды, қолданба оны орындайды, ал қайтарылған нәтиже келесі жауапқа контекст болады. Код көмекшісі осы цикл арқылы іздеу немесе есептеу нәтижесін ала алады, бірақ ұсынылған өзгерісті құрастыру, тестілеу немесе қолдану үшін бәрібір сыртқы әзірлеу ортасы қажет.</p><p>Практикалық түзету үшін үйлесімді қалуға тиіс ашық интерфейсті анықтап, түзетілген үзіндіні, қысқа түсіндірмені және күтілетін шығыстары бар кіріс мысалдарын сұраңыз. Жасалатын функция үшін қабылданатын түрлер мен шеткі жағдайларды көрсетіңіз. Түсіндірме үшін орындалуын қадағалайтын кірісті беріңіз: сонда жауап нақты орындалу жолын қайтарылған мәнмен байланыстырады.</p><p>Codestral мәтін шығарады. Ол Codestral Embed моделінен код іздеу векторларын, Devstral моделінен репозиторийді автоматтандыруды немесе визуалды модельден сурет жасауды иеленбейді. Дәл 2508 модель бетінде басқа шығарылымнан алуға болатын параметр саны немесе тәуелсіз ең жоғары жауап ұзындығы жарияланбаған. Қайталанатын редактор не чат үдерісін дайындағанда аталған шығарылымды, кодтау контекстін және қажетті артефактіні сақтаңыз.</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/batches</code></summary><dl class=\"method-capabilities\"><div><dt>Кіріс</dt><dd><code>text</code></dd></div><div><dt>Шығыс</dt><dd><code>text</code></dd></div><div><dt>Шығыс пішімі</dt><dd>Жауаптың ішіндегі results[].response.body JSON деректері</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Өріс</th><th>Түрі</th><th>Талап</th><th>Мәндер мен шектеулер</th><th>Әдепкі</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">endpoint</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>/v1/chat/completions</div></td><td data-cell-label=\"Әдепкі\" data-default=\"unspecified\"><span class=\"card-cell-label\">Әдепкі</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">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>mistralai/codestral-2508:batch</div></td><td data-cell-label=\"Әдепкі\" data-default=\"unspecified\"><span class=\"card-cell-label\">Әдепкі</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">requests</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span><code>batch_item[]</code></td><td data-cell-label=\"Талап\"><span class=\"card-cell-label\">Талап</span>Міндетті</td><td data-cell-label=\"Мәндер мен шектеулер\"><span class=\"card-cell-label\">Мәндер мен шектеулер</span><div>Элементтердің ең аз саны: 1</div></td><td data-cell-label=\"Әдепкі\" data-default=\"unspecified\"><span class=\"card-cell-label\">Әдепкі</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">requests[].custom_id</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></td><td data-cell-label=\"Әдепкі\" data-default=\"unspecified\"><span class=\"card-cell-label\">Әдепкі</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">requests[].body.messages</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span><code>message[]</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><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">completion_window</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>24h</div></td><td data-cell-label=\"Әдепкі\" data-default=\"unspecified\"><span class=\"card-cell-label\">Әдепкі</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">provider</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span><code>object|null</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><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">requests[].body.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>mistralai/codestral-2508:batch, mistralai/codestral-2508</div></td><td data-cell-label=\"Әдепкі\" data-default=\"unspecified\"><span class=\"card-cell-label\">Әдепкі</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">provider.only</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>mistral</div></td><td data-cell-label=\"Әдепкі\" data-default=\"unspecified\"><span class=\"card-cell-label\">Әдепкі</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">provider.allow_fallbacks</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span><code>boolean|null</code></td><td data-cell-label=\"Талап\"><span class=\"card-cell-label\">Талап</span>Міндетті емес</td><td data-cell-label=\"Мәндер мен шектеулер\"><span class=\"card-cell-label\">Мәндер мен шектеулер</span><div>false, null</div></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>endpoint, model, requests</td></tr><tr><th data-cell-label=\"Параметр\" scope=\"row\"><span class=\"card-cell-label\">Параметр</span><code>material_types</code></th><td data-cell-label=\"Параметр талаптары\"><span class=\"card-cell-label\">Параметр талаптары</span>text</td></tr><tr><th data-cell-label=\"Параметр\" scope=\"row\"><span class=\"card-cell-label\">Параметр</span><code>representation</code></th><td data-cell-label=\"Параметр талаптары\"><span class=\"card-cell-label\">Параметр талаптары</span>Сұрау ішіне енгізілген requests[]; әр элементте custom_id және body бар</td></tr><tr><th data-cell-label=\"Параметр\" scope=\"row\"><span class=\"card-cell-label\">Параметр</span><code>request_endpoint_profile</code></th><td data-cell-label=\"Параметр талаптары\"><span class=\"card-cell-label\">Параметр талаптары</span>/v1/chat/completions</td></tr><tr><th data-cell-label=\"Параметр\" scope=\"row\"><span class=\"card-cell-label\">Параметр</span><code>file_material</code></th><td data-cell-label=\"Параметр талаптары\"><span class=\"card-cell-label\">Параметр талаптары</span>Сұрауды жіберуші нақты UTF-8 JSONL деректерін жергілікті ортада оқып, requests[] ішіне енгізе алады. Жүктеу мақсаты, input_file_id немесе файлға сілтеме қолданылмайды. Клиент материалы жоқ немесе бос болса, дайындық POST жіберілгенге дейін тоқтатылады.</td></tr><tr><th data-cell-label=\"Параметр\" scope=\"row\"><span class=\"card-cell-label\">Параметр</span><code>serialization_order</code></th><td data-cell-label=\"Параметр талаптары\"><span class=\"card-cell-label\">Параметр талаптары</span>endpoint, model, provider (берілген болса), completion_window (берілген болса), requests өрісін соңында орналастырыңыз</td></tr><tr><th data-cell-label=\"Параметр\" scope=\"row\"><span class=\"card-cell-label\">Параметр</span><code>optional_controls</code></th><td data-cell-label=\"Параметр талаптары\"><span class=\"card-cell-label\">Параметр талаптары</span>provider.only, provider.allow_fallbacks, completion_window</td></tr><tr><th data-cell-label=\"Параметр\" scope=\"row\"><span class=\"card-cell-label\">Параметр</span><code>schema_scope</code></th><td data-cell-label=\"Параметр талаптары\"><span class=\"card-cell-label\">Параметр талаптары</span>Құжаттамада сипатталған, сұраудың ішіне енгізілетін Batch құрылымындағы мәтіндік Chat Completions сұрауларының денелері.</td></tr></tbody></table></div><p>Өмірлік цикл: <code>asynchronous</code></p><p class=\"note-s\"><code>GET /v1/batches/{operation_id}</code> · Бастапқы жасау жауабындағы нақты response.id; сол пайдаланушы/кілт/топ</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><dt>Айқын кэштеу бағасы</dt><dd>Қосылмаған <span class=\"note-s\">Айқын кэштеу сұралғанда</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><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>Жоғарғы шегі жоқ</td><td data-cell-label=\"Төлем\"><span class=\"card-cell-label\">Төлем</span><div><span>Кіріс · Кіріс токендері</span> <b>$0.0003</b> <span class=\"price-unit\">/ 1K токен</span></div><div><span>Шығыс · Шығыс токендері</span> <b>$0.0009</b> <span class=\"price-unit\">/ 1K токен</span></div><div><span>Кіріс · Кэшті оқу</span> <b>$0.00003</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>Сұрау ұзындығының 1-деңгейі</th><td data-cell-label=\"Мөлшерлемелер кестесі\"><span class=\"card-cell-label\">Мөлшерлемелер кестесі</span>—</td><td data-cell-label=\"Контекст токендерінің саны мынадан көп\"><span class=\"card-cell-label\">Контекст токендерінің саны мынадан көп</span>0</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.0003</b> <span class=\"price-unit\">/ 1K токен</span></div><div><span>Шығыс · Шығыс токендері</span> <b>$0.0009</b> <span class=\"price-unit\">/ 1K токен</span></div><div><span>Кіріс · Кэшті оқу</span> <b>$0.00003</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></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-1890-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1890-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · сақталған деректер үлгісі</button><button class=\"cg-tab\" id=\"model-code-1890-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1890-panel-1\" aria-selected=\"false\" tabindex=\"-1\">Python HTTP · клиенттің нақты JSONL деректері</button><button class=\"cg-tab\" id=\"model-code-1890-tab-2\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1890-panel-2\" aria-selected=\"false\" tabindex=\"-1\">Python · аяқталған әрбір нәтижені сақтаңыз</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-1890-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1890-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json\nfrom pathlib import Path\nbody=json.loads(&#39;{&quot;endpoint&quot;:&quot;/v1/chat/completions&quot;,&quot;model&quot;:&quot;mistralai/codestral-2508:batch&quot;,&quot;requests&quot;:[{&quot;custom_id&quot;:&quot;req-0001&quot;,&quot;body&quot;:{&quot;messages&quot;:[{&quot;role&quot;:&quot;user&quot;,&quot;content&quot;:&quot;Hello!&quot;}],&quot;max_tokens&quot;:16}}]}&#39;)\nPath(&quot;batch-request.json&quot;).write_text(json.dumps(body,ensure_ascii=False),encoding=&quot;utf-8&quot;)\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/batches \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @batch-request.json -D batch-response-headers.txt -o batch-create-response.json\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-1890-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-1890-tab-1\" hidden><pre data-lang=\"python\"><code>import json, os\nfrom pathlib import Path\nfrom urllib.request import Request, urlopen\n\ndef prepare_requests(customer_path):\n    path = Path(customer_path)\n    if not path.is_file(): raise ValueError(&quot;Customer JSONL file is missing&quot;)\n    items = [json.loads(line) for line in path.read_text(encoding=&quot;utf-8&quot;).splitlines() if line.strip()]\n    if not items: raise ValueError(&quot;Customer JSONL contains no requests&quot;)\n    ids = set()\n    for item in items:\n        if set(item) != {&quot;custom_id&quot;, &quot;body&quot;}: raise ValueError(&quot;Each item needs custom_id and body&quot;)\n        cid = item[&quot;custom_id&quot;]\n        if not isinstance(cid, str) or not cid.strip() or cid in ids: raise ValueError(&quot;custom_id must be nonempty and unique&quot;)\n        ids.add(cid)\n        if not isinstance(item[&quot;body&quot;], dict) or not item[&quot;body&quot;].get(&quot;messages&quot;): raise ValueError(&quot;Supply actual text messages&quot;)\n        supplied_model = item[&quot;body&quot;].get(&quot;model&quot;)\n        if supplied_model is not None and supplied_model not in [&#39;mistralai/codestral-2508:batch&#39;, &#39;mistralai/codestral-2508&#39;]: raise ValueError(&quot;body.model must be an exact documented caller or wire ID&quot;)\n    return {&quot;endpoint&quot;:&quot;/v1/chat/completions&quot;, &quot;model&quot;:&quot;mistralai/codestral-2508:batch&quot;, &quot;requests&quot;:items}\n\nif __name__ == &quot;__main__&quot;:\n    material = os.environ.get(&quot;AILOOT_BATCH_REQUESTS_JSONL&quot;, &quot;&quot;)\n    if not material: raise SystemExit(&quot;Set AILOOT_BATCH_REQUESTS_JSONL to your actual customer file&quot;)\n    body = prepare_requests(material)\n    key = os.environ.get(&quot;AILOOT_API_KEY&quot;, &quot;&quot;)\n    if not key: raise SystemExit(&quot;Set AILOOT_API_KEY&quot;)\n    request = Request(&quot;https://api.ailoot.ai/v1/batches&quot;, data=json.dumps(body, ensure_ascii=False).encode(&quot;utf-8&quot;), headers={&quot;Authorization&quot;:&quot;Bearer &quot; + key, &quot;Content-Type&quot;:&quot;application/json&quot;}, method=&quot;POST&quot;)\n    with urlopen(request) as response:\n        raw = response.read()\n        Path(&quot;batch-create-response.json&quot;).write_bytes(raw)\n        print(raw.decode(&quot;utf-8&quot;))\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-1890-panel-2\" role=\"tabpanel\" aria-labelledby=\"model-code-1890-tab-2\" hidden><pre data-lang=\"python\"><code>import json\nfrom pathlib import Path\nraw = Path(&quot;batch-status-response.json&quot;).read_bytes()\nresponse = json.loads(raw)\nif response.get(&quot;status&quot;) != &quot;completed&quot;:\n    raise SystemExit(&quot;Keep the original operation; read its status without resubmitting&quot;)\nresults = response.get(&quot;results&quot;)\nif not isinstance(results, list) or not results:\n    raise SystemExit(&quot;Preserve the original response; completed results are missing&quot;)\nPath(&quot;batch-results.jsonl&quot;).write_text(&quot;&quot;.join(json.dumps(item, ensure_ascii=False) + &quot;\\n&quot; for item in results), encoding=&quot;utf-8&quot;)\n# Preserve batch-status-response.json with aggregate usage and every result/error.\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\">Жауаптың ішіндегі results[].response.body JSON деректері</p><ul class=\"card-result-paths\"><li><code>GET /v1/batches/{operation_id}</code></li></ul><h5>Тапсырма күйін тексеру</h5><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Код нұсқалары\"><button class=\"cg-tab\" id=\"model-code-1891-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1891-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · бастапқы операцияның күйі</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-1891-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1891-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\nBATCH_OPERATION_ID=&quot;$(python3 - &lt;&lt;&#39;PY_ID&#39;\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote\nresponse = json.loads(Path(&quot;batch-create-response.json&quot;).read_text(encoding=&quot;utf-8&quot;))\noperation = response.get(&quot;id&quot;)\nif not isinstance(operation, str) or not operation: raise SystemExit(&quot;No actual original operation ID; preserve the response and do not resubmit&quot;)\nprint(quote(operation, safe=&quot;&quot;))\nPY_ID\n)&quot;\ncurl --fail-with-body --silent --show-error &quot;https://api.ailoot.ai/v1/batches/$BATCH_OPERATION_ID&quot; \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o batch-status-response.json\n</code></pre></div></div></div><div class=\"card-result-process\" data-all-results><h5>Барлық дайын нәтижені сақтау</h5><p class=\"note-s\">Қайтарылған әр толық жауапты, файлды және мазмұн бөлігін сақтаңыз.</p><p class=\"note-s\">Бастапқы күй туралы толық JSON деректерін, әрбір нәтижені/custom_id мәнін және жауаптың немесе қатенің толық денесін сақтаңыз. Аяқталған results[] деректерін сүзгілемей JSONL түрінде сақтаңыз.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Бастапқы жауапты тексеру қажет болса</h5><p class=\"note-s\">Бастапқы операцияның ID мәнін сақтаңыз. 503 result_pending_check жауабында X-Should-Retry:false көрсетіледі; нәтижесі белгісіз бастапқы пакетті ешқашан қайта жібермеңіз.</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\">results[].custom_id</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span>string</td></tr><tr><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">results[].response.body.choices[].message.content</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span>string|null</td></tr><tr><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">results[].error</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span>object|null</td></tr><tr><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span>object|null</td></tr><tr><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">id</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span>string</td></tr><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>string</td></tr><tr><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">endpoint</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span>string</td></tr><tr><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">status</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span>string</td></tr><tr><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">request_counts</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span>object</td></tr><tr><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">results[].id</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span>string</td></tr><tr><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">results[].response.status_code</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span>integer</td></tr><tr><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">results[].response.request_id</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span>string</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Қателер және келесі қадамдар</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Жауап</th><th>Шарт</th><th>Келесі қадам</th></tr></thead><tbody><tr><th data-cell-label=\"Жауап\" scope=\"row\"><span class=\"card-cell-label\">Жауап</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Шарт\"><span class=\"card-cell-label\">Шарт</span>Құжаттамада сипатталған сұрау ішіндегі құрылым жарамсыз, кілттер қайталанады, элементтің сәйкестігі бұзылған немесе бапталған модель мүмкіндіктері арасында қайшылық бар.</td><td data-cell-label=\"Келесі қадам\"><span class=\"card-cell-label\">Келесі қадам</span>Жаңадан жібермес бұрын көрсетілген өрістерді түзетіңіз.</td></tr><tr><th data-cell-label=\"Жауап\" scope=\"row\"><span class=\"card-cell-label\">Жауап</span>401 · <code>authentication_error</code></th><td data-cell-label=\"Шарт\"><span class=\"card-cell-label\">Шарт</span>Жарамсыз API кілті.</td><td data-cell-label=\"Келесі қадам\"><span class=\"card-cell-label\">Келесі қадам</span>Пайдалануға рұқсат берілген Ailoot кілтін қолданыңыз.</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>422 · <code>invalid_request_error</code></th><td data-cell-label=\"Шарт\"><span class=\"card-cell-label\">Шарт</span>Batch төлемді баланстан алады; жазылыммен төленетін жасау сұрауы қабылданбайды.</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>Batch кіріс деректерінің құнын алдын ала есептеу мүмкін емес.</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>402 · <code>billing_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>503 · <code>price_unavailable</code></th><td data-cell-label=\"Шарт\"><span class=\"card-cell-label\">Шарт</span>Batch әдісінің бағасы/жүйенің төл тарифтері қолжетімсіз.</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>api_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>503 · <code>result_pending_check</code></th><td data-cell-label=\"Шарт\"><span class=\"card-cell-label\">Шарт</span>Бастапқы нәтижені тексеру қажет; X-Should-Retry:false.</td><td data-cell-label=\"Келесі қадам\"><span class=\"card-cell-label\">Келесі қадам</span>Бастапқы operation_id/id мәнін сақтап, оның күйін оқыңыз; бастапқы POST сұрауын ешқашан қайталамаңыз.</td></tr><tr><th data-cell-label=\"Жауап\" scope=\"row\"><span class=\"card-cell-label\">Жауап</span>404 · <code>not_found</code></th><td data-cell-label=\"Шарт\"><span class=\"card-cell-label\">Шарт</span>Batch күйін тексеретін операция жоқ немесе басқа субъектіге тиесілі.</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=mistralai%2Fcodestral-2508%3Abatch&amp;route=Ultra&amp;caller=mistralai%2Fcodestral-2508%3Abatch&amp;fmt=batches\"><code>mistralai/codestral-2508:batch</code></a></span></p><h4>Әдіс жолдарының балама атаулары</h4><p class=\"note-s\">Жоғарыда көрсетілген әдіс жолдарын пайдаланыңыз.</p><h4>Шақыруға арналған байланысты ID</h4><p class=\"note-s\"><a href=\"#m=mistralai%2Fcodestral-2508%3Abatch&amp;route=Ultra&amp;caller=mistralai%2Fcodestral-2508%3Abatch&amp;fmt=batches\"><code>mistralai/codestral-2508:batch</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "mistralai/codestral-2508:batch",
        "fmt": "batches",
        "http": "POST",
        "path": "/v1/batches",
        "request_model_id": "mistralai/codestral-2508:batch",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|batches|/v1/batches|mistralai%2Fcodestral-2508%3Abatch",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": 0.03,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Preserve full JSON and every result; provider real IDs are only read from actual returned responses.",
            "authentication": {
              "api_key_source": "AILOOT_API_KEY",
              "header": "Authorization: Bearer"
            },
            "errors": [
              {
                "code": null,
                "condition": "Құжаттамада сипатталған сұрау ішіндегі құрылым жарамсыз, кілттер қайталанады, элементтің сәйкестігі бұзылған немесе бапталған модель мүмкіндіктері арасында қайшылық бар.",
                "http_status": 400,
                "recovery": "Жаңадан жібермес бұрын көрсетілген өрістерді түзетіңіз.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Жарамсыз API кілті.",
                "http_status": 401,
                "recovery": "Пайдалануға рұқсат берілген Ailoot кілтін қолданыңыз.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "Пакеттік өңдеу тобы қолжетімсіз.",
                "http_status": 403,
                "recovery": "Кілттің/топтың қол жеткізу құқығын тексеріңіз.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "Batch төлемді баланстан алады; жазылыммен төленетін жасау сұрауы қабылданбайды.",
                "http_status": 422,
                "recovery": "Баланстан төлем алынатын, пайдалануға рұқсат берілген топты қолданыңыз.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Batch кіріс деректерінің құнын алдын ала есептеу мүмкін емес.",
                "http_status": 422,
                "recovery": "Жауапты сақтаңыз; осы әдістер тобы үшін құжаттамада сипатталған кіріс деректерін қолданыңыз.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Пакеттік өңдеу үшін қаражатты резервтеу қолжетімсіз.",
                "http_status": 402,
                "recovery": "Жаңа сұрау жібермес бұрын сұрауды қабылдау мәселесін шешіңіз.",
                "type": "billing_error"
              },
              {
                "code": null,
                "condition": "Batch әдісінің бағасы/жүйенің төл тарифтері қолжетімсіз.",
                "http_status": 503,
                "recovery": "Жауапты сақтаңыз; бағаларды басқа мәндермен алмастырмаңыз.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Провайдердің осы нақты маршруты қолжетімсіз.",
                "http_status": 503,
                "recovery": "Маршрутты түзету үшін жауапты сақтаңыз.",
                "type": "api_error"
              },
              {
                "code": "result_pending_check",
                "condition": "Бастапқы нәтижені тексеру қажет; X-Should-Retry:false.",
                "http_status": 503,
                "recovery": "Бастапқы operation_id/id мәнін сақтап, оның күйін оқыңыз; бастапқы POST сұрауын ешқашан қайталамаңыз.",
                "type": null
              },
              {
                "code": "not_found",
                "condition": "Batch күйін тексеретін операция жоқ немесе басқа субъектіге тиесілі.",
                "http_status": 404,
                "recovery": "Бастапқы id мәнін дәл қолданыңыз және сол пайдаланушыны/кілтті/топты пайдаланыңыз.",
                "type": null
              }
            ],
            "example_body": {
              "endpoint": "/v1/chat/completions",
              "model": "mistralai/codestral-2508:batch",
              "requests": [
                {
                  "body": {
                    "max_tokens": 16,
                    "messages": [
                      {
                        "content": "Hello!",
                        "role": "user"
                      }
                    ]
                  },
                  "custom_id": "req-0001"
                }
              ]
            },
            "input_constraints": [
              "Use the exact shown :batch model ID.",
              "Each custom_id must be nonempty and unique within the batch.",
              "Keep requests last in the serialized body; duplicate JSON keys are rejected.",
              "Each body.model is omitted or equals the exact batch caller or its documented base ID.",
              "Per-item provider, service_tier and input_type are outside this batch profile.",
              "stream is omitted or false.",
              "Supply text messages for this Chat batch profile; image/audio/file/video objects, hosted tools and cache-control fields are outside this profile.",
              "If body.model is present, use only the exact caller or wire ID listed here; no suffix conversion is needed.",
              "For google/ wire IDs, all items use an identical response_format."
            ],
            "outputs": {
              "all_results": "Бастапқы күй туралы толық JSON деректерін, әрбір нәтижені/custom_id мәнін және жауаптың немесе қатенің толық денесін сақтаңыз. Аяқталған results[] деректерін сүзгілемей JSONL түрінде сақтаңыз.",
              "enclosing_family": "batch",
              "family": "text",
              "fields": [
                {
                  "name": "results[].custom_id",
                  "type": "string"
                },
                {
                  "name": "results[].response.body.choices[].message.content",
                  "type": "string|null"
                },
                {
                  "name": "results[].error",
                  "type": "object|null"
                },
                {
                  "name": "usage",
                  "type": "object|null"
                },
                {
                  "description": null,
                  "name": "id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "endpoint",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "status",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "request_counts",
                  "type": "object"
                },
                {
                  "description": null,
                  "name": "results[].id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "results[].response.status_code",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "results[].response.request_id",
                  "type": "string"
                }
              ],
              "format": "Жауаптың ішіндегі results[].response.body JSON деректері"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "/v1/chat/completions"
                ],
                "enum_known": true,
                "name": "endpoint",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "mistralai/codestral-2508:batch"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_items": 1,
                "name": "requests",
                "required": true,
                "type": "batch_item[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "requests[].custom_id",
                "required": true,
                "type": "string",
                "unique_within_batch": true
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "requests[].body.messages",
                "required": true,
                "type": "message[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "24h"
                ],
                "enum_known": true,
                "name": "completion_window",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "provider",
                "required": false,
                "type": "object|null"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "mistralai/codestral-2508:batch",
                  "mistralai/codestral-2508"
                ],
                "enum_known": true,
                "name": "requests[].body.model",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  [
                    "mistral"
                  ]
                ],
                "enum_known": true,
                "name": "provider.only",
                "required": false,
                "type": "string[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  false,
                  null
                ],
                "enum_known": true,
                "name": "provider.allow_fallbacks",
                "required": false,
                "type": "boolean|null"
              }
            ],
            "provider_policy": {
              "allow_fallbacks": false,
              "configured_only": [
                "mistral"
              ],
              "per_item_override": false,
              "when_omitted": "Current Source injects the exact persisted declaration before fresh submission."
            },
            "request_schema": {
              "additionalProperties": false,
              "properties": {
                "completion_window": {
                  "enum": [
                    "24h"
                  ],
                  "type": "string"
                },
                "endpoint": {
                  "enum": [
                    "/v1/chat/completions"
                  ],
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "mistralai/codestral-2508:batch"
                  ],
                  "type": "string"
                },
                "provider": {
                  "additionalProperties": false,
                  "properties": {
                    "allow_fallbacks": {
                      "enum": [
                        false,
                        null
                      ],
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "only": {
                      "enum": [
                        [
                          "mistral"
                        ]
                      ],
                      "items": {
                        "enum": [
                          "mistral"
                        ],
                        "type": "string"
                      },
                      "maxItems": 1,
                      "minItems": 1,
                      "type": "array"
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "requests": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "body": {
                        "additionalProperties": true,
                        "properties": {
                          "max_tokens": {
                            "minimum": 1,
                            "type": "integer"
                          },
                          "messages": {
                            "items": {
                              "properties": {
                                "content": {
                                  "type": "string"
                                },
                                "role": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "role",
                                "content"
                              ],
                              "type": "object"
                            },
                            "minItems": 1,
                            "type": "array"
                          },
                          "model": {
                            "enum": [
                              "mistralai/codestral-2508:batch",
                              "mistralai/codestral-2508"
                            ],
                            "type": "string"
                          }
                        },
                        "required": [
                          "messages"
                        ],
                        "type": "object"
                      },
                      "custom_id": {
                        "minLength": 1,
                        "type": "string"
                      }
                    },
                    "required": [
                      "custom_id",
                      "body"
                    ],
                    "type": "object"
                  },
                  "minItems": 1,
                  "type": "array"
                }
              },
              "required": [
                "endpoint",
                "model",
                "requests"
              ],
              "type": "object"
            },
            "schema_template": {
              "endpoint": "/v1/chat/completions",
              "model": "mistralai/codestral-2508:batch",
              "requests": [
                {
                  "body": {
                    "max_tokens": 16,
                    "messages": [
                      {
                        "content": "Hello!",
                        "role": "user"
                      }
                    ]
                  },
                  "custom_id": "req-0001"
                }
              ]
            },
            "unsupported": [
              "Files/input_file_id batch upload workflow",
              "active cancel route",
              "public batch list/delete/result-download route",
              "model-name-derived capability or weights equivalence"
            ]
          },
          "input": {
            "content_type": "application/json",
            "file_material": "Сұрауды жіберуші нақты UTF-8 JSONL деректерін жергілікті ортада оқып, requests[] ішіне енгізе алады. Жүктеу мақсаты, input_file_id немесе файлға сілтеме қолданылмайды. Клиент материалы жоқ немесе бос болса, дайындық POST жіберілгенге дейін тоқтатылады.",
            "material_types": [
              "text"
            ],
            "optional_controls": [
              "provider.only",
              "provider.allow_fallbacks",
              "completion_window"
            ],
            "representation": "Сұрау ішіне енгізілген requests[]; әр элементте custom_id және body бар",
            "request_endpoint_profile": "/v1/chat/completions",
            "required": [
              "endpoint",
              "model",
              "requests"
            ],
            "schema_scope": "Құжаттамада сипатталған, сұраудың ішіне енгізілетін Batch құрылымындағы мәтіндік Chat Completions сұрауларының денелері.",
            "serialization_order": [
              "endpoint",
              "model",
              "provider (берілген болса)",
              "completion_window (берілген болса)",
              "requests өрісін соңында орналастырыңыз"
            ]
          },
          "lifecycle": {
            "cancel": null,
            "create": {
              "accepted_status": 202,
              "http": "POST",
              "path": "/v1/batches"
            },
            "delete": null,
            "file_upload": null,
            "mode": "asynchronous",
            "observed_status_values": [
              "validating",
              "in_progress",
              "finalizing",
              "completed",
              "failed",
              "expired",
              "cancelling",
              "cancelled"
            ],
            "owned_results": {
              "behavior": "Completed results are saved as owned JSONL, read back byte-for-byte and registered in the existing media library before publication after settlement. Status returns inline results; no separate Batch download route is added.",
              "format": "application/x-ndjson",
              "public_url_field_in_status": null
            },
            "status": {
              "http": "GET",
              "id_source": "Бастапқы жасау жауабындағы нақты response.id; сол пайдаланушы/кілт/топ",
              "path": "/v1/batches/{operation_id}"
            },
            "terminal": [
              "completed",
              "failed",
              "expired",
              "cancelled"
            ],
            "unknown": "Бастапқы операцияның ID мәнін сақтаңыз. 503 result_pending_check жауабында X-Should-Retry:false көрсетіледі; нәтижесі белгісіз бастапқы пакетті ешқашан қайта жібермеңіз."
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/batches"
          },
          "output": {
            "all_results": "Preserve the full original status JSON, every result/custom_id and complete response or error body. Save completed results[] as JSONL without filtering.",
            "family": "batch",
            "format": "JSON; completed results[] are returned inline and can be saved as JSONL."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Токендердің базалық тарифтері",
            "units": [
              {
                "amount": "0.0003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000003",
                "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": "0.0009000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.0000009",
                "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": "0.00003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.00000003",
                "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": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "Сұрау ұзындығының 1-деңгейі",
            "units": [
              {
                "amount": "0.0003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000003",
                "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": "0.0009000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.0000009",
                "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": "0.00003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.00000003",
                "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"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nimport json\nfrom pathlib import Path\nbody=json.loads('{\"endpoint\":\"/v1/chat/completions\",\"model\":\"mistralai/codestral-2508:batch\",\"requests\":[{\"custom_id\":\"req-0001\",\"body\":{\"messages\":[{\"role\":\"user\",\"content\":\"Hello!\"}],\"max_tokens\":16}}]}')\nPath(\"batch-request.json\").write_text(json.dumps(body,ensure_ascii=False),encoding=\"utf-8\")\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/batches \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @batch-request.json -D batch-response-headers.txt -o batch-create-response.json\n",
            "label": "curl · retained fixture",
            "language": "bash"
          },
          {
            "code": "import json, os\nfrom pathlib import Path\nfrom urllib.request import Request, urlopen\n\ndef prepare_requests(customer_path):\n    path = Path(customer_path)\n    if not path.is_file(): raise ValueError(\"Customer JSONL file is missing\")\n    items = [json.loads(line) for line in path.read_text(encoding=\"utf-8\").splitlines() if line.strip()]\n    if not items: raise ValueError(\"Customer JSONL contains no requests\")\n    ids = set()\n    for item in items:\n        if set(item) != {\"custom_id\", \"body\"}: raise ValueError(\"Each item needs custom_id and body\")\n        cid = item[\"custom_id\"]\n        if not isinstance(cid, str) or not cid.strip() or cid in ids: raise ValueError(\"custom_id must be nonempty and unique\")\n        ids.add(cid)\n        if not isinstance(item[\"body\"], dict) or not item[\"body\"].get(\"messages\"): raise ValueError(\"Supply actual text messages\")\n        supplied_model = item[\"body\"].get(\"model\")\n        if supplied_model is not None and supplied_model not in ['mistralai/codestral-2508:batch', 'mistralai/codestral-2508']: raise ValueError(\"body.model must be an exact documented caller or wire ID\")\n    return {\"endpoint\":\"/v1/chat/completions\", \"model\":\"mistralai/codestral-2508:batch\", \"requests\":items}\n\nif __name__ == \"__main__\":\n    material = os.environ.get(\"AILOOT_BATCH_REQUESTS_JSONL\", \"\")\n    if not material: raise SystemExit(\"Set AILOOT_BATCH_REQUESTS_JSONL to your actual customer file\")\n    body = prepare_requests(material)\n    key = os.environ.get(\"AILOOT_API_KEY\", \"\")\n    if not key: raise SystemExit(\"Set AILOOT_API_KEY\")\n    request = Request(\"https://api.ailoot.ai/v1/batches\", data=json.dumps(body, ensure_ascii=False).encode(\"utf-8\"), headers={\"Authorization\":\"Bearer \" + key, \"Content-Type\":\"application/json\"}, method=\"POST\")\n    with urlopen(request) as response:\n        raw = response.read()\n        Path(\"batch-create-response.json\").write_bytes(raw)\n        print(raw.decode(\"utf-8\"))\n",
            "label": "Python HTTP · actual customer JSONL",
            "language": "python"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nBATCH_OPERATION_ID=\"$(python3 - <<'PY_ID'\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote\nresponse = json.loads(Path(\"batch-create-response.json\").read_text(encoding=\"utf-8\"))\noperation = response.get(\"id\")\nif not isinstance(operation, str) or not operation: raise SystemExit(\"No actual original operation ID; preserve the response and do not resubmit\")\nprint(quote(operation, safe=\"\"))\nPY_ID\n)\"\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/batches/$BATCH_OPERATION_ID\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o batch-status-response.json\n",
            "label": "curl · original operation status",
            "language": "bash"
          },
          {
            "code": "import json\nfrom pathlib import Path\nraw = Path(\"batch-status-response.json\").read_bytes()\nresponse = json.loads(raw)\nif response.get(\"status\") != \"completed\":\n    raise SystemExit(\"Keep the original operation; read its status without resubmitting\")\nresults = response.get(\"results\")\nif not isinstance(results, list) or not results:\n    raise SystemExit(\"Preserve the original response; completed results are missing\")\nPath(\"batch-results.jsonl\").write_text(\"\".join(json.dumps(item, ensure_ascii=False) + \"\\n\" for item in results), encoding=\"utf-8\")\n# Preserve batch-status-response.json with aggregate usage and every result/error.\n",
            "label": "Python · save every completed result",
            "language": "python"
          }
        ],
        "family": "batch",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "batches",
        "hints": [
          "Read your actual request items before submission; inline requests are required.",
          "Keep the returned operation ID and every result. Never replay an unknown submission."
        ],
        "http": "POST",
        "in": 0.3,
        "input": [
          "text"
        ],
        "label": "Пакеттік өңдеу",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "out": 0.9,
        "output": [
          "text"
        ],
        "path": "/v1/batches",
        "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"
          },
          {
            "label": "Explicit cache pricing",
            "value": "Not enabled",
            "when": "When explicit cache is requested"
          }
        ],
        "pricing": {
          "billing_mode": "token",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0.0003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000003",
                "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": "0.0009000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.0000009",
                "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": "0.00003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.00000003",
                "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": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "Request-length tier 1",
            "units": [
              {
                "amount": "0.0003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000003",
                "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": "0.0009000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.0000009",
                "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": "0.00003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.00000003",
                "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"
              }
            ]
          }
        ],
        "request_model_id": "mistralai/codestral-2508:batch",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/batches/{operation_id}"
        ],
        "tiers": [
          {
            "cache_read": 0.03,
            "cache_read_multiplier": null,
            "cache_write": null,
            "cache_write_1h": null,
            "cache_write_multiplier": null,
            "created_at": "0001-01-01T00:00:00Z",
            "in": 0.3,
            "input_multiplier": null,
            "max": null,
            "max_tokens": null,
            "min": 0,
            "min_tokens": 0,
            "out": 0.9,
            "output_multiplier": null,
            "per_request_price": null,
            "sort_order": 0,
            "tier_label": "",
            "updated_at": "0001-01-01T00:00:00Z"
          }
        ],
        "units": [
          {
            "amount": "0.0003000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000003",
            "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": "0.0009000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.0000009",
            "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": "0.00003000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": "0.00000003",
            "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"
          }
        ]
      }
    }
  ],
  "model_id": "mistralai/codestral-2508:batch",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "62dccab491cdbcffe7fe0c2d75f7bc59f1e0d458db58348e662eaf9cacbe2f25",
    "input_html_sha256": "cd28624904d7cbb62663cd5adfb206006cfd36046ae17c9a95bfff398760581d",
    "private_audit_sha256": "9506887c603f8978d8afacc763cfbc5465d93d253e62d3758c0d3c7c925fc829",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/kk/mistralai-codestral-2508-u003a-batch/",
    "description": "Codestral 2508 — Mistral AI компаниясының код жасауға және контексті ескеріп толықтыруға арналған мәтін моделі. Ол редактордағы жиі тапсырмаларға, соның ішінде код ортасындағы бос орынды толтыруға және бірнеше жолды өңдеуге оңтайландырылған; өндіруші көрсеткен 128 мың токендік контексті және құжатталған чат, құрылымдалған шығыс пен құрал мүмкіндіктерін ұсынады.",
    "locale": "kk",
    "md_url": "https://ailoot.ai/models/kk/mistralai-codestral-2508-u003a-batch/index.md",
    "title": "Mistral: Codestral 2508 (batch) — Ailoot",
    "url": "https://ailoot.ai/models/kk/mistralai-codestral-2508-u003a-batch/"
  },
  "rawModel": {
    "about": "Codestral 2508 — Mistral AI компаниясының жиі орындалатын, кідіріске сезімтал толықтыру және код жасау тапсырмаларына арналған кодтау моделі. Ол бастапқы код пен мәтіндік талаптарды қабылдап, іске асыру, толықтыру, түзету немесе түсіндірме қамтитын мәтін қайтарады. Аталған 2508 шығарылымы ендірілім моделі немесе өздігінен толыққанды репозиторий агенті болудан гөрі әзірлеушінің ағымдағы өңдеу контекстіне бағытталған.\n\nКодты толықтыру және 2508 жаңартуы\n\nӨндіруші Codestral моделін код ортасындағы бос орынды толтыруға және бірнеше жолды өңдеуге арнайды. Шығарылым сипаттамасында шамадан тыс генерацияны азайтуды қамтитын толықтыру әрекетінің жақсаруы, сондай-ақ чат режимінде нұсқауларды орындау мен код тапсырмаларының жақсаруы аталады. Бұлар осы Codestral шығарылымындағы өзгерістер; айналасындағы кодтау құралдары жүйесінің ақпарат іздеу және автономды агент мүмкіндіктері бөлек аталған компоненттерге тиесілі.\n\nТолықтыру тапсырмасында қатысты функция сигнатурасын, жарияланымдарды және шақыру контекстін меңзер орнымен бірге сақтаңыз. Қажетті нәтиже тек жетіспейтін код па, әлде толық түзетілген функция ма — соны көрсетіңіз. Редакторға тән сұрау қолданыстағы қайтару түрін сақтайтын, қайталанатын мәндерді қалдыратын және шақырушының кірісін өзгертпейтін цикл денесін сұрауы мүмкін. Сонда нәтижені енгізетін нақты орын мен анықталған әрекет болады.\n\nКод ортасындағы бос орынды толтыруға дайындау\n\nӨндірушінің FIM интерфейсінде промпт толықтырылатын мәтінді немесе кодты береді, ал міндетті емес суффикс бос орыннан кейінгі материалды береді. Екеуі де берілсе, модель олардың арасын толтырады. Суффикс болмаса, промпттан әрі жалғастырады. Бұл код өзгерісі мен түсіндірмені сұрайтын қалыпты әңгімелесу сұрауынан өзгеше; әр дайындау тәсілі бөлек шығыс шартын анықтайды.\n\nБос орынды толтыруға пайдалы кіріс функцияның басын, енгізілетін бөліктен кейін тұруға тиіс кодты және қатысты түр не көмекші функция анықтамаларын қамтиды. Қайтарылған мәтін қолданыстағы үзіндіге үйлесуі үшін шегіністер мен бөлгіштерді сақтаңыз. Тапсырмаға тек жетіспейтін дене қажет болса, бүкіл файлды қайта жазуды емес, сол денені сұраңыз. Бөлек чат сұрағы толықтырылған үзінді талапқа неліктен сай екенін түсіндіре алады.\n\nРесми FIM құжаттамасы шығыс токендерінің бюджетін белгілеуге мүмкіндік береді және промпт пен осы бюджет модельдің контекст шегінде қалуын талап етеді. Онда тоқтату тізбектері мен жасалған мазмұнды ағынмен беру де құжатталған. Нәтиже кодтағы бос орынға дәл келуге тиіс болса, толықтыру үдерісін, ал тапсырма код пен түсіндірмені бірге сұраса, әңгімелесу үдерісін таңдаңыз.\n\nКонтекст және қосымша мүмкіндіктер\n\nМодель бетінде 128 мың токендік контекст терезесі көрсетілген. Контексті көзделген өзгерісті анықтайтын бастапқы код пен жарияланымдарды сақтауға пайдаланып, нақты өңдеу тапсырмасын айқын қалдырыңыз. Қатені түзету сұрауы үшін қатысты функцияны, нақты сәтсіз кірісті, күтілетін нәтижені және қатені немесе байқалған әрекетті беріңіз. Ұсынылған түзетуді оның түсіндірмесі мен мысалдарынан бөлек сұраңыз.\n\nБетте чат пен FIM мүмкіндіктерімен қатар құрылымдалған шығыс, функция шақыруы, болжамды шығыс, құжат бойынша сұрақтарға жауап беру, жауап префикстері және пакеттік өңдеу де тізілген. Құрылымдалған код шолуы үшін қатысты символ, байқалған сәйкессіздік, ұсынылған өзгеріс және әлі нақтылауды қажет ететін жорамал сияқты өрістерді анықтаңыз. Mistral компаниясының құрылымдалған шығыс нұсқаулығы JSON режимін арнайы схемадан ажыратады; қажетті JSON пішімі промптта көрсетіледі.\n\nБолжамды шығыс жауаптың елеулі бөлігі алдын ала белгілі мазмұнға арналған. Оны құжатты немесе код файлын шектеулі өзгеріспен қайта жасап, қалған мазмұнын сақтау кезінде пайдалануға болады. Нақты өзгерісті және сақталуға тиіс материалды көрсетіңіз. Ал жауап префиксі генерация жалғасатын белгілі бастауды береді; ол белгілі толық мәтіннен де, FIM суффиксінен де бөлек.\n\nҚұжаттама туралы сұрақта тіл моделі талдауына дейін мәтін мен құрылымды OCR арқылы дайындау үшін өндірушінің құжат өңдеу үдерісін пайдалануға болады. Мәтін түрінде бар бағдарламалау материалы үшін тиісті құжаттама үзінділерін беріп, іске асыруға қай шарт қолданылатынын сұраңыз. Жасалған код немесе түсіндірме берілген спецификациямен байланысын сақтауы үшін әр алынған талапты бастапқы бөлімімен байланыстырыңыз.\n\nҚұралдар және практикалық нәтижелер\n\nФункция шақыруы қолданбаға сипатталған операциялар мен олардың параметрлерін беруге мүмкіндік береді. Модель шақыруды дайындайды, қолданба оны орындайды, ал қайтарылған нәтиже келесі жауапқа контекст болады. Код көмекшісі осы цикл арқылы іздеу немесе есептеу нәтижесін ала алады, бірақ ұсынылған өзгерісті құрастыру, тестілеу немесе қолдану үшін бәрібір сыртқы әзірлеу ортасы қажет.\n\nПрактикалық түзету үшін үйлесімді қалуға тиіс ашық интерфейсті анықтап, түзетілген үзіндіні, қысқа түсіндірмені және күтілетін шығыстары бар кіріс мысалдарын сұраңыз. Жасалатын функция үшін қабылданатын түрлер мен шеткі жағдайларды көрсетіңіз. Түсіндірме үшін орындалуын қадағалайтын кірісті беріңіз: сонда жауап нақты орындалу жолын қайтарылған мәнмен байланыстырады.\n\nCodestral мәтін шығарады. Ол Codestral Embed моделінен код іздеу векторларын, Devstral моделінен репозиторийді автоматтандыруды немесе визуалды модельден сурет жасауды иеленбейді. Дәл 2508 модель бетінде басқа шығарылымнан алуға болатын параметр саны немесе тәуелсіз ең жоғары жауап ұзындығы жарияланбаған. Қайталанатын редактор не чат үдерісін дайындағанда аталған шығарылымды, кодтау контекстін және қажетті артефактіні сақтаңыз.",
    "alias_of": null,
    "aliases": [],
    "author": "Mistral",
    "capabilities": {
      "context_length": 256000,
      "manufacturer_input": [
        "text",
        "file"
      ],
      "manufacturer_output": [
        "text"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.0003000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000003",
            "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": "0.0009000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.0000009",
            "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"
          }
        ],
        "summary": "Конфигурация бағалары туралы толық ақпарат — егжей-тегжейлі мәліметтерде."
      }
    ],
    "ctx": null,
    "formats": [
      "batches"
    ],
    "id": "mistralai/codestral-2508:batch",
    "input": [
      "text"
    ],
    "kind": "text",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": 0.03,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Preserve full JSON and every result; provider real IDs are only read from actual returned responses.",
            "authentication": {
              "api_key_source": "AILOOT_API_KEY",
              "header": "Authorization: Bearer"
            },
            "errors": [
              {
                "code": null,
                "condition": "Құжаттамада сипатталған сұрау ішіндегі құрылым жарамсыз, кілттер қайталанады, элементтің сәйкестігі бұзылған немесе бапталған модель мүмкіндіктері арасында қайшылық бар.",
                "http_status": 400,
                "recovery": "Жаңадан жібермес бұрын көрсетілген өрістерді түзетіңіз.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Жарамсыз API кілті.",
                "http_status": 401,
                "recovery": "Пайдалануға рұқсат берілген Ailoot кілтін қолданыңыз.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "Пакеттік өңдеу тобы қолжетімсіз.",
                "http_status": 403,
                "recovery": "Кілттің/топтың қол жеткізу құқығын тексеріңіз.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "Batch төлемді баланстан алады; жазылыммен төленетін жасау сұрауы қабылданбайды.",
                "http_status": 422,
                "recovery": "Баланстан төлем алынатын, пайдалануға рұқсат берілген топты қолданыңыз.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Batch кіріс деректерінің құнын алдын ала есептеу мүмкін емес.",
                "http_status": 422,
                "recovery": "Жауапты сақтаңыз; осы әдістер тобы үшін құжаттамада сипатталған кіріс деректерін қолданыңыз.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Пакеттік өңдеу үшін қаражатты резервтеу қолжетімсіз.",
                "http_status": 402,
                "recovery": "Жаңа сұрау жібермес бұрын сұрауды қабылдау мәселесін шешіңіз.",
                "type": "billing_error"
              },
              {
                "code": null,
                "condition": "Batch әдісінің бағасы/жүйенің төл тарифтері қолжетімсіз.",
                "http_status": 503,
                "recovery": "Жауапты сақтаңыз; бағаларды басқа мәндермен алмастырмаңыз.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Провайдердің осы нақты маршруты қолжетімсіз.",
                "http_status": 503,
                "recovery": "Маршрутты түзету үшін жауапты сақтаңыз.",
                "type": "api_error"
              },
              {
                "code": "result_pending_check",
                "condition": "Бастапқы нәтижені тексеру қажет; X-Should-Retry:false.",
                "http_status": 503,
                "recovery": "Бастапқы operation_id/id мәнін сақтап, оның күйін оқыңыз; бастапқы POST сұрауын ешқашан қайталамаңыз.",
                "type": null
              },
              {
                "code": "not_found",
                "condition": "Batch күйін тексеретін операция жоқ немесе басқа субъектіге тиесілі.",
                "http_status": 404,
                "recovery": "Бастапқы id мәнін дәл қолданыңыз және сол пайдаланушыны/кілтті/топты пайдаланыңыз.",
                "type": null
              }
            ],
            "example_body": {
              "endpoint": "/v1/chat/completions",
              "model": "mistralai/codestral-2508:batch",
              "requests": [
                {
                  "body": {
                    "max_tokens": 16,
                    "messages": [
                      {
                        "content": "Hello!",
                        "role": "user"
                      }
                    ]
                  },
                  "custom_id": "req-0001"
                }
              ]
            },
            "input_constraints": [
              "Use the exact shown :batch model ID.",
              "Each custom_id must be nonempty and unique within the batch.",
              "Keep requests last in the serialized body; duplicate JSON keys are rejected.",
              "Each body.model is omitted or equals the exact batch caller or its documented base ID.",
              "Per-item provider, service_tier and input_type are outside this batch profile.",
              "stream is omitted or false.",
              "Supply text messages for this Chat batch profile; image/audio/file/video objects, hosted tools and cache-control fields are outside this profile.",
              "If body.model is present, use only the exact caller or wire ID listed here; no suffix conversion is needed.",
              "For google/ wire IDs, all items use an identical response_format."
            ],
            "outputs": {
              "all_results": "Бастапқы күй туралы толық JSON деректерін, әрбір нәтижені/custom_id мәнін және жауаптың немесе қатенің толық денесін сақтаңыз. Аяқталған results[] деректерін сүзгілемей JSONL түрінде сақтаңыз.",
              "enclosing_family": "batch",
              "family": "text",
              "fields": [
                {
                  "name": "results[].custom_id",
                  "type": "string"
                },
                {
                  "name": "results[].response.body.choices[].message.content",
                  "type": "string|null"
                },
                {
                  "name": "results[].error",
                  "type": "object|null"
                },
                {
                  "name": "usage",
                  "type": "object|null"
                },
                {
                  "description": null,
                  "name": "id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "endpoint",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "status",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "request_counts",
                  "type": "object"
                },
                {
                  "description": null,
                  "name": "results[].id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "results[].response.status_code",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "results[].response.request_id",
                  "type": "string"
                }
              ],
              "format": "Жауаптың ішіндегі results[].response.body JSON деректері"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "/v1/chat/completions"
                ],
                "enum_known": true,
                "name": "endpoint",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "mistralai/codestral-2508:batch"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_items": 1,
                "name": "requests",
                "required": true,
                "type": "batch_item[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "requests[].custom_id",
                "required": true,
                "type": "string",
                "unique_within_batch": true
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "requests[].body.messages",
                "required": true,
                "type": "message[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "24h"
                ],
                "enum_known": true,
                "name": "completion_window",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "provider",
                "required": false,
                "type": "object|null"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "mistralai/codestral-2508:batch",
                  "mistralai/codestral-2508"
                ],
                "enum_known": true,
                "name": "requests[].body.model",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  [
                    "mistral"
                  ]
                ],
                "enum_known": true,
                "name": "provider.only",
                "required": false,
                "type": "string[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  false,
                  null
                ],
                "enum_known": true,
                "name": "provider.allow_fallbacks",
                "required": false,
                "type": "boolean|null"
              }
            ],
            "provider_policy": {
              "allow_fallbacks": false,
              "configured_only": [
                "mistral"
              ],
              "per_item_override": false,
              "when_omitted": "Current Source injects the exact persisted declaration before fresh submission."
            },
            "request_schema": {
              "additionalProperties": false,
              "properties": {
                "completion_window": {
                  "enum": [
                    "24h"
                  ],
                  "type": "string"
                },
                "endpoint": {
                  "enum": [
                    "/v1/chat/completions"
                  ],
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "mistralai/codestral-2508:batch"
                  ],
                  "type": "string"
                },
                "provider": {
                  "additionalProperties": false,
                  "properties": {
                    "allow_fallbacks": {
                      "enum": [
                        false,
                        null
                      ],
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "only": {
                      "enum": [
                        [
                          "mistral"
                        ]
                      ],
                      "items": {
                        "enum": [
                          "mistral"
                        ],
                        "type": "string"
                      },
                      "maxItems": 1,
                      "minItems": 1,
                      "type": "array"
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "requests": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "body": {
                        "additionalProperties": true,
                        "properties": {
                          "max_tokens": {
                            "minimum": 1,
                            "type": "integer"
                          },
                          "messages": {
                            "items": {
                              "properties": {
                                "content": {
                                  "type": "string"
                                },
                                "role": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "role",
                                "content"
                              ],
                              "type": "object"
                            },
                            "minItems": 1,
                            "type": "array"
                          },
                          "model": {
                            "enum": [
                              "mistralai/codestral-2508:batch",
                              "mistralai/codestral-2508"
                            ],
                            "type": "string"
                          }
                        },
                        "required": [
                          "messages"
                        ],
                        "type": "object"
                      },
                      "custom_id": {
                        "minLength": 1,
                        "type": "string"
                      }
                    },
                    "required": [
                      "custom_id",
                      "body"
                    ],
                    "type": "object"
                  },
                  "minItems": 1,
                  "type": "array"
                }
              },
              "required": [
                "endpoint",
                "model",
                "requests"
              ],
              "type": "object"
            },
            "schema_template": {
              "endpoint": "/v1/chat/completions",
              "model": "mistralai/codestral-2508:batch",
              "requests": [
                {
                  "body": {
                    "max_tokens": 16,
                    "messages": [
                      {
                        "content": "Hello!",
                        "role": "user"
                      }
                    ]
                  },
                  "custom_id": "req-0001"
                }
              ]
            },
            "unsupported": [
              "Files/input_file_id batch upload workflow",
              "active cancel route",
              "public batch list/delete/result-download route",
              "model-name-derived capability or weights equivalence"
            ]
          },
          "input": {
            "content_type": "application/json",
            "file_material": "Сұрауды жіберуші нақты UTF-8 JSONL деректерін жергілікті ортада оқып, requests[] ішіне енгізе алады. Жүктеу мақсаты, input_file_id немесе файлға сілтеме қолданылмайды. Клиент материалы жоқ немесе бос болса, дайындық POST жіберілгенге дейін тоқтатылады.",
            "material_types": [
              "text"
            ],
            "optional_controls": [
              "provider.only",
              "provider.allow_fallbacks",
              "completion_window"
            ],
            "representation": "Сұрау ішіне енгізілген requests[]; әр элементте custom_id және body бар",
            "request_endpoint_profile": "/v1/chat/completions",
            "required": [
              "endpoint",
              "model",
              "requests"
            ],
            "schema_scope": "Құжаттамада сипатталған, сұраудың ішіне енгізілетін Batch құрылымындағы мәтіндік Chat Completions сұрауларының денелері.",
            "serialization_order": [
              "endpoint",
              "model",
              "provider (берілген болса)",
              "completion_window (берілген болса)",
              "requests өрісін соңында орналастырыңыз"
            ]
          },
          "lifecycle": {
            "cancel": null,
            "create": {
              "accepted_status": 202,
              "http": "POST",
              "path": "/v1/batches"
            },
            "delete": null,
            "file_upload": null,
            "mode": "asynchronous",
            "observed_status_values": [
              "validating",
              "in_progress",
              "finalizing",
              "completed",
              "failed",
              "expired",
              "cancelling",
              "cancelled"
            ],
            "owned_results": {
              "behavior": "Completed results are saved as owned JSONL, read back byte-for-byte and registered in the existing media library before publication after settlement. Status returns inline results; no separate Batch download route is added.",
              "format": "application/x-ndjson",
              "public_url_field_in_status": null
            },
            "status": {
              "http": "GET",
              "id_source": "Бастапқы жасау жауабындағы нақты response.id; сол пайдаланушы/кілт/топ",
              "path": "/v1/batches/{operation_id}"
            },
            "terminal": [
              "completed",
              "failed",
              "expired",
              "cancelled"
            ],
            "unknown": "Бастапқы операцияның ID мәнін сақтаңыз. 503 result_pending_check жауабында X-Should-Retry:false көрсетіледі; нәтижесі белгісіз бастапқы пакетті ешқашан қайта жібермеңіз."
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/batches"
          },
          "output": {
            "all_results": "Preserve the full original status JSON, every result/custom_id and complete response or error body. Save completed results[] as JSONL without filtering.",
            "family": "batch",
            "format": "JSON; completed results[] are returned inline and can be saved as JSONL."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Токендердің базалық тарифтері",
            "units": [
              {
                "amount": "0.0003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000003",
                "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": "0.0009000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.0000009",
                "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": "0.00003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.00000003",
                "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": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "Сұрау ұзындығының 1-деңгейі",
            "units": [
              {
                "amount": "0.0003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000003",
                "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": "0.0009000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.0000009",
                "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": "0.00003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.00000003",
                "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"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nimport json\nfrom pathlib import Path\nbody=json.loads('{\"endpoint\":\"/v1/chat/completions\",\"model\":\"mistralai/codestral-2508:batch\",\"requests\":[{\"custom_id\":\"req-0001\",\"body\":{\"messages\":[{\"role\":\"user\",\"content\":\"Hello!\"}],\"max_tokens\":16}}]}')\nPath(\"batch-request.json\").write_text(json.dumps(body,ensure_ascii=False),encoding=\"utf-8\")\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/batches \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @batch-request.json -D batch-response-headers.txt -o batch-create-response.json\n",
            "label": "curl · retained fixture",
            "language": "bash"
          },
          {
            "code": "import json, os\nfrom pathlib import Path\nfrom urllib.request import Request, urlopen\n\ndef prepare_requests(customer_path):\n    path = Path(customer_path)\n    if not path.is_file(): raise ValueError(\"Customer JSONL file is missing\")\n    items = [json.loads(line) for line in path.read_text(encoding=\"utf-8\").splitlines() if line.strip()]\n    if not items: raise ValueError(\"Customer JSONL contains no requests\")\n    ids = set()\n    for item in items:\n        if set(item) != {\"custom_id\", \"body\"}: raise ValueError(\"Each item needs custom_id and body\")\n        cid = item[\"custom_id\"]\n        if not isinstance(cid, str) or not cid.strip() or cid in ids: raise ValueError(\"custom_id must be nonempty and unique\")\n        ids.add(cid)\n        if not isinstance(item[\"body\"], dict) or not item[\"body\"].get(\"messages\"): raise ValueError(\"Supply actual text messages\")\n        supplied_model = item[\"body\"].get(\"model\")\n        if supplied_model is not None and supplied_model not in ['mistralai/codestral-2508:batch', 'mistralai/codestral-2508']: raise ValueError(\"body.model must be an exact documented caller or wire ID\")\n    return {\"endpoint\":\"/v1/chat/completions\", \"model\":\"mistralai/codestral-2508:batch\", \"requests\":items}\n\nif __name__ == \"__main__\":\n    material = os.environ.get(\"AILOOT_BATCH_REQUESTS_JSONL\", \"\")\n    if not material: raise SystemExit(\"Set AILOOT_BATCH_REQUESTS_JSONL to your actual customer file\")\n    body = prepare_requests(material)\n    key = os.environ.get(\"AILOOT_API_KEY\", \"\")\n    if not key: raise SystemExit(\"Set AILOOT_API_KEY\")\n    request = Request(\"https://api.ailoot.ai/v1/batches\", data=json.dumps(body, ensure_ascii=False).encode(\"utf-8\"), headers={\"Authorization\":\"Bearer \" + key, \"Content-Type\":\"application/json\"}, method=\"POST\")\n    with urlopen(request) as response:\n        raw = response.read()\n        Path(\"batch-create-response.json\").write_bytes(raw)\n        print(raw.decode(\"utf-8\"))\n",
            "label": "Python HTTP · actual customer JSONL",
            "language": "python"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nBATCH_OPERATION_ID=\"$(python3 - <<'PY_ID'\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote\nresponse = json.loads(Path(\"batch-create-response.json\").read_text(encoding=\"utf-8\"))\noperation = response.get(\"id\")\nif not isinstance(operation, str) or not operation: raise SystemExit(\"No actual original operation ID; preserve the response and do not resubmit\")\nprint(quote(operation, safe=\"\"))\nPY_ID\n)\"\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/batches/$BATCH_OPERATION_ID\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o batch-status-response.json\n",
            "label": "curl · original operation status",
            "language": "bash"
          },
          {
            "code": "import json\nfrom pathlib import Path\nraw = Path(\"batch-status-response.json\").read_bytes()\nresponse = json.loads(raw)\nif response.get(\"status\") != \"completed\":\n    raise SystemExit(\"Keep the original operation; read its status without resubmitting\")\nresults = response.get(\"results\")\nif not isinstance(results, list) or not results:\n    raise SystemExit(\"Preserve the original response; completed results are missing\")\nPath(\"batch-results.jsonl\").write_text(\"\".join(json.dumps(item, ensure_ascii=False) + \"\\n\" for item in results), encoding=\"utf-8\")\n# Preserve batch-status-response.json with aggregate usage and every result/error.\n",
            "label": "Python · save every completed result",
            "language": "python"
          }
        ],
        "family": "batch",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "batches",
        "hints": [
          "Read your actual request items before submission; inline requests are required.",
          "Keep the returned operation ID and every result. Never replay an unknown submission."
        ],
        "http": "POST",
        "in": 0.3,
        "input": [
          "text"
        ],
        "label": "Пакеттік өңдеу",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "out": 0.9,
        "output": [
          "text"
        ],
        "path": "/v1/batches",
        "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"
          },
          {
            "label": "Explicit cache pricing",
            "value": "Not enabled",
            "when": "When explicit cache is requested"
          }
        ],
        "pricing": {
          "billing_mode": "token",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0.0003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000003",
                "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": "0.0009000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.0000009",
                "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": "0.00003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.00000003",
                "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": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "Request-length tier 1",
            "units": [
              {
                "amount": "0.0003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000003",
                "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": "0.0009000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.0000009",
                "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": "0.00003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.00000003",
                "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"
              }
            ]
          }
        ],
        "request_model_id": "mistralai/codestral-2508:batch",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/batches/{operation_id}"
        ],
        "tiers": [
          {
            "cache_read": 0.03,
            "cache_read_multiplier": null,
            "cache_write": null,
            "cache_write_1h": null,
            "cache_write_multiplier": null,
            "created_at": "0001-01-01T00:00:00Z",
            "in": 0.3,
            "input_multiplier": null,
            "max": null,
            "max_tokens": null,
            "min": 0,
            "min_tokens": 0,
            "out": 0.9,
            "output_multiplier": null,
            "per_request_price": null,
            "sort_order": 0,
            "tier_label": "",
            "updated_at": "0001-01-01T00:00:00Z"
          }
        ],
        "units": [
          {
            "amount": "0.0003000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000003",
            "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": "0.0009000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.0000009",
            "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": "0.00003000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": "0.00000003",
            "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"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "mistralai/codestral-2508:batch",
        "request_model_id": "mistralai/codestral-2508:batch",
        "route_label": "Ultra"
      }
    ],
    "name": "Mistral: Codestral 2508 (batch)",
    "price": {
      "in": 0.3,
      "in_label": null,
      "out": 0.9,
      "out_label": null,
      "scope_label": "Token rates",
      "sort_in": 0.3,
      "sort_out": 0.9,
      "varies": true
    },
    "short": "Codestral 2508 — Mistral AI компаниясының код жасауға және контексті ескеріп толықтыруға арналған мәтін моделі. Ол редактордағы жиі тапсырмаларға, соның ішінде код ортасындағы бос орынды толтыруға және бірнеше жолды өңдеуге оңтайландырылған; өндіруші көрсеткен 128 мың токендік контексті және құжатталған чат, құрылымдалған шығыс пен құрал мүмкіндіктерін ұсынады."
  },
  "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": "Codestral 2508 — Mistral AI компаниясының код жасауға және контексті ескеріп толықтыруға арналған мәтін моделі. Ол редактордағы жиі тапсырмаларға, соның ішінде код ортасындағы бос орынды толтыруға және бірнеше жолды өңдеуге оңтайландырылған; өндіруші көрсеткен 128 мың токендік контексті және құжатталған чат, құрылымдалған шығыс пен құрал мүмкіндіктерін ұсынады.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "3ee9d4c5a308664f7fa1421f4081136bc24fb00116cce8b60663ed3dda73fc7b",
    "renderer_sha256": "def3bb6e69c8ddb72f88ec6540bbe55d0e503790f964d84073ecda781b13bedf"
  },
  "sourceRevision": "afdb58ede808d4dc0293da129831b30c0d28d28c64c750b1c4991b1749894207"
}
