Responses — второй формат запросов OpenAI, кроме chat/completions. Он принимается на эндпоинте /v1/responses, с тем же адресом и тем же ключом.
Отличается структура запроса и ответа, набор доступных моделей тот же.
/v1/chat/completions | /v1/responses | |
|---|---|---|
| Текст запроса | массив messages | поле input |
| Инструкция модели | сообщение с ролью system | поле instructions |
| Текст ответа | choices[0].message.content | массив output |
| Ограничение длины ответа | max_completion_tokens | max_output_tokens |
Поле input принимает либо строку, либо массив сообщений — как messages в chat/completions.
curl "https://api.proxyapi.ru/v1/responses" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer <КЛЮЧ>" \ -d '{ "model": "openai/gpt-5-mini", "instructions": "Отвечай коротко.", "input": "Назови столицу Австралии." }'
Ответ приходит массивом output: в нём элемент с ролью assistant, внутри которого лежит текст.
{ "output": [ { "type": "message", "role": "assistant", "content": [ { "type": "output_text", "text": "Канберра." } ] } ] }
В официальных библиотеках разбирать массив вручную не нужно — готовый текст лежит в output_text.
Рядом приходит объект usage с числом токенов: input_tokens, output_tokens и total_tokens.
Те же, что и на chat/completions — любая текстовая модель каталога, а не только модели OpenAI.
- Единый API — базовый формат запроса и ответа.
- Модели — как устроены идентификаторы и что доступно.
Частые вопросы
Что выбрать — chat/completions или responses?
Если код пишется с нуля, проще chat/completions: этот формат понимают почти все сторонние библиотеки и инструменты. Responses нужен, когда код уже написан под него или когда используются возможности, доступные только в этом формате.
Как получить текст ответа?
В официальных библиотеках готовый текст лежит в поле output_text. Без библиотеки его нужно взять из первого текстового элемента массива output.
Нужно ли передавать переписку целиком?
Да. Модель не помнит предыдущие обращения, поэтому историю диалога нужно передавать в поле input при каждом запросе.
Последняя редакция: 2 сентября 2026 г.