Создать чат-завершение
post/v1/chat/completions
Создаёт ответ модели на основе истории диалога. Поддерживаются как потоковые, так и непотоковые ответы.
Совместимо с OpenAI Chat Completions API.
Аутентификация
Передавайте ключ API OLETOKEN как Bearer-токен. Ключи создаются на странице «Ключи API» в консоли.
Authorization: Bearer $OLETOKEN_API_KEYТело запроса
Content-Type:application/json
| Поле | Тип | Обязательный | Описание |
|---|---|---|---|
| model | string | ID модели | |
| messages | Message[] | Сообщения диалога | |
| role | stringsystemuserassistanttooldeveloper | Роль сообщения | |
| content | string | MessageContent[] | Содержимое сообщения | |
| type | stringtextimage_urlinput_audiofilevideo_url | — | — |
| text | string | — | — |
| image_url | object | — | — |
| url | string | — | URL изображения или данные base64 |
| detail | stringlowhighauto | — | — |
| input_audio | object | — | — |
| data | string | — | Аудиоданные в кодировке Base64 |
| format | stringwavmp3 | — | — |
| file | object | — | — |
| filename | string | — | — |
| file_data | string | — | — |
| file_id | string | — | — |
| video_url | object | — | — |
| url | string | — | — |
| name | string | — | Имя отправителя |
| tool_calls | ToolCall[] | — | — |
| id | string | — | — |
| type | string | — | — |
| function | object | — | — |
| name | string | — | — |
| arguments | string | — | — |
| tool_call_id | string | — | ID вызова инструмента (для сообщений с ролью tool) |
| reasoning_content | string | — | Содержимое рассуждений |
| temperature | number0–2default: 1 | — | Температура сэмплирования |
| top_p | number0–1default: 1 | — | Параметр nucleus sampling |
| n | integer≥ 1default: 1 | — | Количество генерируемых завершений |
| stream | booleandefault: false | — | Передавать ли ответ потоково |
| stream_options | object | — | — |
| include_usage | boolean | — | — |
| stop | string | string[] | — | Стоп-последовательности |
| max_tokens | integer | — | Максимальное количество генерируемых токенов |
| max_completion_tokens | integer | — | Максимальное количество токенов завершения |
| presence_penalty | number-2–2default: 0 | — | — |
| frequency_penalty | number-2–2default: 0 | — | — |
| logit_bias | object | — | — |
| user | string | — | — |
| tools | Tool[] | — | — |
| type | string | — | — |
| function | object | — | — |
| name | string | — | — |
| description | string | — | — |
| parameters | object | — | Определения параметров в формате JSON Schema |
| tool_choice | string | objectnoneautorequired | — | — |
| type | string | — | — |
| function | object | — | — |
| name | string | — | — |
| response_format | ResponseFormat | — | — |
| type | stringtextjson_objectjson_schema | — | — |
| json_schema | object | — | Определение JSON Schema |
| seed | integer | — | — |
| reasoning_effort | stringlowmediumhigh | — | Уровень рассуждений (для моделей, поддерживающих рассуждения) |
| modalities | string[] | — | — |
| audio | object | — | — |
| voice | string | — | — |
| format | string | — | — |
Ответы
200Ответ создан
| Поле | Тип | Обязательный | Описание |
|---|---|---|---|
| id | string | — | — |
| object | string | — | — |
| created | integer | — | — |
| model | string | — | — |
| choices | object[] | — | — |
| index | integer | — | — |
| message | Message | — | — |
| role | stringsystemuserassistanttooldeveloper | Роль сообщения | |
| content | string | MessageContent[] | Содержимое сообщения | |
| type | stringtextimage_urlinput_audiofilevideo_url | — | — |
| text | string | — | — |
| image_url | object | — | — |
| url | string | — | URL изображения или данные base64 |
| detail | stringlowhighauto | — | — |
| input_audio | object | — | — |
| data | string | — | Аудиоданные в кодировке Base64 |
| format | stringwavmp3 | — | — |
| file | object | — | — |
| filename | string | — | — |
| file_data | string | — | — |
| file_id | string | — | — |
| video_url | object | — | — |
| url | string | — | — |
| name | string | — | Имя отправителя |
| tool_calls | ToolCall[] | — | — |
| id | string | — | — |
| type | string | — | — |
| function | object | — | — |
| name | string | — | — |
| arguments | string | — | — |
| tool_call_id | string | — | ID вызова инструмента (для сообщений с ролью tool) |
| reasoning_content | string | — | Содержимое рассуждений |
| finish_reason | stringstoplengthtool_callscontent_filter | — | — |
| usage | Usage | — | — |
| prompt_tokens | integer | — | Количество токенов запроса |
| completion_tokens | integer | — | Количество токенов завершения |
| total_tokens | integer | — | Общее количество токенов |
| prompt_tokens_details | object | — | — |
| cached_tokens | integer | — | — |
| text_tokens | integer | — | — |
| audio_tokens | integer | — | — |
| image_tokens | integer | — | — |
| completion_tokens_details | object | — | — |
| text_tokens | integer | — | — |
| audio_tokens | integer | — | — |
| reasoning_tokens | integer | — | — |
| system_fingerprint | string | — | — |
400Недопустимые параметры запроса
| Поле | Тип | Обязательный | Описание |
|---|---|---|---|
| error | object | — | — |
| message | string | — | Сообщение об ошибке |
| type | string | — | Тип ошибки |
| param | string | null | — | Затронутый параметр |
| code | string | null | — | Код ошибки |
429Превышен лимит запросов
| Поле | Тип | Обязательный | Описание |
|---|---|---|---|
| error | object | — | — |
| message | string | — | Сообщение об ошибке |
| type | string | — | Тип ошибки |
| param | string | null | — | Затронутый параметр |
| code | string | null | — | Код ошибки |
Пример запроса
curl -X POST 'https://api.oletoken.ai/v1/chat/completions' \
-H "Authorization: Bearer $OLETOKEN_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model": "gpt-4",
"messages": []
}'
