POST /v1/responses (BETA)
OpenAI Responses API endpoint. Schema нестабильна, использовать с осторожностью.
POST /v1/responses
BETA. Структура входа и выхода может измениться без major-bump-а API. В продакшене используйте только если знаете что делаете и готовы к адаптации.
/v1/responses — это альтернативный stateless-эндпоинт OpenAI Responses API. Подходит для моделей, у которых появляются новые типы output-блоков (например, reasoning у o-серии или multimodal-выход), и для абстракций, где нужен более гибкий контейнер ответа чем chat.completion.
Когда использовать
Чаще всего вам нужен /v1/chat/completions — он совместим с большинством OpenAI-инструментов. /v1/responses стоит выбрать только если:
- Вы хотите использовать reasoning-модели (o1, o3, Claude Thinking) с явным контролем reasoning-блоков.
- Вы строите agent-фреймворк, которому нужен унифицированный контейнер для разных типов output.
- Конкретный провайдер требует именно этот формат.
В остальных случаях используйте POST /v1/chat/completions.
Минимальный запрос
curl -s https://api.hubris.pw/v1/responses \
-H "Authorization: Bearer sk-gw-..." \
-H "Content-Type: application/json" \
-d '{
"model": "openai/gpt-4o-mini",
"input": "Привет, как дела?"
}'
input может быть строкой или массивом блоков — передаваемый формат зависит от модели.
Ответ
Вернётся объект с типом response:
{
"id": "resp_abc123",
"object": "response",
"created_at": 1714000000,
"model": "openai/gpt-4o-mini",
"output": [...],
"usage": {
"input_tokens": 8,
"output_tokens": 12,
"total_tokens": 20
},
"status": "completed"
}
Точная структура output зависит от модели и версии — может содержать text, reasoning, tool_call и другие блоки. Hubris проксирует ответ как есть от провайдера, без нормализации.
Стриминг
Поддерживается через stream: true. Финальный chunk содержит событие response.completed с полным объектом response и usage. Hubris списывает стоимость из этого финального события (или fallback на оценку, если событие не пришло).
Биллинг
Стоимость считается так же, как для /v1/chat/completions: входные + выходные токены × цены модели в ₽. Reasoning-токены (если модель их использует) учитываются в output_tokens и тарифицируются как обычные completion-токены.
Что дальше
- POST /v1/chat/completions — основной эндпоинт, рекомендуем.
- Streaming — формат SSE.
- Ошибки — таблица кодов.