Source: https://ailoot.ai/models/kk/gpt-6-luna/
Canonical: https://ailoot.ai/models/kk/gpt-6-luna/
Language: kk

# OpenAI: GPT-6 Luna

[Markdown](https://ailoot.ai/models/kk/gpt-6-luna/index.md) · [JSON](https://ailoot.ai/models/kk/gpt-6-luna/facts.json)

## [OpenAI: GPT-6 Luna](https://ailoot.ai/models/kk/gpt-6-luna/)

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

- [**Ailoot · Anthropic хабарламалары** `POST /v1/messages` `gpt-6-luna`](https://ailoot.ai/models/kk/gpt-6-luna/#method-0)
- [**Ailoot · OpenAI Responses** `POST /v1/responses` `gpt-6-luna`](https://ailoot.ai/models/kk/gpt-6-luna/#method-1)
- [**Ailoot · OpenAI чаты** `POST /v1/chat/completions` `gpt-6-luna`](https://ailoot.ai/models/kk/gpt-6-luna/#method-2)
- [**Ailoot Ultra · OpenAI чаты** `POST /v1/chat/completions` `gpt-6-luna`](https://ailoot.ai/models/kk/gpt-6-luna/#method-3)
- [**Ailoot Ultra · Anthropic хабарламалары** `POST /v1/messages` `gpt-6-luna`](https://ailoot.ai/models/kk/gpt-6-luna/#method-4)
- [**Ailoot Ultra · OpenAI Responses** `POST /v1/responses` `gpt-6-luna`](https://ailoot.ai/models/kk/gpt-6-luna/#method-5)
- [**Ailoot Ultra · OpenAI чаты** `POST /v1/chat/completions` `openai/gpt-6-luna`](https://ailoot.ai/models/kk/gpt-6-luna/#method-6)
- [**Ailoot Ultra · Anthropic хабарламалары** `POST /v1/messages` `openai/gpt-6-luna`](https://ailoot.ai/models/kk/gpt-6-luna/#method-7)
- [**Ailoot Ultra · OpenAI Responses** `POST /v1/responses` `openai/gpt-6-luna`](https://ailoot.ai/models/kk/gpt-6-luna/#method-8)
- [**Ailoot Ultra · OpenAI чаты** `POST /v1/chat/completions` `~openai/gpt-luna-latest`](https://ailoot.ai/models/kk/gpt-6-luna/#method-9)
- [**Ailoot Ultra · Anthropic хабарламалары** `POST /v1/messages` `~openai/gpt-luna-latest`](https://ailoot.ai/models/kk/gpt-6-luna/#method-10)
- [**Ailoot Ultra · OpenAI Responses** `POST /v1/responses` `~openai/gpt-luna-latest`](https://ailoot.ai/models/kk/gpt-6-luna/#method-11)

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

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

#### Мақсаты анық тапсырмалардың үлкен ағыны

GPT-6 Luna — көп мөлшерде орындалатын нақты бағытталған тапсырмаларға арналған OpenAI моделі. Өндіруші оны мұндай ағынды тиімді өңдеуге арналған топ нұсқасы ретінде ұсынады. Модель мәтін мен суреттерді қабылдайды, мәтін қалыптастырады және басқарылатын пайымдау тереңдігін қолдайды.

Кіріс нұсқаулар мен жұмыс материалдарын, ал нәтиже кәдімгі жауапты немесе берілген құрылымдағы объектіні қамтуы мүмкін. Ағындық беру мәтінді біртіндеп алуға мүмкіндік береді. Нәтиже схемасы келесі қадам белгілі өрістер мен дерек типтерін күткенде пайдалы.

#### Күшті және жұмыс режимін таңдау

`none`, `low`, `medium`, `high`, `xhigh` және `max` қолдау табады; әдепкі мән — `medium`. `none` пайымдаусыз өңдеуге арналған. Қорытынды мәтіннің ұзындығын бөлек белгілеп, күшті нақты тапсырмаға қарай өзгертуге болады.

Өндірушінің әдеттегі және кеңейтілген орындау режимдері пайымдау тереңдігінен бөлек таңдалады. Әдеттегі режим әдепкіде қолданылады. Кеңейтілгені қосымша уақыт пен көбірек токен бөлуге болатын күрделі тапсырмаларға арналған. Режим өңдеу тәсілін анықтайды, ал күш деңгейі оның ішіндегі пайымдауды реттейді. Бұл таңдау `Responses` үшін сипатталған және қолданба қолдауын қажет етеді; ол кез келген Ailoot әдісінде қосылған деп есептелмейді.

Құралдармен және пайымдаумен жұмыс үшін `Responses` қолданылады. `Chat Completions` форматында функция шақыру тек `none` деңгейінде рұқсат етіледі. Сондықтан функция атауларының бірдейлігі барлық форматта оларды қолдану тәсілінің бірдей екенін білдірмейді.

#### Контекст және шығыс

OpenAI 1 050 000 токендік контекст терезесін, 922 000 кіріс және 128 000 шығыс токен шегін көрсетеді. Білім кесімі — 2026 жылғы 18 мамыр. Үлкен контекст материалдар мен тарихты сыйғызады, ал шығыс шегі нәтиженің қалыптасуын бөлек шектейді.

Суреттер кіріске жатады: модель визуалды материалды талдап, мәтінмен жауап береді. Ішкі пайымдау шығыс бюджетіне кіреді; рұқсат етілетін ең көп шығыс көрінетін жауаптың сондай ұзындығына кепілдік бермейді. Жаңа мәліметтерді алу үшін оларды сұрауда беруге немесе қарастырылған құралды қосуға болады.

#### Қосылған құралдар арқылы мәліметтер мен әрекеттер

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

Тиісті қосылу болғанда өндіруші сурет генерациясының бөлек құралын, дағдылармен жұмысты және MCP арқылы сыртқы құралдарды да қарастырады. Модельдің тікелей жауабы мәтіндік болып қалады; сурет генерациясының нәтижесін бөлек құрал жасайды. Өндірушіде оның болуы бұл мүмкіндіктердің кез келген Ailoot әдісінде қосылғанын білдірмейді.

Қолжетімді жинақ әдіс пен қолданба арқылы анықталады. Пайдаланушы функциясын қолданба орындайды: модель аргументтер қалыптастырып, кейін нәтижені алады. Құрылымды жауап деректердің түрін белгілейді, ал мәліметтердің дұрыстығы бөлек мәселе болып қалады.

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

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

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

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

```
Normalize a simple order note

Convert this order note into a compact record: "PO-84: 3 packs of filters at 7 units per pack; delivery requested for Friday, not confirmed." Return order ID, pack count, units per pack, total units and delivery status as labelled lines. Retain the distinction between requested and confirmed delivery.
```

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

```
Five labelled fields with total units calculated from the supplied counts and delivery marked requested, unconfirmed.
```

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

```
Check the total equals packs times units per pack and Friday is not described as confirmed.
```

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

[`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Core&caller=gpt-6-luna&fmt=messages)

OpenAI /`gpt-6-luna`

### Бастау

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

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

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

Нәтижелер

Мәтін

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

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

Кіріс

`text`, `image`

Шығыс

`text`

Контекст

1 050 000 tokens

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

128 000 tokens

Шығыс пішімі

json немесе SSE

| Өріс | Түрі | Талап | Мәндер мен шектеулер | Әдепкі |
| --- | --- | --- | --- | --- |
| Өріс`model` | Түрі`string` | ТалапМіндетті | Мәндер мен шектеулер gpt-6-luna | Әдепкі— |
| Өріс`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,0001 $ */ 1K*

Шығыс

0,0005 $ */ 1K*

Кэшті оқу

0,00001 $ */ 1K*

Кэшке жазу

0,000125 $ */ 1K*

Кэшке жазу, 5 мин

0,000125 $ */ 1K tokens*

fast көбейткіші

×2

flex көбейткіші

×0.5

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

| Сұрау көлемі, токен саны | Кіріс | Шығыс | Кэшті оқу | Кэшке жазу | Кэш 5 мин | Кэш 1 сағ |
| --- | --- | --- | --- | --- | --- | --- |
| Сұрау көлемі, токен саны(0; 272 000\] | Кіріс0,0001 $ | Шығыс0,0005 $ | Кэшті оқу0,00001 $ | Кэшке жазу0,000125 $ | Кэш 5 мин0,000125 $ | Кэш 1 сағБазалық: — |
| Сұрау көлемі, токен саны(272 000; ∞) | Кіріс0,0002 $ | Шығыс0,00075 $ | Кэшті оқу0,00002 $ | Кэшке жазу0,00025 $ | Кэш 5 мин0,00025 $ | Кэш 1 сағБазалық: — |

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

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

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

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

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

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

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

| Баптау | Мөлшерлемелер кестесі | Контекст токендерінің саны мынадан көп | Контекст токендерінің саны мынадан аспайды, шегі кіреді | Төлем |
| --- | --- | --- | --- | --- |
| БаптауOpenAI Chat · Токендердің базалық тарифтері | Мөлшерлемелер кестесіНегізгі мөлшерлеме | Контекст токендерінің саны мынадан көп— | Контекст токендерінің саны мынадан аспайды, шегі кіредіЖоғарғы шегі жоқ | Төлем Кіріс · Кіріс токендері **$0.0002** / 1K токен Шығыс · Шығыс токендері **$0.001** / 1K токен Кіріс · Кэшті оқу **$0.00002** / 1K токен Кіріс · Кэшке жазу **$0.00025** / 1K токен Кіріс · Кэшке жазу, 1 сағ **—** / 1K токен |
| БаптауOpenAI Chat · Сұрау ұзындығы бойынша 1-деңгей | Мөлшерлемелер кестесі— | Контекст токендерінің саны мынадан көп0 | Контекст токендерінің саны мынадан аспайды, шегі кіреді272 000 | Төлем Кіріс · Кіріс токендері **$0.0002** / 1K токен Шығыс · Шығыс токендері **$0.001** / 1K токен Кіріс · Кэшті оқу **$0.00002** / 1K токен Кіріс · Кэшке жазу **$0.00025** / 1K токен Кіріс · Кэшке жазу, 1 сағ **—** / 1K токен |
| БаптауOpenAI Chat · Сұрау ұзындығы бойынша 2-деңгей | Мөлшерлемелер кестесі— | Контекст токендерінің саны мынадан көп272 000 | Контекст токендерінің саны мынадан аспайды, шегі кіредіЖоғарғы шегі жоқ | Төлем Кіріс · Кіріс токендері **$0.0004** / 1K токен Шығыс · Шығыс токендері **$0.0015** / 1K токен Кіріс · Кэшті оқу **$0.00004** / 1K токен Кіріс · Кэшке жазу **$0.0005** / 1K токен Кіріс · Кэшке жазу, 1 сағ **—** / 1K токен |
| БаптауAnthropic Messages · Токендердің базалық тарифтері | Мөлшерлемелер кестесіНегізгі мөлшерлеме | Контекст токендерінің саны мынадан көп— | Контекст токендерінің саны мынадан аспайды, шегі кіредіЖоғарғы шегі жоқ | Төлем Кіріс · Кіріс токендері **$0.0002** / 1K токен Шығыс · Шығыс токендері **$0.001** / 1K токен Кіріс · Кэшті оқу **$0.00002** / 1K токен Кіріс · Кэшке жазу **$0.00025** / 1K токен Кіріс · Кэшке жазу, 1 сағ **—** / 1K токен |
| БаптауAnthropic Messages · Сұрау ұзындығы бойынша 1-деңгей | Мөлшерлемелер кестесі— | Контекст токендерінің саны мынадан көп0 | Контекст токендерінің саны мынадан аспайды, шегі кіреді272 000 | Төлем Кіріс · Кіріс токендері **$0.0002** / 1K токен Шығыс · Шығыс токендері **$0.001** / 1K токен Кіріс · Кэшті оқу **$0.00002** / 1K токен Кіріс · Кэшке жазу **$0.00025** / 1K токен Кіріс · Кэшке жазу, 1 сағ **—** / 1K токен |
| БаптауAnthropic Messages · Сұрау ұзындығы бойынша 2-деңгей | Мөлшерлемелер кестесі— | Контекст токендерінің саны мынадан көп272 000 | Контекст токендерінің саны мынадан аспайды, шегі кіредіЖоғарғы шегі жоқ | Төлем Кіріс · Кіріс токендері **$0.0004** / 1K токен Шығыс · Шығыс токендері **$0.0015** / 1K токен Кіріс · Кэшті оқу **$0.00004** / 1K токен Кіріс · Кэшке жазу **$0.0005** / 1K токен Кіріс · Кэшке жазу, 1 сағ **—** / 1K токен |
| БаптауOpenAI Responses · Токендердің базалық тарифтері | Мөлшерлемелер кестесіНегізгі мөлшерлеме | Контекст токендерінің саны мынадан көп— | Контекст токендерінің саны мынадан аспайды, шегі кіредіЖоғарғы шегі жоқ | Төлем Кіріс · Кіріс токендері **$0.0002** / 1K токен Шығыс · Шығыс токендері **$0.001** / 1K токен Кіріс · Кэшті оқу **$0.00002** / 1K токен Кіріс · Кэшке жазу **$0.00025** / 1K токен Кіріс · Кэшке жазу, 1 сағ **—** / 1K токен |
| БаптауOpenAI Responses · Сұрау ұзындығы бойынша 1-деңгей | Мөлшерлемелер кестесі— | Контекст токендерінің саны мынадан көп0 | Контекст токендерінің саны мынадан аспайды, шегі кіреді272 000 | Төлем Кіріс · Кіріс токендері **$0.0002** / 1K токен Шығыс · Шығыс токендері **$0.001** / 1K токен Кіріс · Кэшті оқу **$0.00002** / 1K токен Кіріс · Кэшке жазу **$0.00025** / 1K токен Кіріс · Кэшке жазу, 1 сағ **—** / 1K токен |
| БаптауOpenAI Responses · Сұрау ұзындығы бойынша 2-деңгей | Мөлшерлемелер кестесі— | Контекст токендерінің саны мынадан көп272 000 | Контекст токендерінің саны мынадан аспайды, шегі кіредіЖоғарғы шегі жоқ | Төлем Кіріс · Кіріс токендері **$0.0004** / 1K токен Шығыс · Шығыс токендері **$0.0015** / 1K токен Кіріс · Кэшті оқу **$0.00004** / 1K токен Кіріс · Кэшке жазу **$0.0005** / 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": "gpt-6-luna", "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": "gpt-6-luna", "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="gpt-6-luna",
    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: "gpt-6-luna",
  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='gpt-6-luna',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> [`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Core&caller=gpt-6-luna&fmt=messages)
**Ailoot Ultra** [`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=gpt-6-luna&fmt=messages), [`openai/gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=openai%2Fgpt-6-luna&fmt=messages), [`~openai/gpt-luna-latest`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=~openai%2Fgpt-luna-latest&fmt=messages)

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

`/chat/completions`

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

[`openai/gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=openai%2Fgpt-6-luna&fmt=messages), [`~openai/gpt-luna-latest`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=~openai%2Fgpt-luna-latest&fmt=messages), [`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Core&caller=gpt-6-luna&fmt=messages), [`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=gpt-6-luna&fmt=messages)

**Ailoot · OpenAI Responses** `POST /v1/responses` `gpt-6-luna`

[`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Core&caller=gpt-6-luna&fmt=responses)

OpenAI /`gpt-6-luna`

### Бастау

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

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

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

Нәтижелер

Мәтін

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

**Ailoot · OpenAI Responses** `POST /v1/responses`

Кіріс

`text`, `image`

Шығыс

`text`

Контекст

1 050 000 tokens

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

128 000 tokens

Шығыс пішімі

json немесе SSE

| Өріс | Түрі | Талап | Мәндер мен шектеулер | Әдепкі |
| --- | --- | --- | --- | --- |
| Өріс`model` | Түрі`string` | ТалапМіндетті | Мәндер мен шектеулер gpt-6-luna | Әдепкі— |
| Өріс`input` | Түрі`string\|input_item[]` | ТалапМіндетті | Мәндер мен шектеулер | Әдепкі— |
| Өріс`instructions` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер | Әдепкі— |
| Өріс`input[].type` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер message, reasoning, function\_call, function\_call\_output | Әдепкі— |
| Өріс`input[].content` | Түрі`string\|content_part[]` | ТалапМіндетті емес | Мәндер мен шектеулер | Әдепкі— |
| Өріс`input[].call_id` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер Мына жағдайда қолданылады: function\_call\_output; нақты қайтарылған call\_id мәнін сақтаңыз | Әдепкі— |
| Өріс`input[].output` | Түрі`string\|content_part[]` | ТалапМіндетті емес | Мәндер мен шектеулер Мына жағдайда қолданылады: function\_call\_output | Әдепкі— |
| Өріс`max_output_tokens` | Түрі`integer` | ТалапМіндетті емес | Мәндер мен шектеулер Ең азы: 1 Модельге байланысты | Әдепкі— |
| Өріс`stream` | Түрі`boolean` | ТалапМіндетті емес | Мәндер мен шектеулер | Әдепкіfalse |
| Өріс`temperature` | Түрі`number` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`top_p` | Түрі`number` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`tools` | Түрі`tool[]` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`tool_choice` | Түрі`string\|object` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`parallel_tool_calls` | Түрі`boolean` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`reasoning.effort` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`reasoning.summary` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`text.format` | Түрі`object` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`text.verbosity` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`include` | Түрі`string[]` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`store` | Түрі`boolean` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`previous_response_id` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер ID талабы: Қолдау көрсетілетін жалғастырудан алынған нақты жауап ID-і ғана Модельге байланысты | Әдепкі— |
| Өріс`service_tier` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`prompt_cache_key` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`prompt_cache_options` | Түрі`object` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |

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

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

`кіріс мәтіні немесе input_text бөлігі`

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

`{type:input_image,image_url}`

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

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

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

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

### Тарифтер

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

Кіріс

0,0001 $ */ 1K*

Шығыс

0,0005 $ */ 1K*

Кэшті оқу

0,00001 $ */ 1K*

Кэшке жазу

0,000125 $ */ 1K*

Кэшке жазу, 5 мин

0,000125 $ */ 1K tokens*

fast көбейткіші

×2

flex көбейткіші

×0.5

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

| Сұрау көлемі, токен саны | Кіріс | Шығыс | Кэшті оқу | Кэшке жазу | Кэш 5 мин | Кэш 1 сағ |
| --- | --- | --- | --- | --- | --- | --- |
| Сұрау көлемі, токен саны(0; 272 000\] | Кіріс0,0001 $ | Шығыс0,0005 $ | Кэшті оқу0,00001 $ | Кэшке жазу0,000125 $ | Кэш 5 мин0,000125 $ | Кэш 1 сағБазалық: — |
| Сұрау көлемі, токен саны(272 000; ∞) | Кіріс0,0002 $ | Шығыс0,00075 $ | Кэшті оқу0,00002 $ | Кэшке жазу0,00025 $ | Кэш 5 мин0,00025 $ | Кэш 1 сағБазалық: — |

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

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

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

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

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

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

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

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

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

#### Ailoot · OpenAI Responses

Мәтін мысалыКіріс, сурет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": "gpt-6-luna", "input": ""}')
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["input"]="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/responses \
  -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 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('{"model": "gpt-6-luna", "input": [{"role": "user", "content": [{"type": "input_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["input"][0]["content"].append({"type":"input_image","image_url":"data:"+mime+";base64,"+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/responses \
  -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 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 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)
resp = client.responses.create(model="gpt-6-luna", input="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_dict(mode="json"))
```

```js
import OpenAI from "openai";

if (!process.env.AILOOT_API_KEY?.trim()) throw new Error("Set AILOOT_API_KEY before making a request");
const client = new OpenAI({ baseURL: "https://api.ailoot.ai/v1", apiKey: process.env.AILOOT_API_KEY, maxRetries: 0 });
const resp = await client.responses.create({ model: "gpt-6-luna", input: "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 openai import OpenAI
import os
from pathlib import Path
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))

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)
with client.responses.stream(model="gpt-6-luna", input="Explain the difference between an observation and a hypothesis 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_response()
    save_result(final.to_dict(mode="json"),"stream-result")
```

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

#### Ailoot · OpenAI Responses

json немесе SSE

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

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

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

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

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

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

| Өріс | Түрі |
| --- | --- |
| Өріс`id` | Түріstring |
| Өріс`status` | Түріstring |
| Өріс`output[]` | Түріmessage\|reasoning\|function\_call\|other item |
| Өріс`output[].content[]` | Түріcontent part |
| Өріс`usage` | Түріobject |

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

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

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

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

<strong>Ailoot</strong> [`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Core&caller=gpt-6-luna&fmt=responses)
**Ailoot Ultra** [`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=gpt-6-luna&fmt=responses), [`openai/gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=openai%2Fgpt-6-luna&fmt=responses), [`~openai/gpt-luna-latest`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=~openai%2Fgpt-luna-latest&fmt=responses)

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

`/chat/completions`

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

[`openai/gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=openai%2Fgpt-6-luna&fmt=responses), [`~openai/gpt-luna-latest`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=~openai%2Fgpt-luna-latest&fmt=responses), [`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Core&caller=gpt-6-luna&fmt=responses), [`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=gpt-6-luna&fmt=responses)

**Ailoot · OpenAI чаты** `POST /v1/chat/completions` `gpt-6-luna`

[`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Core&caller=gpt-6-luna&fmt=chat)

OpenAI /`gpt-6-luna`

### Бастау

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

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

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

Нәтижелер

Мәтін

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

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

Кіріс

`text`, `image`

Шығыс

`text`

Контекст

1 050 000 tokens

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

128 000 tokens

Шығыс пішімі

json немесе SSE

| Өріс | Түрі | Талап | Мәндер мен шектеулер | Әдепкі |
| --- | --- | --- | --- | --- |
| Өріс`model` | Түрі`string` | ТалапМіндетті | Мәндер мен шектеулер gpt-6-luna | Әдепкі— |
| Өріс`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` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`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` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |

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

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

`messages[].content`

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

`{type:image_url,image_url:{url,detail}}`

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

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

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

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

### Тарифтер

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

Кіріс

0,0001 $ */ 1K*

Шығыс

0,0005 $ */ 1K*

Кэшті оқу

0,00001 $ */ 1K*

Кэшке жазу

0,000125 $ */ 1K*

Кэшке жазу, 5 мин

0,000125 $ */ 1K tokens*

fast көбейткіші

×2

flex көбейткіші

×0.5

#### Сұрау ұзындығына қарай бағалар · OpenAI чаты

| Сұрау көлемі, токен саны | Кіріс | Шығыс | Кэшті оқу | Кэшке жазу | Кэш 5 мин | Кэш 1 сағ |
| --- | --- | --- | --- | --- | --- | --- |
| Сұрау көлемі, токен саны(0; 272 000\] | Кіріс0,0001 $ | Шығыс0,0005 $ | Кэшті оқу0,00001 $ | Кэшке жазу0,000125 $ | Кэш 5 мин0,000125 $ | Кэш 1 сағБазалық: — |
| Сұрау көлемі, токен саны(272 000; ∞) | Кіріс0,0002 $ | Шығыс0,00075 $ | Кэшті оқу0,00002 $ | Кэшке жазу0,00025 $ | Кэш 5 мин0,00025 $ | Кэш 1 сағБазалық: — |

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

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

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

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

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

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

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

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

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

#### Ailoot · OpenAI чаты

Мәтін мысалыКіріс, сурет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": "gpt-6-luna", "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/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
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": "gpt-6-luna", "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_url","image_url":{"url":"data:"+mime+";base64,"+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/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
print(json.dumps(json.loads(Path("result.json").read_text()),ensure_ascii=False,indent=2))
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)
resp = client.chat.completions.create(
    model="gpt-6-luna",
    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(resp.to_dict(mode="json"))
```

```js
import OpenAI from "openai";

if (!process.env.AILOOT_API_KEY?.trim()) throw new Error("Set AILOOT_API_KEY before making a request");
const client = new OpenAI({ baseURL: "https://api.ailoot.ai/v1", apiKey: process.env.AILOOT_API_KEY, maxRetries: 0 });
const resp = await client.chat.completions.create({
  model: "gpt-6-luna",
  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(resp);
```

```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='gpt-6-luna',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 · 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> [`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Core&caller=gpt-6-luna&fmt=chat)
**Ailoot Ultra** [`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=gpt-6-luna&fmt=chat), [`openai/gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=openai%2Fgpt-6-luna&fmt=chat), [`~openai/gpt-luna-latest`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=~openai%2Fgpt-luna-latest&fmt=chat)

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

`/chat/completions`

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

[`openai/gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=openai%2Fgpt-6-luna&fmt=chat), [`~openai/gpt-luna-latest`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=~openai%2Fgpt-luna-latest&fmt=chat), [`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Core&caller=gpt-6-luna&fmt=chat), [`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=gpt-6-luna&fmt=chat)

**Ailoot Ultra · OpenAI чаты** `POST /v1/chat/completions` `gpt-6-luna`

[`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=gpt-6-luna&fmt=chat)

OpenAI /`gpt-6-luna`

Модель ID

- `gpt-6-luna`
- `openai/gpt-6-luna`
- `~openai/gpt-luna-latest`

### Бастау

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

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

Мәтін

Нәтижелер

Мәтін

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

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

Кіріс

`text`

Шығыс

`text`

Шығыс пішімі

json немесе SSE

| Өріс | Түрі | Талап | Мәндер мен шектеулер | Әдепкі |
| --- | --- | --- | --- | --- |
| Өріс`model` | Түрі`string` | ТалапМіндетті | Мәндер мен шектеулер gpt-6-luna | Әдепкі— |
| Өріс`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 түзетуі қолданылғанда

Ой қорыту деңгейі · high

Стандартты тариф Ой қорыту деңгейі high болғанда

Ой қорыту деңгейі · low

Стандартты тариф Ой қорыту деңгейі low болғанда

Ой қорыту деңгейі · max

Стандартты тариф Ой қорыту деңгейі max болғанда

Ой қорыту деңгейі · medium

Стандартты тариф Ой қорыту деңгейі medium болғанда

Ой қорыту деңгейі · none

Стандартты тариф Ой қорыту деңгейі none болғанда

Ой қорыту деңгейі · xhigh

Стандартты тариф Ой қорыту деңгейі xhigh болғанда

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

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

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

| Баптау | Мөлшерлемелер кестесі | Контекст токендерінің саны мынадан көп | Контекст токендерінің саны мынадан аспайды, шегі кіреді | Төлем |
| --- | --- | --- | --- | --- |
| БаптауТокендердің базалық тарифтері | Мөлшерлемелер кестесіНегізгі мөлшерлеме | Контекст токендерінің саны мынадан көп— | Контекст токендерінің саны мынадан аспайды, шегі кіредіЖоғарғы шегі жоқ | Төлем Кіріс · Кіріс токендері **$0.0002** / 1K токен Шығыс · Шығыс токендері **$0.001** / 1K токен Кіріс · Кэшті оқу **$0.00002** / 1K токен Кіріс · Кэшке жазу **$0.00025** / 1K токен Кіріс · Кэшке жазу, 1 сағ **—** / 1K токен |
| БаптауСұрау ұзындығының 1-деңгейі | Мөлшерлемелер кестесі— | Контекст токендерінің саны мынадан көп0 | Контекст токендерінің саны мынадан аспайды, шегі кіреді272 000 | Төлем Кіріс · Кіріс токендері **$0.0002** / 1K токен Шығыс · Шығыс токендері **$0.001** / 1K токен Кіріс · Кэшті оқу **$0.00002** / 1K токен Кіріс · Кэшке жазу **$0.00025** / 1K токен Кіріс · Кэшке жазу, 1 сағ **—** / 1K токен |
| БаптауСұрау ұзындығының 2-деңгейі | Мөлшерлемелер кестесі— | Контекст токендерінің саны мынадан көп272 000 | Контекст токендерінің саны мынадан аспайды, шегі кіредіЖоғарғы шегі жоқ | Төлем Кіріс · Кіріс токендері **$0.0004** / 1K токен Шығыс · Шығыс токендері **$0.0015** / 1K токен Кіріс · Кэшті оқу **$0.00004** / 1K токен Кіріс · Кэшке жазу **$0.0005** / 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":"gpt-6-luna","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="gpt-6-luna", 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> [`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Core&caller=gpt-6-luna&fmt=chat)
**Ailoot Ultra** [`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=gpt-6-luna&fmt=chat), [`openai/gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=openai%2Fgpt-6-luna&fmt=chat), [`~openai/gpt-luna-latest`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=~openai%2Fgpt-luna-latest&fmt=chat)

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

`/chat/completions`

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

[`openai/gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=openai%2Fgpt-6-luna&fmt=chat), [`~openai/gpt-luna-latest`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=~openai%2Fgpt-luna-latest&fmt=chat), [`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Core&caller=gpt-6-luna&fmt=chat), [`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=gpt-6-luna&fmt=chat)

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

[`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=gpt-6-luna&fmt=messages)

OpenAI /`gpt-6-luna`

Модель ID

- `gpt-6-luna`
- `openai/gpt-6-luna`
- `~openai/gpt-luna-latest`

### Бастау

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

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

Мәтін

Нәтижелер

json · sse

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

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

Кіріс

`text`

Шығыс

`json`, `sse`

Шығыс пішімі

JSON немесе SSE

| Өріс | Түрі | Талап | Мәндер мен шектеулер | Әдепкі |
| --- | --- | --- | --- | --- |
| Өріс`model` | Түрі`string` | ТалапМіндетті | Мәндер мен шектеулер gpt-6-luna | Әдепкі— |
| Өріс`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 түзетуі қолданылғанда

Ой қорыту деңгейі · high

Стандартты тариф Ой қорыту деңгейі high болғанда

Ой қорыту деңгейі · low

Стандартты тариф Ой қорыту деңгейі low болғанда

Ой қорыту деңгейі · max

Стандартты тариф Ой қорыту деңгейі max болғанда

Ой қорыту деңгейі · medium

Стандартты тариф Ой қорыту деңгейі medium болғанда

Ой қорыту деңгейі · none

Стандартты тариф Ой қорыту деңгейі none болғанда

Ой қорыту деңгейі · xhigh

Стандартты тариф Ой қорыту деңгейі xhigh болғанда

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

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

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

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

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

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

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

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

```json
{
  "model": "gpt-6-luna",
  "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': 'gpt-6-luna', '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': 'gpt-6-luna', '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> [`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Core&caller=gpt-6-luna&fmt=messages)
**Ailoot Ultra** [`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=gpt-6-luna&fmt=messages), [`openai/gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=openai%2Fgpt-6-luna&fmt=messages), [`~openai/gpt-luna-latest`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=~openai%2Fgpt-luna-latest&fmt=messages)

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

`/chat/completions`

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

[`openai/gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=openai%2Fgpt-6-luna&fmt=messages), [`~openai/gpt-luna-latest`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=~openai%2Fgpt-luna-latest&fmt=messages), [`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Core&caller=gpt-6-luna&fmt=messages), [`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=gpt-6-luna&fmt=messages)

**Ailoot Ultra · OpenAI Responses** `POST /v1/responses` `gpt-6-luna`

[`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=gpt-6-luna&fmt=responses)

OpenAI /`gpt-6-luna`

Модель ID

- `gpt-6-luna`
- `openai/gpt-6-luna`
- `~openai/gpt-luna-latest`

### Бастау

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

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

Мәтін

Нәтижелер

Мәтін

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

**Ailoot Ultra · OpenAI Responses** `POST /v1/responses`

Кіріс

`text`

Шығыс

`text`

Шығыс пішімі

json or SSE

| Өріс | Түрі | Талап | Мәндер мен шектеулер | Әдепкі |
| --- | --- | --- | --- | --- |
| Өріс`model` | Түрі`string` | ТалапМіндетті | Мәндер мен шектеулер gpt-6-luna | Әдепкі— |
| Өріс`input` | Түрі`string\|input_item[]` | ТалапМіндетті | Мәндер мен шектеулер | Әдепкі— |
| Өріс`instructions` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер | Әдепкі— |
| Өріс`input[].type` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер message, reasoning, function\_call, function\_call\_output | Әдепкі— |
| Өріс`input[].content` | Түрі`string\|content_part[]` | ТалапМіндетті емес | Мәндер мен шектеулер | Әдепкі— |
| Өріс`input[].call_id` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер Мына жағдайда қолданылады: function\_call\_output; нақты қайтарылған call\_id мәнін сақтаңыз | Әдепкі— |
| Өріс`input[].output` | Түрі`string\|content_part[]` | ТалапМіндетті емес | Мәндер мен шектеулер Мына жағдайда қолданылады: function\_call\_output | Әдепкі— |
| Өріс`max_output_tokens` | Түрі`integer` | ТалапМіндетті емес | Мәндер мен шектеулер Ең азы: 1 Модельге байланысты | Әдепкі— |
| Өріс`stream` | Түрі`boolean` | ТалапМіндетті емес | Мәндер мен шектеулер | Әдепкіfalse |
| Өріс`temperature` | Түрі`number` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`top_p` | Түрі`number` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`tools` | Түрі`tool[]` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`tool_choice` | Түрі`string\|object` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`parallel_tool_calls` | Түрі`boolean` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`reasoning.effort` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`reasoning.summary` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`text.format` | Түрі`object` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`text.verbosity` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`include` | Түрі`string[]` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`store` | Түрі`boolean` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`previous_response_id` | Түрі`string` | ТалапҚолдау көрсетілмейді | Мәндер мен шектеулер ID талабы: Қолдау көрсетілетін жалғастырудан алынған нақты жауап ID-і ғана Шарттар: Әр сұрауда нақты сөйлесу тарихын қайта беріңіз. | Әдепкі— |
| Өріс`service_tier` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`prompt_cache_key` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`prompt_cache_options` | Түрі`object` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |

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

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

`input text or input_text part`

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

`{type:input_image,image_url}`

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

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

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

Модельдің дәл ID мәнін және міндетті өрістерді жіберіңіз.

Қайтарылған әрбір элементті және оның бастапқы идентификаторларын сақтаңыз.

### Тарифтер

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

Жылдам режим

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

Икемді режим

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

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

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

Ой қорыту деңгейі · high

Стандартты тариф Ой қорыту деңгейі high болғанда

Ой қорыту деңгейі · low

Стандартты тариф Ой қорыту деңгейі low болғанда

Ой қорыту деңгейі · max

Стандартты тариф Ой қорыту деңгейі max болғанда

Ой қорыту деңгейі · medium

Стандартты тариф Ой қорыту деңгейі medium болғанда

Ой қорыту деңгейі · none

Стандартты тариф Ой қорыту деңгейі none болғанда

Ой қорыту деңгейі · xhigh

Стандартты тариф Ой қорыту деңгейі xhigh болғанда

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

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

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

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

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

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

#### Ailoot Ultra · OpenAI Responses

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

```json
{
  "model": "gpt-6-luna",
  "input": [
    {
      "content": "Hello, how are you?",
      "role": "user",
      "type": "message"
    }
  ]
}
```

```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': 'gpt-6-luna', 'input': [{'content': 'Hello, how are you?', 'role': 'user', 'type': 'message'}]}
payload['input'][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/responses \
  -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

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': 'gpt-6-luna', 'input': [{'content': 'Hello, how are you?', 'role': 'user', 'type': 'message'}]}
payload['input'][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 = {'Authorization': 'Bearer PLACEHOLDER_KEY', 'Content-Type': 'application/json'}
headers['Authorization'] = 'Bearer ' + api_key
request = Request('https://api.ailoot.ai/v1/responses', 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 · OpenAI Responses

json or SSE

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

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

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

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

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

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

| Өріс | Түрі |
| --- | --- |
| Өріс`id` | Түріstring |
| Өріс`status` | Түріstring |
| Өріс`output[]` | Түріmessage\|reasoning\|function\_call\|other item |
| Өріс`output[].content[]` | Түріcontent part |
| Өріс`usage` | Түріobject |

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

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

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

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

<strong>Ailoot</strong> [`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Core&caller=gpt-6-luna&fmt=responses)
**Ailoot Ultra** [`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=gpt-6-luna&fmt=responses), [`openai/gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=openai%2Fgpt-6-luna&fmt=responses), [`~openai/gpt-luna-latest`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=~openai%2Fgpt-luna-latest&fmt=responses)

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

`/chat/completions`

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

[`openai/gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=openai%2Fgpt-6-luna&fmt=responses), [`~openai/gpt-luna-latest`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=~openai%2Fgpt-luna-latest&fmt=responses), [`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Core&caller=gpt-6-luna&fmt=responses), [`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=gpt-6-luna&fmt=responses)

**Ailoot Ultra · OpenAI чаты** `POST /v1/chat/completions` `openai/gpt-6-luna`

[`openai/gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=openai%2Fgpt-6-luna&fmt=chat)

OpenAI /`openai/gpt-6-luna`

Модель ID

- `gpt-6-luna`
- `openai/gpt-6-luna`
- `~openai/gpt-luna-latest`

### Бастау

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

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

Мәтін

Нәтижелер

Мәтін

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

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

Кіріс

`text`

Шығыс

`text`

Шығыс пішімі

json немесе SSE

| Өріс | Түрі | Талап | Мәндер мен шектеулер | Әдепкі |
| --- | --- | --- | --- | --- |
| Өріс`model` | Түрі`string` | ТалапМіндетті | Мәндер мен шектеулер openai/gpt-6-luna | Әдепкі— |
| Өріс`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 түзетуі қолданылғанда

Ой қорыту деңгейі · high

Стандартты тариф Ой қорыту деңгейі high болғанда

Ой қорыту деңгейі · low

Стандартты тариф Ой қорыту деңгейі low болғанда

Ой қорыту деңгейі · max

Стандартты тариф Ой қорыту деңгейі max болғанда

Ой қорыту деңгейі · medium

Стандартты тариф Ой қорыту деңгейі medium болғанда

Ой қорыту деңгейі · none

Стандартты тариф Ой қорыту деңгейі none болғанда

Ой қорыту деңгейі · xhigh

Стандартты тариф Ой қорыту деңгейі xhigh болғанда

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

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

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

| Баптау | Мөлшерлемелер кестесі | Контекст токендерінің саны мынадан көп | Контекст токендерінің саны мынадан аспайды, шегі кіреді | Төлем |
| --- | --- | --- | --- | --- |
| БаптауТокендердің базалық тарифтері | Мөлшерлемелер кестесіНегізгі мөлшерлеме | Контекст токендерінің саны мынадан көп— | Контекст токендерінің саны мынадан аспайды, шегі кіредіЖоғарғы шегі жоқ | Төлем Кіріс · Кіріс токендері **$0.0002** / 1K токен Шығыс · Шығыс токендері **$0.001** / 1K токен Кіріс · Кэшті оқу **$0.00002** / 1K токен Кіріс · Кэшке жазу **$0.00025** / 1K токен Кіріс · Кэшке жазу, 1 сағ **—** / 1K токен |
| БаптауСұрау ұзындығының 1-деңгейі | Мөлшерлемелер кестесі— | Контекст токендерінің саны мынадан көп0 | Контекст токендерінің саны мынадан аспайды, шегі кіреді272 000 | Төлем Кіріс · Кіріс токендері **$0.0002** / 1K токен Шығыс · Шығыс токендері **$0.001** / 1K токен Кіріс · Кэшті оқу **$0.00002** / 1K токен Кіріс · Кэшке жазу **$0.00025** / 1K токен Кіріс · Кэшке жазу, 1 сағ **—** / 1K токен |
| БаптауСұрау ұзындығының 2-деңгейі | Мөлшерлемелер кестесі— | Контекст токендерінің саны мынадан көп272 000 | Контекст токендерінің саны мынадан аспайды, шегі кіредіЖоғарғы шегі жоқ | Төлем Кіріс · Кіріс токендері **$0.0004** / 1K токен Шығыс · Шығыс токендері **$0.0015** / 1K токен Кіріс · Кэшті оқу **$0.00004** / 1K токен Кіріс · Кэшке жазу **$0.0005** / 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": "openai/gpt-6-luna", "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='openai/gpt-6-luna',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='openai/gpt-6-luna',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> [`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Core&caller=gpt-6-luna&fmt=chat)
**Ailoot Ultra** [`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=gpt-6-luna&fmt=chat), [`openai/gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=openai%2Fgpt-6-luna&fmt=chat), [`~openai/gpt-luna-latest`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=~openai%2Fgpt-luna-latest&fmt=chat)

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

`/chat/completions`

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

[`openai/gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=openai%2Fgpt-6-luna&fmt=chat), [`~openai/gpt-luna-latest`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=~openai%2Fgpt-luna-latest&fmt=chat), [`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Core&caller=gpt-6-luna&fmt=chat), [`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=gpt-6-luna&fmt=chat)

**Ailoot Ultra · Anthropic хабарламалары** `POST /v1/messages` `openai/gpt-6-luna`

[`openai/gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=openai%2Fgpt-6-luna&fmt=messages)

OpenAI /`openai/gpt-6-luna`

Модель ID

- `gpt-6-luna`
- `openai/gpt-6-luna`
- `~openai/gpt-luna-latest`

### Бастау

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

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

Мәтін

Нәтижелер

Мәтін

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

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

Кіріс

`text`

Шығыс

`text`

Шығыс пішімі

json немесе SSE

| Өріс | Түрі | Талап | Мәндер мен шектеулер | Әдепкі |
| --- | --- | --- | --- | --- |
| Өріс`model` | Түрі`string` | ТалапМіндетті | Мәндер мен шектеулер openai/gpt-6-luna | Әдепкі— |
| Өріс`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 |
| Параметр`required` | Параметр талаптарыmodel, messages, max\_tokens |
| Параметр`optional_controls` | Параметр талаптарыnull |
| Параметр`content_type` | Параметр талаптарыapplication/json |
| Параметр`text_file_material` | Параметр талаптарыНақты UTF-8 құжатын оқып, оның мәтінін көрсетілген кіріс жолына немесе хабарлама мазмұнының жолына қойыңыз. |

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

Модельдің дәл ID мәнін және міндетті өрістерді жіберіңіз.

Қайтарылған әрбір элементті және оның бастапқы идентификаторларын сақтаңыз.

### Тарифтер

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

Жылдам режим

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

Икемді режим

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

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

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

Ой қорыту деңгейі · high

Стандартты тариф Ой қорыту деңгейі high болғанда

Ой қорыту деңгейі · low

Стандартты тариф Ой қорыту деңгейі low болғанда

Ой қорыту деңгейі · max

Стандартты тариф Ой қорыту деңгейі max болғанда

Ой қорыту деңгейі · medium

Стандартты тариф Ой қорыту деңгейі medium болғанда

Ой қорыту деңгейі · none

Стандартты тариф Ой қорыту деңгейі none болғанда

Ой қорыту деңгейі · xhigh

Стандартты тариф Ой қорыту деңгейі xhigh болғанда

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

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

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

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

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

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

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

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

```json
{
  "model": "openai/gpt-6-luna",
  "max_tokens": 4096,
  "messages": [
    {
      "role": "user",
      "content": "Summarize the incident report."
    }
  ]
}
```

```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': 'openai/gpt-6-luna', 'max_tokens': 4096, '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': 'openai/gpt-6-luna', 'max_tokens': 4096, '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> [`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Core&caller=gpt-6-luna&fmt=messages)
**Ailoot Ultra** [`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=gpt-6-luna&fmt=messages), [`openai/gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=openai%2Fgpt-6-luna&fmt=messages), [`~openai/gpt-luna-latest`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=~openai%2Fgpt-luna-latest&fmt=messages)

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

`/chat/completions`

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

[`openai/gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=openai%2Fgpt-6-luna&fmt=messages), [`~openai/gpt-luna-latest`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=~openai%2Fgpt-luna-latest&fmt=messages), [`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Core&caller=gpt-6-luna&fmt=messages), [`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=gpt-6-luna&fmt=messages)

**Ailoot Ultra · OpenAI Responses** `POST /v1/responses` `openai/gpt-6-luna`

[`openai/gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=openai%2Fgpt-6-luna&fmt=responses)

OpenAI /`openai/gpt-6-luna`

Модель ID

- `gpt-6-luna`
- `openai/gpt-6-luna`
- `~openai/gpt-luna-latest`

### Бастау

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

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

Мәтін

Нәтижелер

Мәтін

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

**Ailoot Ultra · OpenAI Responses** `POST /v1/responses`

Кіріс

`text`

Шығыс

`text`

Шығыс пішімі

json немесе SSE

| Өріс | Түрі | Талап | Мәндер мен шектеулер | Әдепкі |
| --- | --- | --- | --- | --- |
| Өріс`model` | Түрі`string` | ТалапМіндетті | Мәндер мен шектеулер openai/gpt-6-luna | Әдепкі— |
| Өріс`input` | Түрі`string\|input_item[]` | ТалапМіндетті | Мәндер мен шектеулер | Әдепкі— |
| Өріс`instructions` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер | Әдепкі— |
| Өріс`input[].type` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер message, reasoning, function\_call, function\_call\_output | Әдепкі— |
| Өріс`input[].content` | Түрі`string\|content_part[]` | ТалапМіндетті емес | Мәндер мен шектеулер | Әдепкі— |
| Өріс`input[].call_id` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер Мына жағдайда қолданылады: function\_call\_output; нақты қайтарылған call\_id мәнін сақтаңыз | Әдепкі— |
| Өріс`input[].output` | Түрі`string\|content_part[]` | ТалапМіндетті емес | Мәндер мен шектеулер Мына жағдайда қолданылады: function\_call\_output | Әдепкі— |
| Өріс`max_output_tokens` | Түрі`integer` | ТалапМіндетті емес | Мәндер мен шектеулер Ең азы: 1 Модельге байланысты | Әдепкі— |
| Өріс`stream` | Түрі`boolean` | ТалапМіндетті емес | Мәндер мен шектеулер | Әдепкіfalse |
| Өріс`temperature` | Түрі`number` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`top_p` | Түрі`number` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`tools` | Түрі`tool[]` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`tool_choice` | Түрі`string\|object` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`parallel_tool_calls` | Түрі`boolean` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`reasoning.effort` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`reasoning.summary` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`text.format` | Түрі`object` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`text.verbosity` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`include` | Түрі`string[]` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`store` | Түрі`boolean` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`previous_response_id` | Түрі`string` | ТалапҚолдау көрсетілмейді | Мәндер мен шектеулер ID талабы: Қолдау көрсетілетін жалғастырудан алынған нақты жауап ID-і ғана Шарттар: Әр сұрауда нақты сөйлесу тарихын қайта беріңіз. | Әдепкі— |
| Өріс`service_tier` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`prompt_cache_key` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`prompt_cache_options` | Түрі`object` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |

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

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

`кіріс мәтіні немесе input_text бөлігі`

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

`{type:input_image,image_url}`

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

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

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

Модельдің дәл ID мәнін және міндетті өрістерді жіберіңіз.

Қайтарылған әрбір элементті және оның бастапқы идентификаторларын сақтаңыз.

### Тарифтер

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

Жылдам режим

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

Икемді режим

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

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

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

Ой қорыту деңгейі · high

Стандартты тариф Ой қорыту деңгейі high болғанда

Ой қорыту деңгейі · low

Стандартты тариф Ой қорыту деңгейі low болғанда

Ой қорыту деңгейі · max

Стандартты тариф Ой қорыту деңгейі max болғанда

Ой қорыту деңгейі · medium

Стандартты тариф Ой қорыту деңгейі medium болғанда

Ой қорыту деңгейі · none

Стандартты тариф Ой қорыту деңгейі none болғанда

Ой қорыту деңгейі · xhigh

Стандартты тариф Ой қорыту деңгейі xhigh болғанда

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

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

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

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

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

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

#### Ailoot Ultra · OpenAI Responses

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

```json
{
  "model": "openai/gpt-6-luna",
  "input": [
    {
      "content": "Hello, how are you?",
      "role": "user",
      "type": "message"
    }
  ]
}
```

```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': 'openai/gpt-6-luna', 'input': [{'content': 'Hello, how are you?', 'role': 'user', 'type': 'message'}]}
payload['input'][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/responses \
  -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

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': 'openai/gpt-6-luna', 'input': [{'content': 'Hello, how are you?', 'role': 'user', 'type': 'message'}]}
payload['input'][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 = {'Authorization': 'Bearer PLACEHOLDER_KEY', 'Content-Type': 'application/json'}
headers['Authorization'] = 'Bearer ' + api_key
request = Request('https://api.ailoot.ai/v1/responses', 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 · OpenAI Responses

json немесе SSE

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

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

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

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

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

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

| Өріс | Түрі |
| --- | --- |
| Өріс`id` | Түріstring |
| Өріс`status` | Түріstring |
| Өріс`output[]` | Түріmessage\|reasoning\|function\_call\|other item |
| Өріс`output[].content[]` | Түріcontent part |
| Өріс`usage` | Түріobject |

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

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

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

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

<strong>Ailoot</strong> [`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Core&caller=gpt-6-luna&fmt=responses)
**Ailoot Ultra** [`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=gpt-6-luna&fmt=responses), [`openai/gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=openai%2Fgpt-6-luna&fmt=responses), [`~openai/gpt-luna-latest`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=~openai%2Fgpt-luna-latest&fmt=responses)

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

`/chat/completions`

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

[`openai/gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=openai%2Fgpt-6-luna&fmt=responses), [`~openai/gpt-luna-latest`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=~openai%2Fgpt-luna-latest&fmt=responses), [`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Core&caller=gpt-6-luna&fmt=responses), [`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=gpt-6-luna&fmt=responses)

**Ailoot Ultra · OpenAI чаты** `POST /v1/chat/completions` `~openai/gpt-luna-latest`

[`~openai/gpt-luna-latest`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=~openai%2Fgpt-luna-latest&fmt=chat)

OpenAI /`~openai/gpt-luna-latest`

Модель ID

- `gpt-6-luna`
- `openai/gpt-6-luna`
- `~openai/gpt-luna-latest`

### Бастау

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

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

Мәтін

Нәтижелер

Мәтін

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

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

Кіріс

`text`

Шығыс

`text`

Шығыс пішімі

json немесе SSE

| Өріс | Түрі | Талап | Мәндер мен шектеулер | Әдепкі |
| --- | --- | --- | --- | --- |
| Өріс`model` | Түрі`string` | ТалапМіндетті | Мәндер мен шектеулер ~openai/gpt-luna-latest | Әдепкі— |
| Өріс`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 түзетуі қолданылғанда

Ой қорыту деңгейі · high

Стандартты тариф Ой қорыту деңгейі high болғанда

Ой қорыту деңгейі · low

Стандартты тариф Ой қорыту деңгейі low болғанда

Ой қорыту деңгейі · max

Стандартты тариф Ой қорыту деңгейі max болғанда

Ой қорыту деңгейі · medium

Стандартты тариф Ой қорыту деңгейі medium болғанда

Ой қорыту деңгейі · none

Стандартты тариф Ой қорыту деңгейі none болғанда

Ой қорыту деңгейі · xhigh

Стандартты тариф Ой қорыту деңгейі xhigh болғанда

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

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

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

| Баптау | Мөлшерлемелер кестесі | Контекст токендерінің саны мынадан көп | Контекст токендерінің саны мынадан аспайды, шегі кіреді | Төлем |
| --- | --- | --- | --- | --- |
| БаптауТокендердің базалық тарифтері | Мөлшерлемелер кестесіНегізгі мөлшерлеме | Контекст токендерінің саны мынадан көп— | Контекст токендерінің саны мынадан аспайды, шегі кіредіЖоғарғы шегі жоқ | Төлем Кіріс · Кіріс токендері **$0.0002** / 1K токен Шығыс · Шығыс токендері **$0.001** / 1K токен Кіріс · Кэшті оқу **$0.00002** / 1K токен Кіріс · Кэшке жазу **$0.00025** / 1K токен Кіріс · Кэшке жазу, 1 сағ **—** / 1K токен |
| БаптауСұрау ұзындығының 1-деңгейі | Мөлшерлемелер кестесі— | Контекст токендерінің саны мынадан көп0 | Контекст токендерінің саны мынадан аспайды, шегі кіреді272 000 | Төлем Кіріс · Кіріс токендері **$0.0002** / 1K токен Шығыс · Шығыс токендері **$0.001** / 1K токен Кіріс · Кэшті оқу **$0.00002** / 1K токен Кіріс · Кэшке жазу **$0.00025** / 1K токен Кіріс · Кэшке жазу, 1 сағ **—** / 1K токен |
| БаптауСұрау ұзындығының 2-деңгейі | Мөлшерлемелер кестесі— | Контекст токендерінің саны мынадан көп272 000 | Контекст токендерінің саны мынадан аспайды, шегі кіредіЖоғарғы шегі жоқ | Төлем Кіріс · Кіріс токендері **$0.0004** / 1K токен Шығыс · Шығыс токендері **$0.0015** / 1K токен Кіріс · Кэшті оқу **$0.00004** / 1K токен Кіріс · Кэшке жазу **$0.0005** / 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": "~openai/gpt-luna-latest", "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='~openai/gpt-luna-latest',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='~openai/gpt-luna-latest',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> [`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Core&caller=gpt-6-luna&fmt=chat)
**Ailoot Ultra** [`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=gpt-6-luna&fmt=chat), [`openai/gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=openai%2Fgpt-6-luna&fmt=chat), [`~openai/gpt-luna-latest`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=~openai%2Fgpt-luna-latest&fmt=chat)

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

`/chat/completions`

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

[`openai/gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=openai%2Fgpt-6-luna&fmt=chat), [`~openai/gpt-luna-latest`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=~openai%2Fgpt-luna-latest&fmt=chat), [`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Core&caller=gpt-6-luna&fmt=chat), [`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=gpt-6-luna&fmt=chat)

**Ailoot Ultra · Anthropic хабарламалары** `POST /v1/messages` `~openai/gpt-luna-latest`

[`~openai/gpt-luna-latest`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=~openai%2Fgpt-luna-latest&fmt=messages)

OpenAI /`~openai/gpt-luna-latest`

Модель ID

- `gpt-6-luna`
- `openai/gpt-6-luna`
- `~openai/gpt-luna-latest`

### Бастау

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

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

Мәтін

Нәтижелер

json · sse

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

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

Кіріс

`text`

Шығыс

`json`, `sse`

Шығыс пішімі

JSON немесе SSE

| Өріс | Түрі | Талап | Мәндер мен шектеулер | Әдепкі |
| --- | --- | --- | --- | --- |
| Өріс`model` | Түрі`string` | ТалапМіндетті | Мәндер мен шектеулер ~openai/gpt-luna-latest | Әдепкі— |
| Өріс`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 түзетуі қолданылғанда

Ой қорыту деңгейі · high

Стандартты тариф Ой қорыту деңгейі high болғанда

Ой қорыту деңгейі · low

Стандартты тариф Ой қорыту деңгейі low болғанда

Ой қорыту деңгейі · max

Стандартты тариф Ой қорыту деңгейі max болғанда

Ой қорыту деңгейі · medium

Стандартты тариф Ой қорыту деңгейі medium болғанда

Ой қорыту деңгейі · none

Стандартты тариф Ой қорыту деңгейі none болғанда

Ой қорыту деңгейі · xhigh

Стандартты тариф Ой қорыту деңгейі xhigh болғанда

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

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

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

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

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

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

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

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

```json
{
  "model": "~openai/gpt-luna-latest",
  "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': '~openai/gpt-luna-latest', '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': '~openai/gpt-luna-latest', '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> [`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Core&caller=gpt-6-luna&fmt=messages)
**Ailoot Ultra** [`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=gpt-6-luna&fmt=messages), [`openai/gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=openai%2Fgpt-6-luna&fmt=messages), [`~openai/gpt-luna-latest`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=~openai%2Fgpt-luna-latest&fmt=messages)

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

`/chat/completions`

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

[`openai/gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=openai%2Fgpt-6-luna&fmt=messages), [`~openai/gpt-luna-latest`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=~openai%2Fgpt-luna-latest&fmt=messages), [`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Core&caller=gpt-6-luna&fmt=messages), [`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=gpt-6-luna&fmt=messages)

**Ailoot Ultra · OpenAI Responses** `POST /v1/responses` `~openai/gpt-luna-latest`

[`~openai/gpt-luna-latest`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=~openai%2Fgpt-luna-latest&fmt=responses)

OpenAI /`~openai/gpt-luna-latest`

Модель ID

- `gpt-6-luna`
- `openai/gpt-6-luna`
- `~openai/gpt-luna-latest`

### Бастау

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

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

Мәтін

Нәтижелер

Мәтін

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

**Ailoot Ultra · OpenAI Responses** `POST /v1/responses`

Кіріс

`text`

Шығыс

`text`

Шығыс пішімі

json or SSE

| Өріс | Түрі | Талап | Мәндер мен шектеулер | Әдепкі |
| --- | --- | --- | --- | --- |
| Өріс`model` | Түрі`string` | ТалапМіндетті | Мәндер мен шектеулер ~openai/gpt-luna-latest | Әдепкі— |
| Өріс`input` | Түрі`string\|input_item[]` | ТалапМіндетті | Мәндер мен шектеулер | Әдепкі— |
| Өріс`instructions` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер | Әдепкі— |
| Өріс`input[].type` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер message, reasoning, function\_call, function\_call\_output | Әдепкі— |
| Өріс`input[].content` | Түрі`string\|content_part[]` | ТалапМіндетті емес | Мәндер мен шектеулер | Әдепкі— |
| Өріс`input[].call_id` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер Мына жағдайда қолданылады: function\_call\_output; нақты қайтарылған call\_id мәнін сақтаңыз | Әдепкі— |
| Өріс`input[].output` | Түрі`string\|content_part[]` | ТалапМіндетті емес | Мәндер мен шектеулер Мына жағдайда қолданылады: function\_call\_output | Әдепкі— |
| Өріс`max_output_tokens` | Түрі`integer` | ТалапМіндетті емес | Мәндер мен шектеулер Ең азы: 1 Модельге байланысты | Әдепкі— |
| Өріс`stream` | Түрі`boolean` | ТалапМіндетті емес | Мәндер мен шектеулер | Әдепкіfalse |
| Өріс`temperature` | Түрі`number` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`top_p` | Түрі`number` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`tools` | Түрі`tool[]` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`tool_choice` | Түрі`string\|object` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`parallel_tool_calls` | Түрі`boolean` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`reasoning.effort` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`reasoning.summary` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`text.format` | Түрі`object` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`text.verbosity` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`include` | Түрі`string[]` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`store` | Түрі`boolean` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`previous_response_id` | Түрі`string` | ТалапҚолдау көрсетілмейді | Мәндер мен шектеулер ID талабы: Қолдау көрсетілетін жалғастырудан алынған нақты жауап ID-і ғана Шарттар: Әр сұрауда нақты сөйлесу тарихын қайта беріңіз. | Әдепкі— |
| Өріс`service_tier` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`prompt_cache_key` | Түрі`string` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
| Өріс`prompt_cache_options` | Түрі`object` | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |

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

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

`input text or input_text part`

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

`{type:input_image,image_url}`

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

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

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

Модельдің дәл ID мәнін және міндетті өрістерді жіберіңіз.

Қайтарылған әрбір элементті және оның бастапқы идентификаторларын сақтаңыз.

### Тарифтер

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

Жылдам режим

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

Икемді режим

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

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

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

Ой қорыту деңгейі · high

Стандартты тариф Ой қорыту деңгейі high болғанда

Ой қорыту деңгейі · low

Стандартты тариф Ой қорыту деңгейі low болғанда

Ой қорыту деңгейі · max

Стандартты тариф Ой қорыту деңгейі max болғанда

Ой қорыту деңгейі · medium

Стандартты тариф Ой қорыту деңгейі medium болғанда

Ой қорыту деңгейі · none

Стандартты тариф Ой қорыту деңгейі none болғанда

Ой қорыту деңгейі · xhigh

Стандартты тариф Ой қорыту деңгейі xhigh болғанда

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

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

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

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

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

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

#### Ailoot Ultra · OpenAI Responses

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

```json
{
  "model": "~openai/gpt-luna-latest",
  "input": [
    {
      "content": "Hello, how are you?",
      "role": "user",
      "type": "message"
    }
  ]
}
```

```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': '~openai/gpt-luna-latest', 'input': [{'content': 'Hello, how are you?', 'role': 'user', 'type': 'message'}]}
payload['input'][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/responses \
  -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

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': '~openai/gpt-luna-latest', 'input': [{'content': 'Hello, how are you?', 'role': 'user', 'type': 'message'}]}
payload['input'][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 = {'Authorization': 'Bearer PLACEHOLDER_KEY', 'Content-Type': 'application/json'}
headers['Authorization'] = 'Bearer ' + api_key
request = Request('https://api.ailoot.ai/v1/responses', 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 · OpenAI Responses

json or SSE

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

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

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

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

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

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

| Өріс | Түрі |
| --- | --- |
| Өріс`id` | Түріstring |
| Өріс`status` | Түріstring |
| Өріс`output[]` | Түріmessage\|reasoning\|function\_call\|other item |
| Өріс`output[].content[]` | Түріcontent part |
| Өріс`usage` | Түріobject |

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

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

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

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

<strong>Ailoot</strong> [`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Core&caller=gpt-6-luna&fmt=responses)
**Ailoot Ultra** [`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=gpt-6-luna&fmt=responses), [`openai/gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=openai%2Fgpt-6-luna&fmt=responses), [`~openai/gpt-luna-latest`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=~openai%2Fgpt-luna-latest&fmt=responses)

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

`/chat/completions`

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

[`openai/gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=openai%2Fgpt-6-luna&fmt=responses), [`~openai/gpt-luna-latest`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=~openai%2Fgpt-luna-latest&fmt=responses), [`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Core&caller=gpt-6-luna&fmt=responses), [`gpt-6-luna`](https://ailoot.ai/models/kk/#m=openai%2Fgpt-6-luna&route=Ultra&caller=gpt-6-luna&fmt=responses)

FAQ · OpenAI: GPT-6 Luna

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

`POST /v1/messages` · `gpt-6-luna`: `text`, `image` → `text` `POST /v1/responses` · `gpt-6-luna`: `text`, `image` → `text` `POST /v1/chat/completions` · `gpt-6-luna`: `text`, `image` → `text` `POST /v1/chat/completions` · `gpt-6-luna`: `text` → `text` `POST /v1/messages` · `gpt-6-luna`: `text` → `json`, `sse` `POST /v1/responses` · `gpt-6-luna`: `text` → `text` `POST /v1/chat/completions` · `openai/gpt-6-luna`: `text` → `text` `POST /v1/messages` · `openai/gpt-6-luna`: `text` → `text` `POST /v1/responses` · `openai/gpt-6-luna`: `text` → `text` `POST /v1/chat/completions` · `~openai/gpt-luna-latest`: `text` → `text` `POST /v1/messages` · `~openai/gpt-luna-latest`: `text` → `json`, `sse` `POST /v1/responses` · `~openai/gpt-luna-latest`: `text` → `text`

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

`POST /v1/messages` · `gpt-6-luna`: `model`, `messages`, `system`, `max_tokens`, `stream`, `metadata` `POST /v1/responses` · `gpt-6-luna`: `model`, `input`, `instructions`, `stream` `POST /v1/chat/completions` · `gpt-6-luna`: `model`, `messages`, `stream` `POST /v1/chat/completions` · `gpt-6-luna`: `model`, `messages`, `stream` `POST /v1/messages` · `gpt-6-luna`: `model`, `messages`, `max_tokens`, `stream` `POST /v1/responses` · `gpt-6-luna`: `model`, `input`, `instructions`, `stream` `POST /v1/chat/completions` · `openai/gpt-6-luna`: `model`, `messages`, `stream`, `modalities`, `provider` `POST /v1/messages` · `openai/gpt-6-luna`: `model`, `messages`, `system`, `max_tokens`, `stream`, `metadata` `POST /v1/responses` · `openai/gpt-6-luna`: `model`, `input`, `instructions`, `stream` `POST /v1/chat/completions` · `~openai/gpt-luna-latest`: `model`, `messages`, `stream`, `modalities`, `provider` `POST /v1/messages` · `~openai/gpt-luna-latest`: `model`, `messages`, `max_tokens`, `stream` `POST /v1/responses` · `~openai/gpt-luna-latest`: `model`, `input`, `instructions`, `stream`

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

`POST /v1/messages` · `gpt-6-luna`: `ctx`: `1050000`; `max_out`: `128000`; `messages.min_items`: `1`; `max_tokens.minimum`: `1` `POST /v1/responses` · `gpt-6-luna`: `ctx`: `1050000`; `max_out`: `128000` `POST /v1/chat/completions` · `gpt-6-luna`: `ctx`: `1050000`; `max_out`: `128000`; `messages.min_items`: `1` `POST /v1/chat/completions` · `gpt-6-luna`: `messages.min_items`: `1` `POST /v1/chat/completions` · `openai/gpt-6-luna`: `messages.min_items`: `1` `POST /v1/messages` · `openai/gpt-6-luna`: `messages.min_items`: `1`; `max_tokens.minimum`: `1` `POST /v1/chat/completions` · `~openai/gpt-luna-latest`: `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 арқылы қол жеткізуді қамтамасыз етуге пайдаланады.
