AgentAPI

Responses (OpenAI Responses API)

POST https://api.agentapi.ru/v1/ai/responses

Формат OpenAI Responses API: вместо массива messages передаётся input, а системная инструкция — отдельным полем instructions.

Стриминг не поддерживается. Параметр stream принимается, но игнорируется — ответ всегда приходит целиком. Если нужен поток, используйте Chat Completions или Messages.

Параметры

Здесь параметры в snake_case — как в оригинальном API.

ПараметрТипОписание
inputstring | arrayОсновной ввод. Текст или массив элементов
modelstringСлаг модели
instructionsstringСистемная инструкция
max_output_tokensnumberЛимит генерации
temperaturenumber0–2
top_pnumberNucleus sampling
frequency_penaltynumber−2…2
presence_penaltynumber−2…2
toolsarrayИнструменты в формате {type, name, description, parameters}
tool_choicestring | objectУправление выбором инструмента
previous_response_idstringСвязывание с предыдущим ответом
reasoningobjectНастройка reasoning
session_idstringГруппировка запросов
metadataobjectМетаданные
providerobjectПредпочтения роутинга
pluginsarrayДополнительные плагины
userstringИдентификатор конечного пользователя
streambooleanПринимается, но не действует

Пример запроса

curl https://api.agentapi.ru/v1/ai/responses \
  -H "x-api-key: agentapi-ВАШ_КЛЮЧ" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-4.1",
    "instructions": "Ты лаконичный ассистент.",
    "input": "Перечисли три принципа SOLID",
    "max_output_tokens": 200
  }'

Ответ

{
  "id": "resp_6a2f9c14",
  "object": "response",
  "created_at": 1753601180,
  "model": "openai/gpt-4.1",
  "status": "completed",
  "output": [
    {
      "type": "message",
      "role": "assistant",
      "content": [
        {
          "type": "output_text",
          "text": "1. Single Responsibility — у класса одна причина для изменения.\n2. Open/Closed — открыт для расширения, закрыт для модификации.\n3. Liskov Substitution — подтип заменяет базовый тип без нарушения контракта."
        }
      ]
    }
  ],
  "usage": {
    "input_tokens": 19,
    "output_tokens": 74,
    "total_tokens": 93
  }
}

Текст лежит в output[0].content[0].text — глубже, чем в Chat Completions. Терминология токенов — input_tokens / output_tokens.

Инструменты

В отличие от Chat Completions, описание инструмента здесь плоское — без вложенного объекта function:

{
  "model": "openai/gpt-4.1",
  "input": "Погода в Иркутске?",
  "tools": [
    {
      "type": "function",
      "name": "get_weather",
      "description": "Текущая погода в городе",
      "parameters": {
        "type": "object",
        "properties": {"city": {"type": "string"}},
        "required": ["city"]
      }
    }
  ]
}

Коды ошибок

КодПричина
400Невалидные параметры или нулевой баланс
401Проблема с ключом
429Rate limit
502Ошибка провайдера