Source: https://ailoot.ai/models/kk/gemini-2-5-pro/
Canonical: https://ailoot.ai/models/kk/gemini-2-5-pro/
Language: kk

# Google: Gemini 2.5 Pro

[Markdown](https://ailoot.ai/models/kk/gemini-2-5-pro/index.md) · [JSON](https://ailoot.ai/models/kk/gemini-2-5-pro/facts.json)

## [Google: Gemini 2.5 Pro](https://ailoot.ai/models/kk/gemini-2-5-pro/)

Gemini 2.5 Pro — күрделі кодқа, математикаға, STEM-ге және ұзақ контексті талдауға арналған Google компаниясының тұрақты ойлау моделі. Ол мәтін, кескін, аудио, бейне және PDF қабылдап, мәтін қайтарады, құралдар мен құрылымдалған шығысты қолдайды. Оның динамикалық пайымдау бюджеті 128–32,768 токенді қолдайды және толық өшірілмейді.

- [**Ailoot · Anthropic хабарламалары** `POST /v1/messages` `gemini-2.5-pro`](https://ailoot.ai/models/kk/gemini-2-5-pro/#method-0)
- [**Ailoot · Gemini generateContent** `POST /v1beta/models/{model}:generateContent` `gemini-2.5-pro`](https://ailoot.ai/models/kk/gemini-2-5-pro/#method-1)
- [**Ailoot Ultra · OpenAI чаты** `POST /v1/chat/completions` `gemini-2.5-pro`](https://ailoot.ai/models/kk/gemini-2-5-pro/#method-2)
- [**Ailoot Ultra · Anthropic хабарламалары** `POST /v1/messages` `gemini-2.5-pro`](https://ailoot.ai/models/kk/gemini-2-5-pro/#method-3)
- [**Ailoot Ultra · OpenAI чаты** `POST /v1/chat/completions` `google/gemini-2.5-pro`](https://ailoot.ai/models/kk/gemini-2-5-pro/#method-4)
- [**Ailoot Ultra · Anthropic хабарламалары** `POST /v1/messages` `google/gemini-2.5-pro`](https://ailoot.ai/models/kk/gemini-2-5-pro/#method-5)

Модель туралы

Бұл сипаттама модель мүмкіндіктерін қамтиды. Ailoot жүйесінде таңдалған әдіс үшін қолжетімді кіріс, шығыс және параметрлер төменде берілген.

Gemini 2.5 Pro — озық кодтауға, математикаға, STEM-ге және ұзақ контексті талдауға арналған Google компаниясының тұрақты ойлау профилі. Ол мәтінді, аудионы, кескіндерді, бейнені және толық код репозиторийлерін түсіне алады; Gemini API профилі PDF кірісті де қабылдайды. Шығыс — кодты, жазбаша талдауды немесе құрылымдалған жазбаны қамтитын мәтін. Пайдалы тапсырма дәлелді беріп, түсіндірілген шешім, код базасындағы тұжырым немесе бірнеше құжатты салыстыру сияқты тексерілетін нәтиже сұрайды.

Кодтау үшін тиісті файлдарды, байқалған мінез-құлықты және маңызды өзгерісті не сұрақты беріңіз. Ұзақ контекст модельге бір оқшау үзіндіден пайымдаудың орнына модульдерді байланыстыруға көмектеседі. Код жолын зерттегенде дерек енгізу формасынан өңдеу мен сақтауға дейін идентификаторды қадағалап, келісім қай жерде өзгеретінін анықтауды және нысаналы түзету ұсынуды сұраңыз. Шектеулерді сақтап, растайтын сілтемелерді сұраңыз. Ұсынылған түзету нақты кодпен және жалғанған құралдар арқылы орындалған тексерумен салыстырылуы керек.

Математика немесе ғылыми талдау үшін есепті, жорамалдарды, бірліктерді және қажетті жауап пішімін айтыңыз. Есептеу тәуелді деректерді не сандарды беріңіз. Негізделген нәтижені және оны бағалауға мүмкіндік беретін тексерулерді, мысалы шекаралық жағдайларды немесе бастапқы мәндермен салыстыруды сұраңыз. Модельдің пайымдау мүмкіндігі есеп шартындағы екіұштылықты жоймайды. Белгісіз шаманы не негізсіз жорамалды ыңғайлы мәнмен алмастырмай, айқын көрсетіп сақтаңыз.

Динамикалық ойлау — құжатталған әдепкі. Gemini 2.5 GenerateContent нұсқаулығы Pro үшін 128-ден 32,768 токенге дейін нақты пайымдау бюджетін немесе бейімделетін ойлауға -1 мәнін қолдайды. Осы нұсқада ойлауды толық өшіру мүмкін емес. Бұл басқарулар Flash моделінің нөлдік бюджет таңдауынан және Gemini 3 ойлау деңгейі параметрлерінен өзгеше. Ойлау бюджеті ішкі токендердің дәл санына кепіл болмай, пайымдауды бағыттайды; жауап шегі де соңғы артефактқа орын қалдыруы керек.

Мультимодалды құжаттармен жұмыста жауапты қолдауы тиіс беттерді, диаграмманы, кескін аймағын немесе жазба оқиғасын көрсетіңіз. Іс жүзіндегі біріктіру тапсырмасы бірнеше бастапқы құжаттың бәсекелес мәлімдемелерін, растайтын үзінділерін және бір шешімге маңызды айырмашылықтарын сұрай алады. Модельден айтылған фактіні қорытынды тұжырымнан ажыратуды сұраңыз. Бейне не аудио үшін нәтиже сипаттама, транскрипт, түйіндеме немесе салыстыру болуы керегін анықтаңыз. Бұл профильде кескін мен дыбыс мәтіндік нәтижеге дәлел болады.

Дәл API беті функция шақыруды, код орындауды, файл іздеуді, іздеу арқылы негіздеуді, Maps арқылы негіздеуді, URL контекстін және құрылымдалған шығысты құжаттайды. Функция мақсаттары мен параметр өрістерін анықтап, кейінгі кезектерде нақты нәтижелерді сақтаңыз. Схемамен шектелген жазбада міндетті өрістерді және жоқ ақпараттың берілуін көрсетіңіз. Модельдің өз архитектурасы — сарапшылар қоспасына негізделген сиретілген мультимодалды трансформер; бұл модель дизайны қайтарылған мәтін не кодтан тыс сыртқы құрал орындалуын немесе дайын қолданбаны өздігінен бермейді.

Төл карта 1M кіріс контексті мен 64K мәтін шығысын; API кестесі 1,048,576 кіріс және 65,536 шығыс токенін көрсетеді. Нұсқаулар, бастапқы мазмұн және сақталған тарих кіріс дайындауға кіреді. Ең көп жауап көлеміне пайымдау токендері де кіреді, сондықтан тым шағын шек соңғы жауапты үзуі мүмкін. Кэштеу мен пакеттік өңдеу, Flex және Priority таңдауларымен бірге құжатталған. Тәуелсіз ұзақ контекст тапсырмаларын дайындағанда әр дереккөз идентификаторын және сұралған соңғы пішімді сақтаңыз.

Тұрақты идентификатор ортақ Pro модель картасында бөлек талқыланған Experimental және Preview нұсқаларынан өзгеше. Pro атауы ортақ болғаны үшін олардың нұсқаға тән нәтижелерін осы профильге телімеңіз. Карта ықтимал ойдан шығарылған мәліметтерді және себеп-салдар байланыстарын түсіну, күрделі дедукция, шындыққа қайшы жорамалдарды пайымдау шектеулерін көрсетеді; білім шегі — 2025 жылғы қаңтар. Маңызды болса өзекті дәлел беріп, дереккөз сілтемелерін, есептеулерді және ұсынылған өзгерістерді тексеріңіз. Пайдалы шығыс — тапсырма сұраған, негізделген мәтін не код артефакті.

Практикалық тапсырма

### Практикалық тапсырма

Ағылшын тіліндегі техникалық мысал

```
Trace an identifier through storage

Trace this identifier through three excerpts: form sends {customer_id:'0017'}; service computes id=Number(body.customer_id); repository stores String(id). Requirement: preserve leading zeros. Identify where the contract changes, propose a minimal consistent correction and give tests for '0017', '17' and a missing ID. Do not claim the tests were executed.
```

#### Күтілетін нәтиже

```
A source-path explanation, a proposed patch and a three-case regression-test plan.
```

#### Нәтижені тексеру

```
Check that the proposed path preserves distinct strings 0017 and 17 while specifying missing-ID behavior.
```

**Ailoot · Anthropic хабарламалары** `POST /v1/messages` `gemini-2.5-pro`

[`gemini-2.5-pro`](https://ailoot.ai/models/kk/#m=google%2Fgemini-2.5-pro&route=Core&caller=gemini-2.5-pro&fmt=messages)

Google /`gemini-2.5-pro`

### Бастау

Gemini 2.5 Pro — күрделі кодқа, математикаға, STEM-ге және ұзақ контексті талдауға арналған Google компаниясының тұрақты ойлау моделі. Ол мәтін, кескін, аудио, бейне және PDF қабылдап, мәтін қайтарады, құралдар мен құрылымдалған шығысты қолдайды. Оның динамикалық пайымдау бюджеті 128–32,768 токенді қолдайды және толық өшірілмейді.

Қабылданатын кіріс деректері

Мәтін · Суреттер

Нәтижелер

Мәтін

### Ailoot жүйесінде қолжетімді · кіріс деректері мен әдістер

**Ailoot · Anthropic хабарламалары** `POST /v1/messages`

Кіріс

`text`, `image`

Шығыс

`text`

Контекст

1 048 576 tokens

Ең үлкен шығыс

65 536 tokens

Шығыс пішімі

json немесе SSE

| Өріс | Түрі | Талап | Мәндер мен шектеулер | Әдепкі |
| --- | --- | --- | --- | --- |
| Өріс`model` | Түрі`string` | ТалапМіндетті | Мәндер мен шектеулер gemini-2.5-pro | Әдепкі— |
| Өріс`messages` | Түрі`message[]` | ТалапМіндетті | Мәндер мен шектеулер Элементтердің ең аз саны: 1 | Әдепкі— |
| Өріс`messages[].role` | Түрі`string` | ТалапМіндетті | Мәндер мен шектеулер user, assistant | Әдепкі— |
| Өріс`messages[].content` | Түрі`string\|content_block[]` | ТалапМіндетті | Мәндер мен шектеулер | Әдепкі— |
| Өріс`system` | Түрі`string\|content_block[]` | ТалапМіндетті емес | Мәндер мен шектеулер | Әдепкі— |
| Өріс`max_tokens` | Түрі`integer` | ТалапМіндетті | Мәндер мен шектеулер Ең азы: 1 Шектеу қолданылатын нысан: таңдалған модельдің/карточканың нақты жоғарғы шегі | Әдепкі— |
| Өріс`stream` | Түрі`boolean` | ТалапМіндетті емес | Мәндер мен шектеулер | Әдепкіfalse |
| Өріс`temperature` | Түрі`number` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`top_p` | Түрі`number` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`stop_sequences` | Түрі`string[]` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`tools` | Түрі`tool[]` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`tools[].name` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер Мына жағдайда қолданылады: құрал берілген | Әдепкі— |
| Өріс`tools[].description` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер | Әдепкі— |
| Өріс`tools[].input_schema` | Түрі`JSON_schema` | ТалапМіндетті емес | Мәндер мен шектеулер | Әдепкі— |
| Өріс`tool_choice` | Түрі`object` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`thinking.type` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`thinking.budget_tokens` | Түрі`integer` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`output_config.effort` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`metadata` | Түрі`object` | ТалапМіндетті емес | Мәндер мен шектеулер | Әдепкі— |
| Өріс`cache_control` | Түрі`object` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |

Кіріс материалдарының үйлесімдері

**Мәтін** · UTF8 мәтіні

`messages[].content немесе type=text блогы`

**Мәтін + сурет**

`{type:image,source:{type:base64,media_type,data}} немесе type=url дереккөзі`

Әдіс параметрлері мен өмірлік циклі

| Параметр | Параметр талаптары |
| --- | --- |
| Параметр`material_types` | Параметр талаптарыtext, image |
| Параметр`required` | Параметр талаптарыmodel, messages, max\_tokens |
| Параметр`optional_controls` | Параметр талаптарыnull |
| Параметр`content_type` | Параметр талаптарыapplication/json |
| Параметр`text_file_material` | Параметр талаптарынақты UTF-8 мазмұны мәтін ретінде енгізіледі; файл ID мәндері мен URLs үшін бөлек нақты қолдау қажет |

Өмірлік цикл: `exact retained published method`

Әдіс құрылымдары мен ID мәндері дәл берілген; жеткізушінің мүмкіндігі сұрауды қабылдаудан бөлек қаралады.

### Тарифтер

#### Ailoot әдістерінің мөлшерлемелері

Кіріс

0,00125 $ */ 1K*

Шығыс

0,01 $ */ 1K*

Кэшті оқу

0,000125 $ */ 1K*

#### Сұрау ұзындығына қарай бағалар · Anthropic хабарламалары

| Сұрау көлемі, токен саны | Кіріс | Шығыс | Кэшті оқу | Кэшке жазу | Кэш 5 мин | Кэш 1 сағ |
| --- | --- | --- | --- | --- | --- | --- |
| Сұрау көлемі, токен саны(0; 200 000\] | Кіріс0,00125 $ | Шығыс0,01 $ | Кэшті оқу0,000125 $ | Кэшке жазуБазалық: — | Кэш 5 минБазалық: — | Кэш 1 сағБазалық: — |
| Сұрау көлемі, токен саны(200 000; ∞) | Кіріс0,0025 $ | Шығыс0,015 $ | Кэшті оқу0,00025 $ | Кэшке жазуБазалық: — | Кэш 5 минБазалық: — | Кэш 1 сағБазалық: — |

1K токен үшін USD мөлшерлемелері. Мөлшерлеме орнатылмаса, осы әдістің негізгі мөлшерлемесі қолданылады; «—» негізгі мөлшерлеме орнатылмағанын білдіреді.

Ailoot сұрау алдында болжамды соманы резервтейді. Нәтижеден кейін өлшенген пайдалану көлемі бойынша қорытынды төлемді шегереді. Ағындық жауап үшін төлем соңғы пайдалану жазбасы негізінде шегеріледі. [Резервтеу мен төлемді есептеу тәртібі →](https://ailoot.ai/docs/kk/billing/reserve/)

#### Анықтамалық тариф мәліметтері

Модельдің анықтамалық кестелері әдіс таңдауын, баға есебін не төлемді өзгертпейді. Қолданыстағы төлемдер таңдалған Ailoot әдісінің мөлшерлемелерімен есептеледі.

Модельдің анықтамалық кестелері

#### Баптаулар бойынша бағалар

Әр төлемді көрсетілген шарттармен салыстырыңыз. Балама баптаулардың әр жиыны үшін бір мөлшерлемені қолданыңыз.

| Баптау | Мөлшерлемелер кестесі | Контекст токендерінің саны мынадан көп | Контекст токендерінің саны мынадан аспайды, шегі кіреді | Төлем |
| --- | --- | --- | --- | --- |
| БаптауOpenAI Chat · Токендердің базалық тарифтері | Мөлшерлемелер кестесіНегізгі мөлшерлеме | Контекст токендерінің саны мынадан көп— | Контекст токендерінің саны мынадан аспайды, шегі кіредіЖоғарғы шегі жоқ | Төлем Кіріс · Кіріс токендері **$0.0025** / 1K токен Шығыс · Шығыс токендері **$0.02** / 1K токен Кіріс · Кэшті оқу **$0.00025** / 1K токен Кіріс · Кэшке жазу **$0.00075** / 1K токен Кіріс · Кэшке жазу, 1 сағ **—** / 1K токен Шығыс · Шығыс пайымдау токендері **$0.02** / 1K токен |
| БаптауOpenAI Chat · Сұрау ұзындығы бойынша 1-деңгей | Мөлшерлемелер кестесі— | Контекст токендерінің саны мынадан көп0 | Контекст токендерінің саны мынадан аспайды, шегі кіреді200 000 | Төлем Кіріс · Кіріс токендері **$0.0025** / 1K токен Шығыс · Шығыс токендері **$0.02** / 1K токен Кіріс · Кэшті оқу **$0.00025** / 1K токен Кіріс · Кэшке жазу **$0.00075** / 1K токен Кіріс · Кэшке жазу, 1 сағ **—** / 1K токен |
| БаптауOpenAI Chat · Сұрау ұзындығы бойынша 2-деңгей | Мөлшерлемелер кестесі— | Контекст токендерінің саны мынадан көп200 000 | Контекст токендерінің саны мынадан аспайды, шегі кіредіЖоғарғы шегі жоқ | Төлем Кіріс · Кіріс токендері **$0.005** / 1K токен Шығыс · Шығыс токендері **$0.03** / 1K токен Кіріс · Кэшті оқу **$0.0005** / 1K токен Кіріс · Кэшке жазу **$0.00075** / 1K токен Кіріс · Кэшке жазу, 1 сағ **—** / 1K токен |
| БаптауAnthropic Messages · Токендердің базалық тарифтері | Мөлшерлемелер кестесіНегізгі мөлшерлеме | Контекст токендерінің саны мынадан көп— | Контекст токендерінің саны мынадан аспайды, шегі кіредіЖоғарғы шегі жоқ | Төлем Кіріс · Кіріс токендері **$0.0025** / 1K токен Шығыс · Шығыс токендері **$0.02** / 1K токен Кіріс · Кэшті оқу **$0.00025** / 1K токен Кіріс · Кэшке жазу **$0.00075** / 1K токен Кіріс · Кэшке жазу, 1 сағ **—** / 1K токен Шығыс · Шығыс пайымдау токендері **$0.02** / 1K токен |
| БаптауAnthropic Messages · Сұрау ұзындығы бойынша 1-деңгей | Мөлшерлемелер кестесі— | Контекст токендерінің саны мынадан көп0 | Контекст токендерінің саны мынадан аспайды, шегі кіреді200 000 | Төлем Кіріс · Кіріс токендері **$0.0025** / 1K токен Шығыс · Шығыс токендері **$0.02** / 1K токен Кіріс · Кэшті оқу **$0.00025** / 1K токен Кіріс · Кэшке жазу **$0.00075** / 1K токен Кіріс · Кэшке жазу, 1 сағ **—** / 1K токен |
| БаптауAnthropic Messages · Сұрау ұзындығы бойынша 2-деңгей | Мөлшерлемелер кестесі— | Контекст токендерінің саны мынадан көп200 000 | Контекст токендерінің саны мынадан аспайды, шегі кіредіЖоғарғы шегі жоқ | Төлем Кіріс · Кіріс токендері **$0.005** / 1K токен Шығыс · Шығыс токендері **$0.03** / 1K токен Кіріс · Кэшті оқу **$0.0005** / 1K токен Кіріс · Кэшке жазу **$0.00075** / 1K токен Кіріс · Кэшке жазу, 1 сағ **—** / 1K токен |

### Сұрау мысалдары

#### Ailoot · Anthropic хабарламалары

Мәтін мысалыКіріс, суретPython SDKNode.js SDKPython ағыны

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 source-material file}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "gemini-2.5-pro", "max_tokens": 1024, "messages": []}')
f=Path(os.environ["AILOOT_TEXT_FILE"])
if not f.is_file():raise SystemExit("Choose your actual UTF-8 source material")
text=f.read_text(encoding="utf-8")
if not text.strip():raise SystemExit("Source material must contain text")
p["messages"]=[{"role":"user","content":"Summarize this material and quote supporting source passages.\n\n"+text}]
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
  -H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
print(json.dumps(json.loads(Path("result.json").read_text()),ensure_ascii=False,indent=2))
PY_RESULT
```

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_IMAGE_FILE:?Set your actual PNG JPEG or WebP image}"
export AILOOT_IMAGE_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "gemini-2.5-pro", "max_tokens": 1024, "messages": [{"role": "user", "content": [{"type": "text", "text": "Read labels and numbers in this image; flag unreadable text."}]}]}')
import base64
f=Path(os.environ["AILOOT_IMAGE_FILE"])
if not f.is_file():raise SystemExit("Choose an actual PNG JPEG or WebP image")
raw=f.read_bytes()
mime="image/png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "image/jpeg" if raw.startswith(b"\xff\xd8") else "image/webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else None
if not mime:raise SystemExit("Use PNG JPEG or WebP")
b64=base64.b64encode(raw).decode()
p["messages"][0]["content"].append({"type":"image","source":{"type":"base64","media_type":mime,"data":b64}})
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
  -H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
print(json.dumps(json.loads(Path("result.json").read_text()),ensure_ascii=False,indent=2))
PY_RESULT
```

```python
import anthropic
import os

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client = anthropic.Anthropic(base_url="https://api.ailoot.ai", api_key=os.environ["AILOOT_API_KEY"], max_retries=0)
msg = client.messages.create(
    model="gemini-2.5-pro",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Explain the difference between an observation and a hypothesis in three sentences."}],
)
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

save_result(msg.to_dict(mode="json"))
```

```js
import Anthropic from "@anthropic-ai/sdk";

if (!process.env.AILOOT_API_KEY?.trim()) throw new Error("Set AILOOT_API_KEY before making a request");
const client = new Anthropic({ baseURL: "https://api.ailoot.ai", apiKey: process.env.AILOOT_API_KEY, maxRetries: 0 });
const msg = await client.messages.create({
  model: "gemini-2.5-pro",
  max_tokens: 1024,
  messages: [{ role: "user", content: "Explain the difference between an observation and a hypothesis in three sentences." }],
});
import { writeFileSync } from "node:fs";

function saveResult(data, stem = "result") {
  writeFileSync(stem + ".json", JSON.stringify(data, null, 2));
  console.log(JSON.stringify(data, null, 2));
  const saveBlob = (encoded, suffix, label) => {
    const raw = Buffer.from(encoded, "base64");
    const ext = raw.subarray(0,8).equals(Buffer.from([137,80,78,71,13,10,26,10])) ? "png" : raw[0]===255 && raw[1]===216 ? "jpg" : raw.subarray(0,4).toString()==="RIFF" && raw.subarray(8,12).toString()==="WEBP" ? "webp" : suffix;
    const file = `${stem}-${label}.${ext}`;
    writeFileSync(file, raw); console.log("Saved", file);
  };
  for (const [i, block] of (data.content || []).entries()) console.log("Content", i, JSON.stringify(block));
  for (const choice of data.choices || []) console.log("Choice", choice.index, JSON.stringify(choice.message || choice.delta || {}));
  for (const [i, item] of (data.output || []).entries()) {
    console.log("Output", i, JSON.stringify(item));
    if (item.type === "image_generation_call" && item.result) saveBlob(item.result, item.output_format || "bin", `output-${i}`);
  }
  for (const [ci, candidate] of (data.candidates || []).entries()) {
    for (const [pi, part] of (candidate.content?.parts || []).entries()) {
      console.log("Candidate/part", ci, pi, JSON.stringify(part));
      const blob = part.inlineData || part.inline_data;
      if (blob?.data) {
        const mime = blob.mimeType || blob.mime_type;
        const suffix = ({"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"})[mime] || "bin";
        saveBlob(blob.data, suffix, `candidate-${ci}-part-${pi}`);
      }
    }
  }
}

saveResult(msg);
```

```python
import anthropic,os
from pathlib import Path

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=anthropic.Anthropic(base_url="https://api.ailoot.ai",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

with client.messages.stream(model='gemini-2.5-pro',max_tokens=1024,messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}]) as stream:
    with Path("stream-events.jsonl").open("w",encoding="utf-8") as log:
        for event in stream:
            payload=event.to_dict(mode="json")
            log.write(json.dumps(payload,ensure_ascii=False)+"\n"); log.flush()
            print(json.dumps(payload,ensure_ascii=False))
    final=stream.get_final_message()
    save_result(final.to_dict(mode="json"),"stream-result")
```

### Нәтижелерді алу және сақтау

#### Ailoot · Anthropic хабарламалары

json немесе SSE

##### Барлық дайын нәтижені сақтау

Қайтарылған әр толық жауапты, файлды және мазмұн бөлігін сақтаңыз.

Барлық мазмұн блоктарын, пайымдау қолтаңбаларын және құрал қолданудың нақты ID мәндерін сақтаңыз. SSE блоктарының барлық өзгерістерін жинаңыз; алғашқы мәтіндік блок толық шығыс емес.

##### Бастапқы жауапты тексеру қажет болса

Сұрау мен жауаптың ID мәндерін және тақырыптарын сақтаңыз. Мәтіндік тапсырманы алуға арналған ортақ URL берілмеген.

Жауап өрістері

| Өріс | Түрі |
| --- | --- |
| Өріс`id` | Түріstring |
| Өріс`model` | Түріstring |
| Өріс`content[]` | Түріtext\|thinking\|tool\_use\|other content block |
| Өріс`stop_reason` | Түріstring\|null |
| Өріс`usage` | Түріobject |

Қателер және келесі қадамдар

| Жауап | Шарт | Келесі қадам |
| --- | --- | --- |
| Жауап400 · `invalid_request_error` | ШартМіндетті өрістер, материалды ұсыну тәсілі немесе параметр мәні қате | Келесі қадамЖаңадан жасау сұрауын жібермес бұрын көрсетілген өрістерді түзетіңіз. |

### Балама атаулар

#### Модельдердің балама атаулары

<strong>Ailoot</strong> [`gemini-2.5-pro`](https://ailoot.ai/models/kk/#m=google%2Fgemini-2.5-pro&route=Core&caller=gemini-2.5-pro&fmt=messages)
**Ailoot Ultra** [`gemini-2.5-pro`](https://ailoot.ai/models/kk/#m=google%2Fgemini-2.5-pro&route=Ultra&caller=gemini-2.5-pro&fmt=messages), [`google/gemini-2.5-pro`](https://ailoot.ai/models/kk/#m=google%2Fgemini-2.5-pro&route=Ultra&caller=google%2Fgemini-2.5-pro&fmt=messages)

#### Әдіс жолдарының балама атаулары

`/chat/completions`

#### Шақыруға арналған байланысты ID

[`google/gemini-2.5-pro`](https://ailoot.ai/models/kk/#m=google%2Fgemini-2.5-pro&route=Ultra&caller=google%2Fgemini-2.5-pro&fmt=messages), [`gemini-2.5-pro`](https://ailoot.ai/models/kk/#m=google%2Fgemini-2.5-pro&route=Core&caller=gemini-2.5-pro&fmt=messages), [`gemini-2.5-pro`](https://ailoot.ai/models/kk/#m=google%2Fgemini-2.5-pro&route=Ultra&caller=gemini-2.5-pro&fmt=messages)

**Ailoot · Gemini generateContent** `POST /v1beta/models/{model}:generateContent` `gemini-2.5-pro`

[`gemini-2.5-pro`](https://ailoot.ai/models/kk/#m=google%2Fgemini-2.5-pro&route=Core&caller=gemini-2.5-pro&fmt=gemini)

Google /`gemini-2.5-pro`

### Бастау

Gemini 2.5 Pro — күрделі кодқа, математикаға, STEM-ге және ұзақ контексті талдауға арналған Google компаниясының тұрақты ойлау моделі. Ол мәтін, кескін, аудио, бейне және PDF қабылдап, мәтін қайтарады, құралдар мен құрылымдалған шығысты қолдайды. Оның динамикалық пайымдау бюджеті 128–32,768 токенді қолдайды және толық өшірілмейді.

Қабылданатын кіріс деректері

Мәтін · Суреттер

Нәтижелер

Мәтін

### Ailoot жүйесінде қолжетімді · кіріс деректері мен әдістер

**Ailoot · Gemini generateContent** `POST /v1beta/models/{model}:generateContent`

Кіріс

`text`, `image`

Шығыс

`text`

Контекст

1 048 576 tokens

Ең үлкен шығыс

65 536 tokens

Шығыс пішімі

json немесе қолдау көрсетілетін ағындық беру

| Өріс | Түрі | Талап | Мәндер мен шектеулер | Әдепкі |
| --- | --- | --- | --- | --- |
| Өріс`path.model` | Түрі`string` | ТалапМіндетті | Мәндер мен шектеулер gemini-2.5-pro | Әдепкі— |
| Өріс`contents` | Түрі`content[]` | ТалапМіндетті | Мәндер мен шектеулер Элементтердің ең аз саны: 1 | Әдепкі— |
| Өріс`contents[].role` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер user, model | Әдепкі— |
| Өріс`contents[].parts` | Түрі`part[]` | ТалапМіндетті | Мәндер мен шектеулер | Әдепкі— |
| Өріс`systemInstruction` | Түрі`content` | ТалапМіндетті емес | Мәндер мен шектеулер | Әдепкі— |
| Өріс`generationConfig.maxOutputTokens` | Түрі`integer` | ТалапМіндетті емес | Мәндер мен шектеулер Ең азы: 1 Модельге байланысты | Әдепкі— |
| Өріс`generationConfig.temperature` | Түрі`number` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`generationConfig.topP` | Түрі`number` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`generationConfig.topK` | Түрі`integer` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`generationConfig.stopSequences` | Түрі`string[]` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`generationConfig.thinkingConfig.includeThoughts` | Түрі`boolean` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`generationConfig.thinkingConfig.thinkingBudget` | Түрі`integer` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`tools[].functionDeclarations` | Түрі`function_declaration[]` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`toolConfig.functionCallingConfig.mode` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`safetySettings` | Түрі`object[]` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`sessionId` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер | Әдепкі— |

Кіріс материалдарының үйлесімдері

**Мәтін** · UTF8 мәтіні

`contents[].parts[].text`

**Мәтін + сурет**

`parts[].inlineData={mimeType,data}`

Әдіс параметрлері мен өмірлік циклі

| Параметр | Параметр талаптары |
| --- | --- |
| Параметр`material_types` | Параметр талаптарыtext, image |
| Параметр`required` | Параметр талаптарыcontents |
| Параметр`optional_controls` | Параметр талаптарыnull |
| Параметр`content_type` | Параметр талаптарыapplication/json |
| Параметр`text_file_material` | Параметр талаптарынақты UTF-8 мазмұны мәтін ретінде енгізіледі; файл ID мәндері мен URLs үшін бөлек нақты қолдау қажет |

Өмірлік цикл: `exact retained published method`

Әдіс құрылымдары мен ID мәндері дәл берілген; жеткізушінің мүмкіндігі сұрауды қабылдаудан бөлек қаралады.

### Тарифтер

#### Ailoot әдістерінің мөлшерлемелері

Кіріс

0,00125 $ */ 1K*

Шығыс

0,01 $ */ 1K*

Кэшті оқу

0,000125 $ */ 1K*

#### Сұрау ұзындығына қарай бағалар · Gemini generateContent

| Сұрау көлемі, токен саны | Кіріс | Шығыс | Кэшті оқу | Кэшке жазу | Кэш 5 мин | Кэш 1 сағ |
| --- | --- | --- | --- | --- | --- | --- |
| Сұрау көлемі, токен саны(0; 200 000\] | Кіріс0,00125 $ | Шығыс0,01 $ | Кэшті оқу0,000125 $ | Кэшке жазуБазалық: — | Кэш 5 минБазалық: — | Кэш 1 сағБазалық: — |
| Сұрау көлемі, токен саны(200 000; ∞) | Кіріс0,0025 $ | Шығыс0,015 $ | Кэшті оқу0,00025 $ | Кэшке жазуБазалық: — | Кэш 5 минБазалық: — | Кэш 1 сағБазалық: — |

1K токен үшін USD мөлшерлемелері. Мөлшерлеме орнатылмаса, осы әдістің негізгі мөлшерлемесі қолданылады; «—» негізгі мөлшерлеме орнатылмағанын білдіреді.

Ailoot сұрау алдында болжамды соманы резервтейді. Нәтижеден кейін өлшенген пайдалану көлемі бойынша қорытынды төлемді шегереді. Ағындық жауап үшін төлем соңғы пайдалану жазбасы негізінде шегеріледі. [Резервтеу мен төлемді есептеу тәртібі →](https://ailoot.ai/docs/kk/billing/reserve/)

#### Анықтамалық тариф мәліметтері

Модельдің анықтамалық кестелері әдіс таңдауын, баға есебін не төлемді өзгертпейді. Қолданыстағы төлемдер таңдалған Ailoot әдісінің мөлшерлемелерімен есептеледі.

Модельдің анықтамалық кестелері

#### Баптаулар бойынша бағалар

Әр төлемді көрсетілген шарттармен салыстырыңыз. Балама баптаулардың әр жиыны үшін бір мөлшерлемені қолданыңыз.

| Баптау | Мөлшерлемелер кестесі | Контекст токендерінің саны мынадан көп | Контекст токендерінің саны мынадан аспайды, шегі кіреді | Төлем |
| --- | --- | --- | --- | --- |
| БаптауOpenAI Chat · Токендердің базалық тарифтері | Мөлшерлемелер кестесіНегізгі мөлшерлеме | Контекст токендерінің саны мынадан көп— | Контекст токендерінің саны мынадан аспайды, шегі кіредіЖоғарғы шегі жоқ | Төлем Кіріс · Кіріс токендері **$0.0025** / 1K токен Шығыс · Шығыс токендері **$0.02** / 1K токен Кіріс · Кэшті оқу **$0.00025** / 1K токен Кіріс · Кэшке жазу **$0.00075** / 1K токен Кіріс · Кэшке жазу, 1 сағ **—** / 1K токен Шығыс · Шығыс пайымдау токендері **$0.02** / 1K токен |
| БаптауOpenAI Chat · Сұрау ұзындығы бойынша 1-деңгей | Мөлшерлемелер кестесі— | Контекст токендерінің саны мынадан көп0 | Контекст токендерінің саны мынадан аспайды, шегі кіреді200 000 | Төлем Кіріс · Кіріс токендері **$0.0025** / 1K токен Шығыс · Шығыс токендері **$0.02** / 1K токен Кіріс · Кэшті оқу **$0.00025** / 1K токен Кіріс · Кэшке жазу **$0.00075** / 1K токен Кіріс · Кэшке жазу, 1 сағ **—** / 1K токен |
| БаптауOpenAI Chat · Сұрау ұзындығы бойынша 2-деңгей | Мөлшерлемелер кестесі— | Контекст токендерінің саны мынадан көп200 000 | Контекст токендерінің саны мынадан аспайды, шегі кіредіЖоғарғы шегі жоқ | Төлем Кіріс · Кіріс токендері **$0.005** / 1K токен Шығыс · Шығыс токендері **$0.03** / 1K токен Кіріс · Кэшті оқу **$0.0005** / 1K токен Кіріс · Кэшке жазу **$0.00075** / 1K токен Кіріс · Кэшке жазу, 1 сағ **—** / 1K токен |
| БаптауAnthropic Messages · Токендердің базалық тарифтері | Мөлшерлемелер кестесіНегізгі мөлшерлеме | Контекст токендерінің саны мынадан көп— | Контекст токендерінің саны мынадан аспайды, шегі кіредіЖоғарғы шегі жоқ | Төлем Кіріс · Кіріс токендері **$0.0025** / 1K токен Шығыс · Шығыс токендері **$0.02** / 1K токен Кіріс · Кэшті оқу **$0.00025** / 1K токен Кіріс · Кэшке жазу **$0.00075** / 1K токен Кіріс · Кэшке жазу, 1 сағ **—** / 1K токен Шығыс · Шығыс пайымдау токендері **$0.02** / 1K токен |
| БаптауAnthropic Messages · Сұрау ұзындығы бойынша 1-деңгей | Мөлшерлемелер кестесі— | Контекст токендерінің саны мынадан көп0 | Контекст токендерінің саны мынадан аспайды, шегі кіреді200 000 | Төлем Кіріс · Кіріс токендері **$0.0025** / 1K токен Шығыс · Шығыс токендері **$0.02** / 1K токен Кіріс · Кэшті оқу **$0.00025** / 1K токен Кіріс · Кэшке жазу **$0.00075** / 1K токен Кіріс · Кэшке жазу, 1 сағ **—** / 1K токен |
| БаптауAnthropic Messages · Сұрау ұзындығы бойынша 2-деңгей | Мөлшерлемелер кестесі— | Контекст токендерінің саны мынадан көп200 000 | Контекст токендерінің саны мынадан аспайды, шегі кіредіЖоғарғы шегі жоқ | Төлем Кіріс · Кіріс токендері **$0.005** / 1K токен Шығыс · Шығыс токендері **$0.03** / 1K токен Кіріс · Кэшті оқу **$0.0005** / 1K токен Кіріс · Кэшке жазу **$0.00075** / 1K токен Кіріс · Кэшке жазу, 1 сағ **—** / 1K токен |

### Сұрау мысалдары

#### Ailoot · Gemini generateContent

Мәтін мысалыКіріс, суретPython SDKNode.js SDKPython ағыны

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 source-material file}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"contents": []}')
f=Path(os.environ["AILOOT_TEXT_FILE"])
if not f.is_file():raise SystemExit("Choose your actual UTF-8 source material")
text=f.read_text(encoding="utf-8")
if not text.strip():raise SystemExit("Source material must contain text")
p["contents"]=[{"role":"user","parts":[{"text":"Summarize this material and quote supporting source passages.\n\n"+text}]}]
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1beta/models/gemini-2.5-pro:generateContent \
  -H "x-goog-api-key: $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

save_result(json.loads(Path("result.json").read_text(encoding="utf-8")))
PY_RESULT
```

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_IMAGE_FILE:?Set your actual PNG JPEG or WebP image}"
export AILOOT_IMAGE_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"contents": [{"role": "user", "parts": [{"text": "Read labels and numbers in this image; flag unreadable text."}]}]}')
import base64
f=Path(os.environ["AILOOT_IMAGE_FILE"])
if not f.is_file():raise SystemExit("Choose an actual PNG JPEG or WebP image")
raw=f.read_bytes()
mime="image/png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "image/jpeg" if raw.startswith(b"\xff\xd8") else "image/webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else None
if not mime:raise SystemExit("Use PNG JPEG or WebP")
b64=base64.b64encode(raw).decode()
p["contents"][0]["parts"].append({"inlineData":{"mimeType":mime,"data":b64}})
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1beta/models/gemini-2.5-pro:generateContent \
  -H "x-goog-api-key: $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

save_result(json.loads(Path("result.json").read_text(encoding="utf-8")))
PY_RESULT
```

```python
from google import genai
from google.genai import types
import os

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client = genai.Client(
    api_key=os.environ["AILOOT_API_KEY"],
    http_options=types.HttpOptions(base_url="https://api.ailoot.ai"),
)
resp = client.models.generate_content(model="gemini-2.5-pro", contents="Explain the difference between an observation and a hypothesis in three sentences.")
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

save_result(resp.to_json_dict())
```

```js
import { GoogleGenAI } from "@google/genai";

if (!process.env.AILOOT_API_KEY?.trim()) throw new Error("Set AILOOT_API_KEY before making a request");
const ai = new GoogleGenAI({ apiKey: process.env.AILOOT_API_KEY, httpOptions: { baseUrl: "https://api.ailoot.ai" } });
const resp = await ai.models.generateContent({ model: "gemini-2.5-pro", contents: "Explain the difference between an observation and a hypothesis in three sentences." });
import { writeFileSync } from "node:fs";

function saveResult(data, stem = "result") {
  writeFileSync(stem + ".json", JSON.stringify(data, null, 2));
  console.log(JSON.stringify(data, null, 2));
  const saveBlob = (encoded, suffix, label) => {
    const raw = Buffer.from(encoded, "base64");
    const ext = raw.subarray(0,8).equals(Buffer.from([137,80,78,71,13,10,26,10])) ? "png" : raw[0]===255 && raw[1]===216 ? "jpg" : raw.subarray(0,4).toString()==="RIFF" && raw.subarray(8,12).toString()==="WEBP" ? "webp" : suffix;
    const file = `${stem}-${label}.${ext}`;
    writeFileSync(file, raw); console.log("Saved", file);
  };
  for (const [i, block] of (data.content || []).entries()) console.log("Content", i, JSON.stringify(block));
  for (const choice of data.choices || []) console.log("Choice", choice.index, JSON.stringify(choice.message || choice.delta || {}));
  for (const [i, item] of (data.output || []).entries()) {
    console.log("Output", i, JSON.stringify(item));
    if (item.type === "image_generation_call" && item.result) saveBlob(item.result, item.output_format || "bin", `output-${i}`);
  }
  for (const [ci, candidate] of (data.candidates || []).entries()) {
    for (const [pi, part] of (candidate.content?.parts || []).entries()) {
      console.log("Candidate/part", ci, pi, JSON.stringify(part));
      const blob = part.inlineData || part.inline_data;
      if (blob?.data) {
        const mime = blob.mimeType || blob.mime_type;
        const suffix = ({"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"})[mime] || "bin";
        saveBlob(blob.data, suffix, `candidate-${ci}-part-${pi}`);
      }
    }
  }
}

saveResult(resp);
```

```python
from google import genai
from google.genai import types
import os
from pathlib import Path

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=genai.Client(api_key=os.environ["AILOOT_API_KEY"],http_options=types.HttpOptions(base_url="https://api.ailoot.ai"))
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

count=0
with Path("stream-events.jsonl").open("w",encoding="utf-8") as log:
    for chunk in client.models.generate_content_stream(model='gemini-2.5-pro',contents="Explain observations and hypotheses in three sentences."):
        payload=chunk.to_json_dict()
        log.write(json.dumps(payload,ensure_ascii=False)+"\n"); log.flush()
        save_result(payload,"stream-chunk-"+str(count))
        count+=1
```

### Нәтижелерді алу және сақтау

#### Ailoot · Gemini generateContent

json немесе қолдау көрсетілетін ағындық беру

##### Барлық дайын нәтижені сақтау

Қайтарылған әр толық жауапты, файлды және мазмұн бөлігін сақтаңыз.

Барлық жауап нұсқалары мен бөліктерді, соның ішінде функция шақыруларын, пайымдау қолтаңбаларын және пайдалану деректерін сақтаңыз; ағын бөліктерін ретімен жинаңыз.

##### Бастапқы жауапты тексеру қажет болса

Сұрау мен жауаптың ID мәндерін және тақырыптарын сақтаңыз. Мәтіндік тапсырманы алуға арналған ортақ URL берілмеген.

Жауап өрістері

| Өріс | Түрі |
| --- | --- |
| Өріс`responseId` | Түріstring |
| Өріс`modelVersion` | Түріstring |
| Өріс`candidates[].content.parts[]` | Түріtext\|inlineData\|functionCall\|other part |
| Өріс`candidates[].finishReason` | Түріstring |
| Өріс`usageMetadata` | Түріobject |

Қателер және келесі қадамдар

| Жауап | Шарт | Келесі қадам |
| --- | --- | --- |
| Жауап400 · `invalid_request_error` | ШартМіндетті өрістер, материалды ұсыну тәсілі немесе параметр мәні қате | Келесі қадамЖаңадан жасау сұрауын жібермес бұрын көрсетілген өрістерді түзетіңіз. |

### Балама атаулар

#### Модельдердің балама атаулары

<strong>Ailoot</strong> [`gemini-2.5-pro`](https://ailoot.ai/models/kk/#m=google%2Fgemini-2.5-pro&route=Core&caller=gemini-2.5-pro&fmt=gemini)
**Ailoot Ultra** [`gemini-2.5-pro`](https://ailoot.ai/models/kk/#m=google%2Fgemini-2.5-pro&route=Ultra&caller=gemini-2.5-pro), [`google/gemini-2.5-pro`](https://ailoot.ai/models/kk/#m=google%2Fgemini-2.5-pro&route=Ultra&caller=google%2Fgemini-2.5-pro)

#### Әдіс жолдарының балама атаулары

`/chat/completions`

#### Шақыруға арналған байланысты ID

[`google/gemini-2.5-pro`](https://ailoot.ai/models/kk/#m=google%2Fgemini-2.5-pro&route=Ultra&caller=google%2Fgemini-2.5-pro), [`gemini-2.5-pro`](https://ailoot.ai/models/kk/#m=google%2Fgemini-2.5-pro&route=Core&caller=gemini-2.5-pro&fmt=gemini), [`gemini-2.5-pro`](https://ailoot.ai/models/kk/#m=google%2Fgemini-2.5-pro&route=Ultra&caller=gemini-2.5-pro)

**Ailoot Ultra · OpenAI чаты** `POST /v1/chat/completions` `gemini-2.5-pro`

[`gemini-2.5-pro`](https://ailoot.ai/models/kk/#m=google%2Fgemini-2.5-pro&route=Ultra&caller=gemini-2.5-pro&fmt=chat)

Google /`gemini-2.5-pro`

Модель ID

- `gemini-2.5-pro`
- `google/gemini-2.5-pro`

### Бастау

Gemini 2.5 Pro — күрделі кодқа, математикаға, STEM-ге және ұзақ контексті талдауға арналған Google компаниясының тұрақты ойлау моделі. Ол мәтін, кескін, аудио, бейне және PDF қабылдап, мәтін қайтарады, құралдар мен құрылымдалған шығысты қолдайды. Оның динамикалық пайымдау бюджеті 128–32,768 токенді қолдайды және толық өшірілмейді.

Қабылданатын кіріс деректері

Мәтін

Нәтижелер

Мәтін

### Ailoot жүйесінде қолжетімді · кіріс деректері мен әдістер

**Ailoot Ultra · OpenAI чаты** `POST /v1/chat/completions`

Кіріс

`text`

Шығыс

`text`

Шығыс пішімі

json немесе SSE

| Өріс | Түрі | Талап | Мәндер мен шектеулер | Әдепкі |
| --- | --- | --- | --- | --- |
| Өріс`model` | Түрі`string` | ТалапМіндетті | Мәндер мен шектеулер gemini-2.5-pro | Әдепкі— |
| Өріс`messages` | Түрі`message[]` | ТалапМіндетті | Мәндер мен шектеулер Элементтердің ең аз саны: 1 | Әдепкі— |
| Өріс`messages[].role` | Түрі`string` | ТалапМіндетті | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`messages[].content` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер Мына жағдайда қолданылады: Мәтіндік әңгіме | Әдепкі— |
| Өріс`stream` | Түрі`boolean` | ТалапМіндетті емес | Мәндер мен шектеулер | Әдепкіfalse |

Кіріс материалдарының үйлесімдері

**Мәтін** · UTF8 мәтіні

`messages[].content`

Әдіс параметрлері мен өмірлік циклі

| Параметр | Параметр талаптары |
| --- | --- |
| Параметр`content_type` | Параметр талаптарыapplication/json |
| Параметр`required` | Параметр талаптарыmodel, messages |
| Параметр`material_types` | Параметр талаптарыtext |
| Параметр`messages` | Параметр талаптарыrole/content құрылымы бар хабарламалар жиымы |
| Параметр`file_material` | Параметр талаптарынақты UTF-8 құжаты сөзбе-сөз мәтін ретінде енгізіледі; файл ID-і болжанбайды |
| Параметр`optional_controls` | Параметр талаптарыstream |
| Параметр`control_scope` | Параметр талаптарыМәтіндік әңгіме; stream — логикалық мән, әдепкісі false. |
| Параметр`output_modalities` | Параметр талаптарыtext |
| Параметр`hosted_operations` | Параметр талаптарыfalse |
| Параметр`multimodal_input_binding` | Параметр талаптарыnull |

Әдістің балама атаулары: `/chat/completions`

Өмірлік цикл: `synchronous_or_streamed`

Модельдің дәл ID мәнін messages деректерімен бірге жіберіңіз.

Контекст ұзындығы шығыстың жоғарғы шегі емес.

Мәтіндік файл сөзбе-сөз мәтінді бере алады; кіріс суреттері, аудио және файл нысандары дәл байланыстыруды қажет етеді.

### Тарифтер

Тариф анықтамасы сұрау мүмкіндіктерін қоспайды. Қолдау көрсетілетін параметрлер таңдалған әдісте берілген.

Жылдам режим

Стандартты тариф Жылдам режим таңдалғанда

Икемді режим

Стандартты тариф flex режимі таңдалғанда

Ой қорытудың ең жоғары деңгейі

Стандартты тариф Ой қорыту деңгейі ең жоғары болып, default түзетуі қолданылғанда

Айқын кэштеу бағасы

Қосылмаған Айқын кэштеу сұралғанда

Пайымдау шығысы

Пайымдау үшін жиынтық шығыс құрамындағы тиісті ішкі жиынның көрсетілген тарифі қолданылады; сол токендерді екі рет қоспаңыз. Шығысқа пайымдау токендері кіргенде

#### Ailoot мөлшерлемелері

#### Баптаулар бойынша бағалар

Әр төлемді көрсетілген шарттармен салыстырыңыз. Балама баптаулардың әр жиыны үшін бір мөлшерлемені қолданыңыз.

| Баптау | Мөлшерлемелер кестесі | Контекст токендерінің саны мынадан көп | Контекст токендерінің саны мынадан аспайды, шегі кіреді | Төлем |
| --- | --- | --- | --- | --- |
| БаптауТокендердің базалық тарифтері | Мөлшерлемелер кестесіНегізгі мөлшерлеме | Контекст токендерінің саны мынадан көп— | Контекст токендерінің саны мынадан аспайды, шегі кіредіЖоғарғы шегі жоқ | Төлем Кіріс · Кіріс токендері **$0.0025** / 1K токен Шығыс · Шығыс токендері **$0.02** / 1K токен Кіріс · Кэшті оқу **$0.00025** / 1K токен Кіріс · Кэшке жазу **$0.00075** / 1K токен Кіріс · Кэшке жазу, 1 сағ **—** / 1K токен Шығыс · Шығыс пайымдау токендері **$0.02** / 1K токен |
| БаптауСұрау ұзындығының 1-деңгейі | Мөлшерлемелер кестесі— | Контекст токендерінің саны мынадан көп0 | Контекст токендерінің саны мынадан аспайды, шегі кіреді200 000 | Төлем Кіріс · Кіріс токендері **$0.0025** / 1K токен Шығыс · Шығыс токендері **$0.02** / 1K токен Кіріс · Кэшті оқу **$0.00025** / 1K токен Кіріс · Кэшке жазу **$0.00075** / 1K токен Кіріс · Кэшке жазу, 1 сағ **—** / 1K токен |
| БаптауСұрау ұзындығының 2-деңгейі | Мөлшерлемелер кестесі— | Контекст токендерінің саны мынадан көп200 000 | Контекст токендерінің саны мынадан аспайды, шегі кіредіЖоғарғы шегі жоқ | Төлем Кіріс · Кіріс токендері **$0.005** / 1K токен Шығыс · Шығыс токендері **$0.03** / 1K токен Кіріс · Кэшті оқу **$0.0005** / 1K токен Кіріс · Кэшке жазу **$0.00075** / 1K токен Кіріс · Кэшке жазу, 1 сағ **—** / 1K токен |

Ailoot сұрау алдында болжамды соманы резервтейді. Нәтижеден кейін өлшенген пайдалану көлемі бойынша қорытынды төлемді шегереді. Ағындық жауап үшін төлем соңғы пайдалану жазбасы негізінде шегеріледі. [Резервтеу мен төлемді есептеу тәртібі →](https://ailoot.ai/docs/kk/billing/reserve/)

### Сұрау мысалдары

#### Ailoot Ultra · OpenAI чаты

curlPython SDK

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model":"gemini-2.5-pro","messages":[{"role":"user","content":"hello"}],"stream":false}')

Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
    if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
```

```python
from openai import OpenAI
import os

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model="gemini-2.5-pro", messages=[{"role":"user","content":"hello"}], stream=False)
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

save_result(result.to_dict(mode="json"))
```

### Нәтижелерді алу және сақтау

#### Ailoot Ultra · OpenAI чаты

json немесе SSE

##### Барлық дайын нәтижені сақтау

Қайтарылған әр толық жауапты, файлды және мазмұн бөлігін сақтаңыз.

Әр жауап нұсқасын оның мазмұнымен, құрал шақыруларымен және пайымдауымен бірге сақтаңыз. SSE өзгерістерін жауап нұсқасы мен құрал индексі бойынша жинап, соңғы аяқталу себебі мен пайдалану деректерін сақтаңыз.

##### Бастапқы жауапты тексеру қажет болса

Сұрау мен жауаптың ID мәндерін және тақырыптарын сақтаңыз. Мәтіндік тапсырманы алуға арналған ортақ URL берілмеген.

Жауап өрістері

| Өріс | Түрі |
| --- | --- |
| Өріс`choices[].index` | Түріinteger |
| Өріс`choices[].message.content` | Түріstring\|null |
| Өріс`choices[].message.tool_calls` | Түріtool\_call\[\] |
| Өріс`choices[].message.reasoning_content` | Түріstring |
| Өріс`choices[].message.reasoning_details` | Түріobject\|array |
| Өріс`choices[].finish_reason` | Түріstring\|null |
| Өріс`usage` | Түріobject |

Қателер және келесі қадамдар

| Жауап | Шарт | Келесі қадам |
| --- | --- | --- |
| Жауап400 · `invalid_request_error` | ШартМіндетті өрістер, материалды ұсыну тәсілі немесе параметр мәні қате | Келесі қадамЖаңадан жасау сұрауын жібермес бұрын көрсетілген өрістерді түзетіңіз. |

### Балама атаулар

#### Модельдердің балама атаулары

<strong>Ailoot</strong> [`gemini-2.5-pro`](https://ailoot.ai/models/kk/#m=google%2Fgemini-2.5-pro&route=Core&caller=gemini-2.5-pro)
**Ailoot Ultra** [`gemini-2.5-pro`](https://ailoot.ai/models/kk/#m=google%2Fgemini-2.5-pro&route=Ultra&caller=gemini-2.5-pro&fmt=chat), [`google/gemini-2.5-pro`](https://ailoot.ai/models/kk/#m=google%2Fgemini-2.5-pro&route=Ultra&caller=google%2Fgemini-2.5-pro&fmt=chat)

#### Әдіс жолдарының балама атаулары

`/chat/completions`

#### Шақыруға арналған байланысты ID

[`google/gemini-2.5-pro`](https://ailoot.ai/models/kk/#m=google%2Fgemini-2.5-pro&route=Ultra&caller=google%2Fgemini-2.5-pro&fmt=chat), [`gemini-2.5-pro`](https://ailoot.ai/models/kk/#m=google%2Fgemini-2.5-pro&route=Core&caller=gemini-2.5-pro), [`gemini-2.5-pro`](https://ailoot.ai/models/kk/#m=google%2Fgemini-2.5-pro&route=Ultra&caller=gemini-2.5-pro&fmt=chat)

**Ailoot Ultra · Anthropic хабарламалары** `POST /v1/messages` `gemini-2.5-pro`

[`gemini-2.5-pro`](https://ailoot.ai/models/kk/#m=google%2Fgemini-2.5-pro&route=Ultra&caller=gemini-2.5-pro&fmt=messages)

Google /`gemini-2.5-pro`

Модель ID

- `gemini-2.5-pro`
- `google/gemini-2.5-pro`

### Бастау

Gemini 2.5 Pro — күрделі кодқа, математикаға, STEM-ге және ұзақ контексті талдауға арналған Google компаниясының тұрақты ойлау моделі. Ол мәтін, кескін, аудио, бейне және PDF қабылдап, мәтін қайтарады, құралдар мен құрылымдалған шығысты қолдайды. Оның динамикалық пайымдау бюджеті 128–32,768 токенді қолдайды және толық өшірілмейді.

Қабылданатын кіріс деректері

Мәтін

Нәтижелер

json · sse

### Ailoot жүйесінде қолжетімді · кіріс деректері мен әдістер

**Ailoot Ultra · Anthropic хабарламалары** `POST /v1/messages`

Кіріс

`text`

Шығыс

`json`, `sse`

Шығыс пішімі

JSON немесе SSE

| Өріс | Түрі | Талап | Мәндер мен шектеулер | Әдепкі |
| --- | --- | --- | --- | --- |
| Өріс`model` | Түрі`string` | ТалапМіндетті | Мәндер мен шектеулер gemini-2.5-pro | Әдепкі— |
| Өріс`messages` | Түрі`message[]` | ТалапМіндетті | Мәндер мен шектеулер | Әдепкі— |
| Өріс`messages[].role` | Түрі`string` | ТалапМіндетті | Мәндер мен шектеулер user, assistant | Әдепкі— |
| Өріс`messages[].content` | Түрі`string` | ТалапМіндетті | Мәндер мен шектеулер | Әдепкі— |
| Өріс`max_tokens` | Түрі`integer` | ТалапМіндетті | Мәндер мен шектеулер | Әдепкі— |
| Өріс`stream` | Түрі`boolean` | ТалапМіндетті емес | Мәндер мен шектеулер | Әдепкіfalse |

Кіріс материалдарының үйлесімдері

**Мәтін** · UTF-8 мәтіні

`messages[].content жолы`

Әдіс параметрлері мен өмірлік циклі

| Параметр | Параметр талаптары |
| --- | --- |
| Параметр`content_type` | Параметр талаптарыapplication/json |
| Параметр`required` | Параметр талаптарыmodel, messages, max\_tokens |
| Параметр`optional_controls` | Параметр талаптарыstream |
| Параметр`material_types` | Параметр талаптарыtext |
| Параметр`text_file_material` | Параметр талаптарыНақты UTF-8 құжатын оқып, оның мәтінін көрсетілген кіріс жолына немесе хабарлама мазмұнының жолына қойыңыз. |

Өмірлік цикл: `synchronous_or_streamed`

### Тарифтер

Тариф анықтамасы сұрау мүмкіндіктерін қоспайды. Қолдау көрсетілетін параметрлер таңдалған әдісте берілген.

Жылдам режим

Стандартты тариф Жылдам режим таңдалғанда

Икемді режим

Стандартты тариф flex режимі таңдалғанда

Ой қорытудың ең жоғары деңгейі

Стандартты тариф Ой қорыту деңгейі ең жоғары болып, default түзетуі қолданылғанда

Айқын кэштеу бағасы

Қосылмаған Айқын кэштеу сұралғанда

Пайымдау шығысы

Пайымдау үшін жиынтық шығыс құрамындағы тиісті ішкі жиынның көрсетілген тарифі қолданылады; сол токендерді екі рет қоспаңыз. Шығысқа пайымдау токендері кіргенде

#### Ailoot мөлшерлемелері

#### Баптаулар бойынша бағалар

Әр төлемді көрсетілген шарттармен салыстырыңыз. Балама баптаулардың әр жиыны үшін бір мөлшерлемені қолданыңыз.

| Баптау | Мөлшерлемелер кестесі | Контекст токендерінің саны мынадан көп | Контекст токендерінің саны мынадан аспайды, шегі кіреді | Төлем |
| --- | --- | --- | --- | --- |
| БаптауТокендердің базалық тарифтері | Мөлшерлемелер кестесіНегізгі мөлшерлеме | Контекст токендерінің саны мынадан көп— | Контекст токендерінің саны мынадан аспайды, шегі кіредіЖоғарғы шегі жоқ | Төлем Кіріс · Кіріс токендері **$0.0025** / 1K токен Шығыс · Шығыс токендері **$0.02** / 1K токен Кіріс · Кэшті оқу **$0.00025** / 1K токен Кіріс · Кэшке жазу **$0.00075** / 1K токен Кіріс · Кэшке жазу, 1 сағ **—** / 1K токен Шығыс · Шығыс пайымдау токендері **$0.02** / 1K токен |
| БаптауСұрау ұзындығының 1-деңгейі | Мөлшерлемелер кестесі— | Контекст токендерінің саны мынадан көп0 | Контекст токендерінің саны мынадан аспайды, шегі кіреді200 000 | Төлем Кіріс · Кіріс токендері **$0.0025** / 1K токен Шығыс · Шығыс токендері **$0.02** / 1K токен Кіріс · Кэшті оқу **$0.00025** / 1K токен Кіріс · Кэшке жазу **$0.00075** / 1K токен Кіріс · Кэшке жазу, 1 сағ **—** / 1K токен |
| БаптауСұрау ұзындығының 2-деңгейі | Мөлшерлемелер кестесі— | Контекст токендерінің саны мынадан көп200 000 | Контекст токендерінің саны мынадан аспайды, шегі кіредіЖоғарғы шегі жоқ | Төлем Кіріс · Кіріс токендері **$0.005** / 1K токен Шығыс · Шығыс токендері **$0.03** / 1K токен Кіріс · Кэшті оқу **$0.0005** / 1K токен Кіріс · Кэшке жазу **$0.00075** / 1K токен Кіріс · Кэшке жазу, 1 сағ **—** / 1K токен |

Ailoot сұрау алдында болжамды соманы резервтейді. Нәтижеден кейін өлшенген пайдалану көлемі бойынша қорытынды төлемді шегереді. Ағындық жауап үшін төлем соңғы пайдалану жазбасы негізінде шегеріледі. [Резервтеу мен төлемді есептеу тәртібі →](https://ailoot.ai/docs/kk/billing/reserve/)

### Сұрау мысалдары

#### Ailoot Ultra · Anthropic хабарламалары

Ең ықшам толық JSON сұрау денесіcurl · өзіңіздің UTF-8 құжатыңызды қолданыңызPython · нәтижені толық сақтаңыз

```json
{
  "model": "gemini-2.5-pro",
  "max_tokens": 128,
  "messages": [
    {
      "role": "user",
      "content": "Summarize the incident report."
    }
  ],
  "stream": false
}
```

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'gemini-2.5-pro', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
  -H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
PY_RESULT
```

```python
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'gemini-2.5-pro', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
from urllib.request import Request, urlopen
from urllib.error import HTTPError

api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
    raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'x-api-key': 'PLACEHOLDER_KEY', 'anthropic-version': '2023-06-01', 'Content-Type': 'application/json'}
headers['x-api-key'] = api_key
request = Request('https://api.ailoot.ai/v1/messages', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
    with urlopen(request, timeout=120) as response:
        raw = response.read()
        Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
    Path('result.json').write_bytes(error.read())
    Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
    raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
```

### Нәтижелерді алу және сақтау

#### Ailoot Ultra · Anthropic хабарламалары

JSON немесе SSE

##### Барлық дайын нәтижені сақтау

Қайтарылған әр толық жауапты, файлды және мазмұн бөлігін сақтаңыз.

Барлық мазмұн блоктарын, пайымдау қолтаңбаларын және құрал қолданудың нақты ID мәндерін сақтаңыз. SSE блоктарының барлық өзгерістерін жинаңыз; алғашқы мәтіндік блок толық шығыс емес.

##### Бастапқы жауапты тексеру қажет болса

Сұрау мен жауаптың ID мәндерін және тақырыптарын сақтаңыз. Мәтіндік тапсырманы алуға арналған ортақ URL берілмеген.

Жауап өрістері

| Өріс | Түрі |
| --- | --- |
| Өріс`id` | Түріstring |
| Өріс`model` | Түріstring |
| Өріс`content[]` | Түріtext\|thinking\|tool\_use\|other content block |
| Өріс`stop_reason` | Түріstring\|null |
| Өріс`usage` | Түріobject |

Қателер және келесі қадамдар

| Жауап | Шарт | Келесі қадам |
| --- | --- | --- |
| Жауап400 · `invalid_request_error` | ШартМіндетті өрістер, материалды ұсыну тәсілі немесе параметр мәні қате | Келесі қадамЖаңадан жасау сұрауын жібермес бұрын көрсетілген өрістерді түзетіңіз. |

### Балама атаулар

#### Модельдердің балама атаулары

<strong>Ailoot</strong> [`gemini-2.5-pro`](https://ailoot.ai/models/kk/#m=google%2Fgemini-2.5-pro&route=Core&caller=gemini-2.5-pro&fmt=messages)
**Ailoot Ultra** [`gemini-2.5-pro`](https://ailoot.ai/models/kk/#m=google%2Fgemini-2.5-pro&route=Ultra&caller=gemini-2.5-pro&fmt=messages), [`google/gemini-2.5-pro`](https://ailoot.ai/models/kk/#m=google%2Fgemini-2.5-pro&route=Ultra&caller=google%2Fgemini-2.5-pro&fmt=messages)

#### Әдіс жолдарының балама атаулары

`/chat/completions`

#### Шақыруға арналған байланысты ID

[`google/gemini-2.5-pro`](https://ailoot.ai/models/kk/#m=google%2Fgemini-2.5-pro&route=Ultra&caller=google%2Fgemini-2.5-pro&fmt=messages), [`gemini-2.5-pro`](https://ailoot.ai/models/kk/#m=google%2Fgemini-2.5-pro&route=Core&caller=gemini-2.5-pro&fmt=messages), [`gemini-2.5-pro`](https://ailoot.ai/models/kk/#m=google%2Fgemini-2.5-pro&route=Ultra&caller=gemini-2.5-pro&fmt=messages)

**Ailoot Ultra · OpenAI чаты** `POST /v1/chat/completions` `google/gemini-2.5-pro`

[`google/gemini-2.5-pro`](https://ailoot.ai/models/kk/#m=google%2Fgemini-2.5-pro&route=Ultra&caller=google%2Fgemini-2.5-pro&fmt=chat)

Google /`google/gemini-2.5-pro`

Модель ID

- `gemini-2.5-pro`
- `google/gemini-2.5-pro`

### Бастау

Gemini 2.5 Pro — күрделі кодқа, математикаға, STEM-ге және ұзақ контексті талдауға арналған Google компаниясының тұрақты ойлау моделі. Ол мәтін, кескін, аудио, бейне және PDF қабылдап, мәтін қайтарады, құралдар мен құрылымдалған шығысты қолдайды. Оның динамикалық пайымдау бюджеті 128–32,768 токенді қолдайды және толық өшірілмейді.

Қабылданатын кіріс деректері

Мәтін

Нәтижелер

Мәтін

### Ailoot жүйесінде қолжетімді · кіріс деректері мен әдістер

**Ailoot Ultra · OpenAI чаты** `POST /v1/chat/completions`

Кіріс

`text`

Шығыс

`text`

Шығыс пішімі

json немесе SSE

| Өріс | Түрі | Талап | Мәндер мен шектеулер | Әдепкі |
| --- | --- | --- | --- | --- |
| Өріс`model` | Түрі`string` | ТалапМіндетті | Мәндер мен шектеулер google/gemini-2.5-pro | Әдепкі— |
| Өріс`messages` | Түрі`message[]` | ТалапМіндетті | Мәндер мен шектеулер Элементтердің ең аз саны: 1 | Әдепкі— |
| Өріс`messages[].role` | Түрі`string` | ТалапМіндетті | Мәндер мен шектеулер Мысалдар: system, user, assistant, tool, function Шарттар: Бұл рөлдер бастапқы кодтағы үйлесімділік түрлерінде айқын көрсетілген; рөлдердің нақты жиыны әр модельге байланысты. Модельге байланысты | Әдепкі— |
| Өріс`messages[].content` | Түрі`string\|content_part[]\|null` | ТалапМіндетті емес | Мәндер мен шектеулер | Әдепкі— |
| Өріс`messages[].tool_calls` | Түрі`tool_call[]` | ТалапМіндетті емес | Мәндер мен шектеулер | Әдепкі— |
| Өріс`messages[].tool_call_id` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер Мына жағдайда қолданылады: role=tool; нақты қайтарылған ID мәнін пайдаланыңыз | Әдепкі— |
| Өріс`messages[].name` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер | Әдепкі— |
| Өріс`messages[].reasoning_content` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер Мына жағдайда қолданылады: Модель пайымдауды пайдаланса, нақты қайтарылған пайымдауды қайта жіберіңіз | Әдепкі— |
| Өріс`messages[].reasoning_details` | Түрі`object\|array` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`max_tokens` | Түрі`integer` | ТалапМіндетті емес | Мәндер мен шектеулер Ең азы: 1 Модельге байланысты | Әдепкі— |
| Өріс`max_completion_tokens` | Түрі`integer` | ТалапМіндетті емес | Мәндер мен шектеулер Ең азы: 1 Модельге байланысты | Әдепкі— |
| Өріс`stream` | Түрі`boolean` | ТалапМіндетті емес | Мәндер мен шектеулер | Әдепкіfalse |
| Өріс`stream_options.include_usage` | Түрі`boolean` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`temperature` | Түрі`number` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`top_p` | Түрі`number` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`stop` | Түрі`string\|string[]` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`tools` | Түрі`function_tool[]` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`tools[].type` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер function Модельге байланысты | Әдепкі— |
| Өріс`tools[].function.name` | Түрі`string` | ТалапМіндетті | Мәндер мен шектеулер Мына жағдайда қолданылады: функция құралы берілген | Әдепкі— |
| Өріс`tools[].function.description` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер | Әдепкі— |
| Өріс`tools[].function.parameters` | Түрі`JSON_schema` | ТалапМіндетті емес | Мәндер мен шектеулер | Әдепкі— |
| Өріс`tool_choice` | Түрі`string\|object` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`parallel_tool_calls` | Түрі`boolean` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`response_format` | Түрі`object` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`reasoning_effort` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`reasoning` | Түрі`object` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`service_tier` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`instructions` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер Үйлесімділік өрісі | Әдепкі— |
| Өріс`functions` | Түрі`function[]` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`function_call` | Түрі`string\|object` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`prompt_cache_options` | Түрі`object` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`modalities` | Түрі`string[]` | ТалапМіндетті емес | Мәндер мен шектеулер text | Әдепкі— |
| Өріс`provider` | Түрі`object` | ТалапМіндетті емес | Мәндер мен шектеулер Шарттар: Осы Ultra мәтіндік бағытында provider.options қабылданбайды | Әдепкі— |
| Өріс`cache_control.ttl` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер Шарттар: Сұрау кэшінің нақты орындарында 1h қабылданбайды | Әдепкі— |

Кіріс материалдарының үйлесімдері

**Мәтін** · UTF8 мәтіні

`messages[].content`

Әдіс параметрлері мен өмірлік циклі

| Параметр | Параметр талаптары |
| --- | --- |
| Параметр`content_type` | Параметр талаптарыapplication/json |
| Параметр`required` | Параметр талаптарыmodel, messages |
| Параметр`material_types` | Параметр талаптарыtext |
| Параметр`messages` | Параметр талаптарыrole/content құрылымы бар хабарламалар жиымы |
| Параметр`file_material` | Параметр талаптарынақты UTF-8 құжаты сөзбе-сөз мәтін ретінде енгізіледі; файл ID-і болжанбайды |
| Параметр`optional_controls` | Параметр талаптарыstream, temperature, top\_p, stop, max\_tokens, max\_completion\_tokens, reasoning, response\_format, tools, tool\_choice |
| Параметр`control_scope` | Параметр талаптарымодельге байланысты; пайдаланушының функция құралдары қызмет жағында орындалатын құралдардан өзгеше |
| Параметр`output_modalities` | Параметр талаптарыtext |
| Параметр`hosted_operations` | Параметр талаптарыfalse |
| Параметр`multimodal_input_binding` | Параметр талаптарыnull |

Өмірлік цикл: `synchronous_or_streamed`

Модельдің дәл ID мәнін messages деректерімен бірге жіберіңіз.

Контекст ұзындығы шығыстың жоғарғы шегі емес.

Мәтіндік файл сөзбе-сөз мәтінді бере алады; кіріс суреттері, аудио және файл нысандары дәл байланыстыруды қажет етеді.

### Тарифтер

Тариф анықтамасы сұрау мүмкіндіктерін қоспайды. Қолдау көрсетілетін параметрлер таңдалған әдісте берілген.

Жылдам режим

Стандартты тариф Жылдам режим таңдалғанда

Икемді режим

Стандартты тариф flex режимі таңдалғанда

Ой қорытудың ең жоғары деңгейі

Стандартты тариф Ой қорыту деңгейі ең жоғары болып, default түзетуі қолданылғанда

Айқын кэштеу бағасы

Қосылмаған Айқын кэштеу сұралғанда

Пайымдау шығысы

Пайымдау үшін жиынтық шығыс құрамындағы тиісті ішкі жиынның көрсетілген тарифі қолданылады; сол токендерді екі рет қоспаңыз. Шығысқа пайымдау токендері кіргенде

#### Ailoot мөлшерлемелері

#### Баптаулар бойынша бағалар

Әр төлемді көрсетілген шарттармен салыстырыңыз. Балама баптаулардың әр жиыны үшін бір мөлшерлемені қолданыңыз.

| Баптау | Мөлшерлемелер кестесі | Контекст токендерінің саны мынадан көп | Контекст токендерінің саны мынадан аспайды, шегі кіреді | Төлем |
| --- | --- | --- | --- | --- |
| БаптауТокендердің базалық тарифтері | Мөлшерлемелер кестесіНегізгі мөлшерлеме | Контекст токендерінің саны мынадан көп— | Контекст токендерінің саны мынадан аспайды, шегі кіредіЖоғарғы шегі жоқ | Төлем Кіріс · Кіріс токендері **$0.0025** / 1K токен Шығыс · Шығыс токендері **$0.02** / 1K токен Кіріс · Кэшті оқу **$0.00025** / 1K токен Кіріс · Кэшке жазу **$0.00075** / 1K токен Кіріс · Кэшке жазу, 1 сағ **—** / 1K токен Шығыс · Шығыс пайымдау токендері **$0.02** / 1K токен |
| БаптауСұрау ұзындығының 1-деңгейі | Мөлшерлемелер кестесі— | Контекст токендерінің саны мынадан көп0 | Контекст токендерінің саны мынадан аспайды, шегі кіреді200 000 | Төлем Кіріс · Кіріс токендері **$0.0025** / 1K токен Шығыс · Шығыс токендері **$0.02** / 1K токен Кіріс · Кэшті оқу **$0.00025** / 1K токен Кіріс · Кэшке жазу **$0.00075** / 1K токен Кіріс · Кэшке жазу, 1 сағ **—** / 1K токен |
| БаптауСұрау ұзындығының 2-деңгейі | Мөлшерлемелер кестесі— | Контекст токендерінің саны мынадан көп200 000 | Контекст токендерінің саны мынадан аспайды, шегі кіредіЖоғарғы шегі жоқ | Төлем Кіріс · Кіріс токендері **$0.005** / 1K токен Шығыс · Шығыс токендері **$0.03** / 1K токен Кіріс · Кэшті оқу **$0.0005** / 1K токен Кіріс · Кэшке жазу **$0.00075** / 1K токен Кіріс · Кэшке жазу, 1 сағ **—** / 1K токен |

Ailoot сұрау алдында болжамды соманы резервтейді. Нәтижеден кейін өлшенген пайдалану көлемі бойынша қорытынды төлемді шегереді. Ағындық жауап үшін төлем соңғы пайдалану жазбасы негізінде шегеріледі. [Резервтеу мен төлемді есептеу тәртібі →](https://ailoot.ai/docs/kk/billing/reserve/)

### Сұрау мысалдары

#### Ailoot Ultra · OpenAI чаты

curlPython SDKPython ағыны

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "google/gemini-2.5-pro", "messages": [{"role": "user", "content": "Explain the difference between an observation and a hypothesis in three sentences."}]}')

Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
    if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
```

```python
from openai import OpenAI
import os

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model='google/gemini-2.5-pro',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}])
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

save_result(result.to_dict(mode="json"))
```

```python
from openai import OpenAI
import os
from pathlib import Path

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

with client.chat.completions.stream(model='google/gemini-2.5-pro',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}]) as stream:
    with Path("stream-events.jsonl").open("w",encoding="utf-8") as log:
        for event in stream:
            payload=event.to_dict(mode="json")
            log.write(json.dumps(payload,ensure_ascii=False)+"\n"); log.flush()
            print(json.dumps(payload,ensure_ascii=False))
    final=stream.get_final_completion()
    save_result(final.to_dict(mode="json"),"stream-result")
```

### Нәтижелерді алу және сақтау

#### Ailoot Ultra · OpenAI чаты

json немесе SSE

##### Барлық дайын нәтижені сақтау

Қайтарылған әр толық жауапты, файлды және мазмұн бөлігін сақтаңыз.

Әр жауап нұсқасын оның мазмұнымен, құрал шақыруларымен және пайымдауымен бірге сақтаңыз. SSE өзгерістерін жауап нұсқасы мен құрал индексі бойынша жинап, соңғы аяқталу себебі мен пайдалану деректерін сақтаңыз.

##### Бастапқы жауапты тексеру қажет болса

Сұрау мен жауаптың ID мәндерін және тақырыптарын сақтаңыз. Мәтіндік тапсырманы алуға арналған ортақ URL берілмеген.

Жауап өрістері

| Өріс | Түрі |
| --- | --- |
| Өріс`choices[].index` | Түріinteger |
| Өріс`choices[].message.content` | Түріstring\|null |
| Өріс`choices[].message.tool_calls` | Түріtool\_call\[\] |
| Өріс`choices[].message.reasoning_content` | Түріstring |
| Өріс`choices[].message.reasoning_details` | Түріobject\|array |
| Өріс`choices[].finish_reason` | Түріstring\|null |
| Өріс`usage` | Түріobject |

Қателер және келесі қадамдар

| Жауап | Шарт | Келесі қадам |
| --- | --- | --- |
| Жауап400 · `invalid_request_error` | ШартМіндетті өрістер, материалды ұсыну тәсілі немесе параметр мәні қате | Келесі қадамЖаңадан жасау сұрауын жібермес бұрын көрсетілген өрістерді түзетіңіз. |

### Балама атаулар

#### Модельдердің балама атаулары

<strong>Ailoot</strong> [`gemini-2.5-pro`](https://ailoot.ai/models/kk/#m=google%2Fgemini-2.5-pro&route=Core&caller=gemini-2.5-pro)
**Ailoot Ultra** [`gemini-2.5-pro`](https://ailoot.ai/models/kk/#m=google%2Fgemini-2.5-pro&route=Ultra&caller=gemini-2.5-pro&fmt=chat), [`google/gemini-2.5-pro`](https://ailoot.ai/models/kk/#m=google%2Fgemini-2.5-pro&route=Ultra&caller=google%2Fgemini-2.5-pro&fmt=chat)

#### Әдіс жолдарының балама атаулары

`/chat/completions`

#### Шақыруға арналған байланысты ID

[`google/gemini-2.5-pro`](https://ailoot.ai/models/kk/#m=google%2Fgemini-2.5-pro&route=Ultra&caller=google%2Fgemini-2.5-pro&fmt=chat), [`gemini-2.5-pro`](https://ailoot.ai/models/kk/#m=google%2Fgemini-2.5-pro&route=Core&caller=gemini-2.5-pro), [`gemini-2.5-pro`](https://ailoot.ai/models/kk/#m=google%2Fgemini-2.5-pro&route=Ultra&caller=gemini-2.5-pro&fmt=chat)

**Ailoot Ultra · Anthropic хабарламалары** `POST /v1/messages` `google/gemini-2.5-pro`

[`google/gemini-2.5-pro`](https://ailoot.ai/models/kk/#m=google%2Fgemini-2.5-pro&route=Ultra&caller=google%2Fgemini-2.5-pro&fmt=messages)

Google /`google/gemini-2.5-pro`

Модель ID

- `gemini-2.5-pro`
- `google/gemini-2.5-pro`

### Бастау

Gemini 2.5 Pro — күрделі кодқа, математикаға, STEM-ге және ұзақ контексті талдауға арналған Google компаниясының тұрақты ойлау моделі. Ол мәтін, кескін, аудио, бейне және PDF қабылдап, мәтін қайтарады, құралдар мен құрылымдалған шығысты қолдайды. Оның динамикалық пайымдау бюджеті 128–32,768 токенді қолдайды және толық өшірілмейді.

Қабылданатын кіріс деректері

Мәтін

Нәтижелер

json · sse

### Ailoot жүйесінде қолжетімді · кіріс деректері мен әдістер

**Ailoot Ultra · Anthropic хабарламалары** `POST /v1/messages`

Кіріс

`text`

Шығыс

`json`, `sse`

Шығыс пішімі

JSON немесе SSE

| Өріс | Түрі | Талап | Мәндер мен шектеулер | Әдепкі |
| --- | --- | --- | --- | --- |
| Өріс`model` | Түрі`string` | ТалапМіндетті | Мәндер мен шектеулер google/gemini-2.5-pro | Әдепкі— |
| Өріс`messages` | Түрі`message[]` | ТалапМіндетті | Мәндер мен шектеулер | Әдепкі— |
| Өріс`messages[].role` | Түрі`string` | ТалапМіндетті | Мәндер мен шектеулер user, assistant | Әдепкі— |
| Өріс`messages[].content` | Түрі`string` | ТалапМіндетті | Мәндер мен шектеулер | Әдепкі— |
| Өріс`max_tokens` | Түрі`integer` | ТалапМіндетті | Мәндер мен шектеулер | Әдепкі— |
| Өріс`stream` | Түрі`boolean` | ТалапМіндетті емес | Мәндер мен шектеулер | Әдепкіfalse |

Кіріс материалдарының үйлесімдері

**Мәтін** · UTF-8 мәтіні

`messages[].content жолы`

Әдіс параметрлері мен өмірлік циклі

| Параметр | Параметр талаптары |
| --- | --- |
| Параметр`content_type` | Параметр талаптарыapplication/json |
| Параметр`required` | Параметр талаптарыmodel, messages, max\_tokens |
| Параметр`optional_controls` | Параметр талаптарыstream |
| Параметр`material_types` | Параметр талаптарыtext |
| Параметр`text_file_material` | Параметр талаптарыНақты UTF-8 құжатын оқып, оның мәтінін көрсетілген кіріс жолына немесе хабарлама мазмұнының жолына қойыңыз. |

Өмірлік цикл: `synchronous_or_streamed`

### Тарифтер

Тариф анықтамасы сұрау мүмкіндіктерін қоспайды. Қолдау көрсетілетін параметрлер таңдалған әдісте берілген.

Жылдам режим

Стандартты тариф Жылдам режим таңдалғанда

Икемді режим

Стандартты тариф flex режимі таңдалғанда

Ой қорытудың ең жоғары деңгейі

Стандартты тариф Ой қорыту деңгейі ең жоғары болып, default түзетуі қолданылғанда

Айқын кэштеу бағасы

Қосылмаған Айқын кэштеу сұралғанда

Пайымдау шығысы

Пайымдау үшін жиынтық шығыс құрамындағы тиісті ішкі жиынның көрсетілген тарифі қолданылады; сол токендерді екі рет қоспаңыз. Шығысқа пайымдау токендері кіргенде

#### Ailoot мөлшерлемелері

#### Баптаулар бойынша бағалар

Әр төлемді көрсетілген шарттармен салыстырыңыз. Балама баптаулардың әр жиыны үшін бір мөлшерлемені қолданыңыз.

| Баптау | Мөлшерлемелер кестесі | Контекст токендерінің саны мынадан көп | Контекст токендерінің саны мынадан аспайды, шегі кіреді | Төлем |
| --- | --- | --- | --- | --- |
| БаптауТокендердің базалық тарифтері | Мөлшерлемелер кестесіНегізгі мөлшерлеме | Контекст токендерінің саны мынадан көп— | Контекст токендерінің саны мынадан аспайды, шегі кіредіЖоғарғы шегі жоқ | Төлем Кіріс · Кіріс токендері **$0.0025** / 1K токен Шығыс · Шығыс токендері **$0.02** / 1K токен Кіріс · Кэшті оқу **$0.00025** / 1K токен Кіріс · Кэшке жазу **$0.00075** / 1K токен Кіріс · Кэшке жазу, 1 сағ **—** / 1K токен Шығыс · Шығыс пайымдау токендері **$0.02** / 1K токен |
| БаптауСұрау ұзындығының 1-деңгейі | Мөлшерлемелер кестесі— | Контекст токендерінің саны мынадан көп0 | Контекст токендерінің саны мынадан аспайды, шегі кіреді200 000 | Төлем Кіріс · Кіріс токендері **$0.0025** / 1K токен Шығыс · Шығыс токендері **$0.02** / 1K токен Кіріс · Кэшті оқу **$0.00025** / 1K токен Кіріс · Кэшке жазу **$0.00075** / 1K токен Кіріс · Кэшке жазу, 1 сағ **—** / 1K токен |
| БаптауСұрау ұзындығының 2-деңгейі | Мөлшерлемелер кестесі— | Контекст токендерінің саны мынадан көп200 000 | Контекст токендерінің саны мынадан аспайды, шегі кіредіЖоғарғы шегі жоқ | Төлем Кіріс · Кіріс токендері **$0.005** / 1K токен Шығыс · Шығыс токендері **$0.03** / 1K токен Кіріс · Кэшті оқу **$0.0005** / 1K токен Кіріс · Кэшке жазу **$0.00075** / 1K токен Кіріс · Кэшке жазу, 1 сағ **—** / 1K токен |

Ailoot сұрау алдында болжамды соманы резервтейді. Нәтижеден кейін өлшенген пайдалану көлемі бойынша қорытынды төлемді шегереді. Ағындық жауап үшін төлем соңғы пайдалану жазбасы негізінде шегеріледі. [Резервтеу мен төлемді есептеу тәртібі →](https://ailoot.ai/docs/kk/billing/reserve/)

### Сұрау мысалдары

#### Ailoot Ultra · Anthropic хабарламалары

Ең ықшам толық JSON сұрау денесіcurl · өзіңіздің UTF-8 құжатыңызды қолданыңызPython · нәтижені толық сақтаңыз

```json
{
  "model": "google/gemini-2.5-pro",
  "max_tokens": 128,
  "messages": [
    {
      "role": "user",
      "content": "Summarize the incident report."
    }
  ],
  "stream": false
}
```

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'google/gemini-2.5-pro', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
  -H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
PY_RESULT
```

```python
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'google/gemini-2.5-pro', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
from urllib.request import Request, urlopen
from urllib.error import HTTPError

api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
    raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'x-api-key': 'PLACEHOLDER_KEY', 'anthropic-version': '2023-06-01', 'Content-Type': 'application/json'}
headers['x-api-key'] = api_key
request = Request('https://api.ailoot.ai/v1/messages', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
    with urlopen(request, timeout=120) as response:
        raw = response.read()
        Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
    Path('result.json').write_bytes(error.read())
    Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
    raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
```

### Нәтижелерді алу және сақтау

#### Ailoot Ultra · Anthropic хабарламалары

JSON немесе SSE

##### Барлық дайын нәтижені сақтау

Қайтарылған әр толық жауапты, файлды және мазмұн бөлігін сақтаңыз.

Барлық мазмұн блоктарын, пайымдау қолтаңбаларын және құрал қолданудың нақты ID мәндерін сақтаңыз. SSE блоктарының барлық өзгерістерін жинаңыз; алғашқы мәтіндік блок толық шығыс емес.

##### Бастапқы жауапты тексеру қажет болса

Сұрау мен жауаптың ID мәндерін және тақырыптарын сақтаңыз. Мәтіндік тапсырманы алуға арналған ортақ URL берілмеген.

Жауап өрістері

| Өріс | Түрі |
| --- | --- |
| Өріс`id` | Түріstring |
| Өріс`model` | Түріstring |
| Өріс`content[]` | Түріtext\|thinking\|tool\_use\|other content block |
| Өріс`stop_reason` | Түріstring\|null |
| Өріс`usage` | Түріobject |

Қателер және келесі қадамдар

| Жауап | Шарт | Келесі қадам |
| --- | --- | --- |
| Жауап400 · `invalid_request_error` | ШартМіндетті өрістер, материалды ұсыну тәсілі немесе параметр мәні қате | Келесі қадамЖаңадан жасау сұрауын жібермес бұрын көрсетілген өрістерді түзетіңіз. |

### Балама атаулар

#### Модельдердің балама атаулары

<strong>Ailoot</strong> [`gemini-2.5-pro`](https://ailoot.ai/models/kk/#m=google%2Fgemini-2.5-pro&route=Core&caller=gemini-2.5-pro&fmt=messages)
**Ailoot Ultra** [`gemini-2.5-pro`](https://ailoot.ai/models/kk/#m=google%2Fgemini-2.5-pro&route=Ultra&caller=gemini-2.5-pro&fmt=messages), [`google/gemini-2.5-pro`](https://ailoot.ai/models/kk/#m=google%2Fgemini-2.5-pro&route=Ultra&caller=google%2Fgemini-2.5-pro&fmt=messages)

#### Әдіс жолдарының балама атаулары

`/chat/completions`

#### Шақыруға арналған байланысты ID

[`google/gemini-2.5-pro`](https://ailoot.ai/models/kk/#m=google%2Fgemini-2.5-pro&route=Ultra&caller=google%2Fgemini-2.5-pro&fmt=messages), [`gemini-2.5-pro`](https://ailoot.ai/models/kk/#m=google%2Fgemini-2.5-pro&route=Core&caller=gemini-2.5-pro&fmt=messages), [`gemini-2.5-pro`](https://ailoot.ai/models/kk/#m=google%2Fgemini-2.5-pro&route=Ultra&caller=gemini-2.5-pro&fmt=messages)

FAQ · Google: Gemini 2.5 Pro

Қандай кіріс деректері мен нәтижелер қолжетімді?

`POST /v1/messages` · `gemini-2.5-pro`: `text`, `image` → `text` `POST /v1beta/models/{model}:generateContent` · `gemini-2.5-pro`: `text`, `image` → `text` `POST /v1/chat/completions` · `gemini-2.5-pro`: `text` → `text` `POST /v1/messages` · `gemini-2.5-pro`: `text` → `json`, `sse` `POST /v1/chat/completions` · `google/gemini-2.5-pro`: `text` → `text` `POST /v1/messages` · `google/gemini-2.5-pro`: `text` → `json`, `sse`

Сұрау қандай өрістерді пайдаланады?

`POST /v1/messages` · `gemini-2.5-pro`: `model`, `messages`, `system`, `max_tokens`, `stream`, `metadata` `POST /v1beta/models/{model}:generateContent` · `gemini-2.5-pro`: `contents`, `systemInstruction`, `sessionId` `POST /v1/chat/completions` · `gemini-2.5-pro`: `model`, `messages`, `stream` `POST /v1/messages` · `gemini-2.5-pro`: `model`, `messages`, `max_tokens`, `stream` `POST /v1/chat/completions` · `google/gemini-2.5-pro`: `model`, `messages`, `stream`, `modalities`, `provider` `POST /v1/messages` · `google/gemini-2.5-pro`: `model`, `messages`, `max_tokens`, `stream`

Қандай шектеулер қолданылады?

`POST /v1/messages` · `gemini-2.5-pro`: `ctx`: `1048576`; `max_out`: `65536`; `messages.min_items`: `1`; `max_tokens.minimum`: `1` `POST /v1beta/models/{model}:generateContent` · `gemini-2.5-pro`: `ctx`: `1048576`; `max_out`: `65536`; `contents.min_items`: `1` `POST /v1/chat/completions` · `gemini-2.5-pro`: `messages.min_items`: `1` `POST /v1/chat/completions` · `google/gemini-2.5-pro`: `messages.min_items`: `1`

Ailoot-ты Claude Code, OpenCode, Hermes не қолданбаңызға қосыңыз.

## Компания және оның жобалар портфелі

Компания және оның жобалар портфелі: миллиондаған клиент; ай сайынғы сату көлемі миллиардтармен есептеледі.

## Токенді жеңілдікпен сатып алыңыз.

Тұрақты жұмысқа жазылым жеңілдігі. Токен сатып алуға промокодтар — 50% дейін.

Жазылым

Тұрақты сұрауыңызға жеңілдікті тариф таңдаңыз.

50% дейінгі промокод

Сатып алғанда код енгізіңіз. Баға қазіргі науқанмен қайта есептеледі.

Тарихтағы шығындар

Әр сұрауға модель, токен және сома сақталады.

[Жазылым таңдау](https://ailoot.ai/docs/kk/billing/subscriptions/) · [Модель бағасын көру](https://ailoot.ai/models/kk/)

## API-ді сататын өніміңізге қосыңыз.

SaaS, қолданба мен бот Ailoot офертасы және лицензиялық шартына сай. Қайта сатуға реселлер лицензиясын сұраңыз.

Коммерциялық қолданба

Қызметіңіздің ақылы функциясына мәтін, сурет, бейне және дыбыс жасауды қосыңыз.

Реселлер лицензиясы

Жоба сипаттамасы мен кіру схемасын жіберіңіз. Пайдалану мен қайта сатуға жазбаша шарт сұраңыз.

Сайттағы құжаттар

Оферта, лицензиялық шарт және дерек саясаты қоспай тұрып қолжетімді.

[Реселлер лицензиясын сұрау](mailto:support@ailoot.ai) · [Оферта мен лицензиялық шарт](https://ailoot.ai/legal/offer?lang=kk)

## Ailoot · Компания және оның жобалар портфелі





Ailoot жинақталған жұмыс тәжірибесіне, кең клиенттік базаға, тұрақты қызметке және KPI көрсеткіштерін үздіксіз бақылауға сүйенеді.





Компания және оның жобалар портфелі: миллиондаған клиент; ай сайынғы сату көлемі миллиардтармен есептеледі.





Ailoot осы тәжірибені клиенттердің өнімдерінде, агенттерінде, қолданбаларында және автоматтандыруларында жасанды интеллект мүмкіндіктеріне API арқылы қол жеткізуді қамтамасыз етуге пайдаланады.
