Skip to main content
Для текста доступны два протокола OpenAI. Используйте модели с kind: text из GET /v1/models.

Chat Completions

Каждое поле протокола передаётся модели как есть — tools, tool_choice, response_format, logprobs, seed, stop и остальные. Учитывает ли модель поле, решает сама модель.
string
обязательно
id модели, например deepseek/deepseek-v4-flash.
object[]
обязательно
История диалога. role: system, developer, user, assistant или tool. content: текст или массив частей (text, image_url, …).
integer
Лимит выходных токенов, включая рассуждения.
boolean
по умолчанию:"false"
number
От 0 до 2.
string
minimal, low, medium или high.
object[]
string | object
none, auto, required или выбор конкретного инструмента.
Ответ — стандартный объект chat.completion с choices (message, finish_reason: stop, length, tool_calls, content_filter) и usage. completion_tokens включает скрытые токены рассуждений.
Вызов инструментов

Responses

Для кода, написанного под client.responses.create. Обязательные поля — model и input (строка или массив сообщений); также instructions, max_output_tokens, temperature, tools, stream.
Ответы не сохраняются. previous_response_id и получение ответа позже не поддерживаются — передавайте всю историю в input.

Потоковый вывод

Передайте "stream": true, чтобы получать ответ через Server-Sent Events. Поток заканчивается data: [DONE].
  • Chat Completions — stream_options.include_usage включён всегда, последний чанк содержит usage.
  • Responses — события response.output_text.delta, …, response.completed; usage — в response.completed.
Используйте поток для длинных ответов. Длинный ответ без потока может быть отклонён с streaming_required.
Уже начавшийся поток не переключается на другой бэкенд. При сбое посреди ответа поток завершится чанком data: {"error": {…}} и затем data: [DONE] — считайте полученное неполным ответом.