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.
| Параметр | Тип | Описание |
|---|---|---|
input | string | array | Основной ввод. Текст или массив элементов |
model | string | Слаг модели |
instructions | string | Системная инструкция |
max_output_tokens | number | Лимит генерации |
temperature | number | 0–2 |
top_p | number | Nucleus sampling |
frequency_penalty | number | −2…2 |
presence_penalty | number | −2…2 |
tools | array | Инструменты в формате {type, name, description, parameters} |
tool_choice | string | object | Управление выбором инструмента |
previous_response_id | string | Связывание с предыдущим ответом |
reasoning | object | Настройка reasoning |
session_id | string | Группировка запросов |
metadata | object | Метаданные |
provider | object | Предпочтения роутинга |
plugins | array | Дополнительные плагины |
user | string | Идентификатор конечного пользователя |
stream | boolean | Принимается, но не действует |
Пример запроса
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 | Проблема с ключом |
| 429 | Rate limit |
| 502 | Ошибка провайдера |