Справочник API
Chat Completions
Диалоговые запросы к моделям
POST
/v1/chat/completionsОсновной маршрут для чатов, помощников, генерации текста, классификации и извлечения данных.
Пример запроса
curl {{PUBLIC_API_BASE_URL}}/chat/completions \
-H "Authorization: Bearer gw_live_..." \
-H "Content-Type: application/json" \
-d '{
"model": "provider/model-name",
"messages": [
{"role": "system", "content": "Отвечай кратко."},
{"role": "user", "content": "Составь список из трёх идей."}
],
"temperature": 0.7
}'Потоковый ответ
Если модель поддерживает потоковую передачу, передайте stream: true.
{
"model": "provider/model-name",
"stream": true,
"messages": [
{"role": "user", "content": "Напиши короткий план."}
]
}Потоковый режим удобен для интерфейсов, где ответ нужно показывать сразу, не дожидаясь полной генерации.
Советы
- Держите системную инструкцию короткой и стабильной.
- Не отправляйте секреты, которые не нужны модели.
- Для разных приложений используйте разные ключи API.
Параметры тела запроса
| Поле | Обязательность | Описание |
|---|---|---|
model | Да | Публичное имя модели из GET /v1/models. |
messages | Да | История сообщений. |
messages[].role | Да | Роль: system, user, assistant или другая роль, которую поддерживает модель. |
messages[].content | Да | Текст или структурированный контент сообщения. |
temperature | Нет | Насколько свободным будет ответ. |
max_tokens | Нет | Максимум выходных токенов. |
stream | Нет | true, если нужен потоковый ответ. |
tools | Нет | Инструменты, если модель и клиент поддерживают tool calling. |
tool_choice | Нет | Правило выбора инструмента. |
Поля ответа
| Поле | Обязательность | Описание |
|---|---|---|
id | Да | Идентификатор ответа. |
object | Да | Тип объекта. |
created | Нет | Время создания. |
model | Да | Модель, вернувшая ответ. |
choices | Да | Варианты ответа. |
choices[].message | Да | Сообщение ассистента. |
choices[].finish_reason | Нет | Почему генерация завершилась. |
usage | Нет | Токены запроса и ответа. |
Пример ответа
{
"id": "chatcmpl_example",
"object": "chat.completion",
"model": "provider/model-name",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Вот три идеи: короткий тур, чек-лист первого запуска и письмо с полезными ссылками."
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 32,
"completion_tokens": 24,
"total_tokens": 56
}
}