к тексту
api

документация api

формат openai responses

эндпоинт /v1/responses: input, instructions, output и max_output_tokens.

последняя редакция: 18 сентября 2026

responses — второй формат запросов openai, кроме chat/completions. он принимается на эндпоинте /v1/responses, с тем же адресом и тем же ключом.

чем отличается от chat/completions

отличается структура запроса и ответа, набор доступных моделей тот же.

/v1/chat/completions/v1/responses
текст запросамассив messagesполе input
инструкция моделисообщение с ролью systemполе instructions
текст ответаchoices[0].message.contentмассив output
ограничение длины ответаmax_tokens / max_completion_tokensmax_output_tokens

запрос

поле input принимает либо строку, либо массив сообщений — как messages в chat/completions.

curl "https://api.airakurs.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 при каждом запросе.

поддержка airakurs.official@gmail.com
© airakurs

20 статей. поддержка airakurs.official@gmail.com