Chat Completions
Создание ответа модели по истории сообщений
Создаёт ответ на основе массива сообщений
POST https://api.getapi.ru/v1/chat/completions
Заголовки
| Заголовок | Значение |
|---|---|
Authorization | Bearer <GETAPI_API_KEY> |
Content-Type | application/json |
Параметры запроса
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
model | string | Да | Идентификатор из каталога |
messages | array | Да | История сообщений в порядке диалога |
max_tokens | integer | Нет | Запрашиваемый предел выходных токенов, включая рассуждения |
max_completion_tokens | integer | Нет | Альтернативное имя лимита для совместимых моделей |
stream | boolean | Нет | Включает поток SSE |
stream_options.include_usage | boolean | Нет | Запрашивает счётчики в потоке |
temperature, top_p | number | Нет | Параметры генерации, диапазон и поддержка зависят от модели |
stop | string или string[] | Нет | Стоп-последовательности |
n | integer | Нет | Число вариантов, часть моделей возвращает один |
tools | array | Нет | Описания доступных функций |
tool_choice | string или object | Нет | Правило выбора инструмента |
response_format | object | Нет | JSON-режим или JSON Schema |
reasoning, reasoning_effort | object, string | Нет | Настройки рассуждений, зависят от модели |
seed | integer | Нет | Начальное значение генерации, не гарантия идентичного текста |
logprobs, top_logprobs | boolean, integer | Нет | Вероятности токенов для моделей с этой возможностью |
Передавайте один параметр лимита вывода
Значение 0 не используйте как способ запретить генерацию
Лимит токенов не заменяет контроль расходов, см. рассуждения
Объект сообщения
| Поле | Тип | Описание |
|---|---|---|
role | string | system, user, assistant, tool; роль developer зависит от модели |
content | string, array или null | Текст или блоки содержимого |
tool_calls | array | Вызовы функций в сообщении assistant |
tool_call_id | string | Идентификатор вызова для сообщения tool |
Для истории передавайте предыдущие сообщения вместе с новым вопросом
Изображения задаются блоками image_url, см. изображения
Пример запроса
curl https://api.getapi.ru/v1/chat/completions \
-H "Authorization: Bearer $GETAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4.1-mini",
"messages": [
{"role": "system", "content": "Отвечай кратко"},
{"role": "user", "content": "Что такое API?"}
],
"max_tokens": 128
}'Пример ответа
{
"id": "chatcmpl-example",
"object": "chat.completion",
"created": 1789673637,
"model": "gpt-4.1-mini-2025-04-14",
"choices": [
{
"index": 0,
"message": {"role": "assistant", "content": "API позволяет приложениям обмениваться данными"},
"finish_reason": "stop"
}
],
"usage": {"prompt_tokens": 20, "completion_tokens": 12, "total_tokens": 32}
}Поля ответа
| Поле | Тип | Описание |
|---|---|---|
id | string | Идентификатор ответа |
object | string | chat.completion |
created | integer | Время создания в Unix-секундах |
model | string | Имя или версия модели в ответе |
choices | array | Варианты результата |
choices[].index | integer | Индекс варианта |
choices[].message | object | Сообщение модели |
choices[].finish_reason | string или null | Причина завершения |
usage | object | Расход входных, выходных и всех токенов |
Имя модели в ответе может отличаться от идентификатора запроса
Поля refusal, annotations, logprobs, reasoning и reasoning_content зависят от модели и могут отсутствовать
Завершение генерации
| Значение | Значение для клиента |
|---|---|
stop | Генерация завершена |
length | Исчерпан лимит вывода |
tool_calls | Требуется обработать вызовы инструментов |
Наличие вызова определяйте по message.tool_calls, а не только по finish_reason
Пустой content допустим при вызове инструмента или исчерпании бюджета рассуждений
Ошибки
Без messages или model сервис возвращает 400
Неверный ключ вызывает 401, несовместимый класс модели может вызвать 403
Для 503 с model_not_found исправьте идентификатор по каталогу