POST/v1/chat/completions

Требуемое право: text. Неизвестные поля и неподдерживаемые формы отклоняются до резервирования. Совместимость ограничена этой схемой. stream:true требует TEXT_STREAM. Поток заканчивается [DONE]; SSE содержит финальный usage/billing или ошибку. Разрыв потока не отменяет платную обработку.

Авторизация

Authorizationstringобязательный

Ключ API в заголовке Authorization: Bearer <ключ>. Ключ создаётся в кабинете, подробнее — в разделе Аутентификация.

Заголовки

Idempotency-Keystringобязательныйдлина 1–200

Один стабильный ключ на логический запрос. Повторяйте с тем же телом и тем же credential/endpoint. Новый ключ создаёт новый запрос.

Тело запроса

application/json · обязательное

Имена функций уникальны. tool_choice с именем должен ссылаться на объявленную функцию. content:null у assistant допустим только вместе с tool_calls. Изображения, top_p, json_schema, hosted tools и неизвестные поля отклоняются до admission.

modelstringобязательныйдлина 1–200
messagesobject[]обязательныйэлементов 1–1000
Вложенные поля
Один из вариантов
role: "system" | "user"
rolestringобязательный
Значения: "system" "user"
contentstringобязательный
namestringдлина 1–256
role: "assistant"
role"assistant"обязательный
contentstring | nullобязательный
namestringдлина 1–256
tool_callsobject[]элементов 1–128
Вложенные поля
idstringобязательныйдлина 1–512
type"function"обязательный
functionobjectобязательный
Вложенные поля
namestringобязательныйшаблон ^[a-zA-Z0-9_-]{1,64}$
argumentsstringобязательныйдлина 0–100000
role: "tool"
role"tool"обязательный
contentstringобязательный
tool_call_idstringобязательныйдлина 1–512
namestringдлина 1–256
max_tokensintegerпо умолчанию 2048 · 1 … 32768
temperaturenumber0 … 2
streambooleanпо умолчанию false
toolsobject[]элементов 1–128
Вложенные поля
type"function"обязательный
functionobjectобязательный
Вложенные поля
namestringобязательныйшаблон ^[a-zA-Z0-9_-]{1,64}$
parametersobjectобязательный

Ограниченная JSON Schema: корневой type object; типы object/array/string/number/integer/boolean/null. Ключи type, description (до 2000), properties (до 100), required, additionalProperties (boolean), items, enum (до 100 примитивов). Глубина до 6. $ref, внешние ресурсы, pattern, combinators не поддерживаются. Required ссылается только на объявленные свойства.

Вложенные поля
type"object"обязательный
descriptionstringдлина 0–2000
tool_choicestring | object
Вложенные поля
Один из вариантов
type: "function"
type"function"обязательный
functionobjectобязательный
Вложенные поля
namestringобязательный
response_formatobject
Вложенные поля
typestringобязательный
Значения: "text" "json_object"

Ответы

200Успешный ответ

application/json

idstringобязательный
object"chat.completion"обязательный
modelstringобязательный
choicesobject[]обязательный
Вложенные поля
indexintegerобязательный0 … 9007199254740991
messageobjectобязательный
Вложенные поля
role"assistant"обязательный
contentstring | null
tool_callsobject[]
Вложенные поля
idstringобязательныйдлина 1–512
type"function"обязательный
functionobjectобязательный
Вложенные поля
namestringобязательныйшаблон ^[a-zA-Z0-9_-]{1,64}$
argumentsstringобязательныйдлина 0–100000
finish_reasonstring | nullобязательный
usageobjectобязательный
Вложенные поля
prompt_tokensinteger0 … 9007199254740991
completion_tokensinteger0 … 9007199254740991
total_tokensinteger0 … 9007199254740991
cached_tokensinteger0 … 9007199254740991
cost_microrubinteger0 … 9007199254740991
createdinteger0 … 9007199254740991
billingobject
Вложенные поля
statusstring
estimated_cost_microrubinteger0 … 9007199254740991
cost_microrubinteger | null
replayboolean

text/event-stream

202Исход уточняется; резерв сохраняется

application/json

Обработка или сверка ещё не завершена. Сохраняйте исходный Idempotency-Key и тело. Резерв удерживается. Не создавайте новый запрос взамен этого.

Тип: object

ОшибкаОшибка проверки, прав, лимита или доступности. Код error.code; результат запроса при неизвестном исходе не следует считать отменённым.

application/json

errorobjectобязательный
Вложенные поля
codestringобязательный
messagestringобязательный
request_idstring
typestring