Перейти к содержанию
Справочник APIResponses (OpenAI)

Responses (OpenAI)

Поддержанный subset /v1/responses для Codex и OpenAI SDK.

Протокол модели

POST /v1/responses — основной интерфейс Codex для этого подключения. Поддерживаются текстовые запросы и история, instructions, клиентские функции, обычные и потоковые ответы. Режимов ключа нет; серверный промпт настраивается отдельно.

Поддерживаемый контракт

ВходПоддержка
inputСтрока или массив message items с input_text; также function_call и function_call_output для продолжения client-tool цикла
Генерацияmax_output_tokens, stream; применение temperature и top_p зависит от модели и thinking
Client toolsФункции type: "function", tool_choice и совместимый parallel tool loop; функцию выполняет клиент
Ответoutput_text и function_call; streaming завершается response.completed, а обрезка по лимиту получает status: "incomplete"
bash
curl https://api.guardrelay.ai/v1/responses \
  -H "Authorization: Bearer $GUARD_API_KEY" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-sonnet-5",
    "instructions": "Отвечай кратко",
    "input": "Проверка связи: ответь OK",
    "max_output_tokens": 64
  }'

Границы endpoint'а

  • PDF / input_file, input_image, native citations и server-side Web/MCP tools не входят в контракт Responses. Для PDF и изображений используйте Messages.
  • top_k, явный cache_control, native thinking/reasoning blocks и structured text.format не входят в поддержанный контракт.
  • claude-fable-5 и claude-fable-5-1 доступны здесь только без применённого серверного промпта, включая поток и клиентские функции. Ограничения типов данных этого endpoint сохраняются.
  • Явно запрещённые типы или семантика получают локальный 400 до списания. Compatibility-only поля вроде previous_response_id, include, truncation или prompt_cache_key могут быть приняты без эффекта — полагаться на них нельзя.

Kimi, Composer и Grok на этом endpoint'е

Здесь работают все три семейства: Kimi, Composer и Grok. Поверхность одна и та же, короче у них только список принимаемых полей.

Kimi на этой поверхности

Kimi здесь обслуживается: ключ и адрес обычные, в поле model точный id Kimi, текст или история кладутся в input. Готовая настройка Codex на этой поверхности собрана на странице Codex. Если вашему клиенту привычнее OpenAI Chat Completions, тот же ключ работает и там.

bash
curl -X POST https://api.guardrelay.ai/v1/responses \
  -H "Authorization: Bearer gd-ваш-ключ" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "k3",
    "input": "Привет!",
    "max_output_tokens": 128
  }'

Проверка Grok

bash
curl https://api.guardrelay.ai/v1/responses \
  -H "Authorization: Bearer gd-ваш-ключ" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "cursor-grok-4.6-low",
    "instructions": "Отвечай кратко",
    "input": "Проверка связи: ответь OK",
    "max_output_tokens": 64
  }'

Проверка Composer

bash
curl https://api.guardrelay.ai/v1/responses \
  -H "Authorization: Bearer gd-ваш-ключ" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "composer-2.5",
    "instructions": "Отвечай кратко",
    "input": "Проверка связи: ответь OK",
    "max_output_tokens": 64
  }'
ЧтоКак у Composer и Grok
Поля запросаmodel, input, instructions, max_output_tokens, stream, tools
inputстрока либо массив элементов type: "message" с ролями user, assistant, system, developer
Блоки содержимогоinput_text и output_text с ключами type и text; cache_control принимается и игнорируется; у Grok дополнительно input_image с инлайн base64
function_call, function_call_outputчасть цикла клиентских инструментов, обслуживаются
web_search_call, file_search_call, computer_call и другие провайдерские элементыотклоняются с 400 cursor_client_tools_unavailable
reasoning, temperature, top_p, store, include, truncation, metadata, previous_response_id, prompt_cache_key, thinkingпринимаются и молча отбрасываются
parallel_tool_calls: true, service_tier auto/default, tool_choice: "auto"принимаются только в значении по умолчанию
text, любое другое значение полей вышене принимаются, 400 cursor_parameter_unavailable
Ответstatus: "completed", текст в output_text и в output[0].content[0].text, кэш в usage.input_tokens_details.cached_tokens
Ответ с вызовом инструментав output добавляется элемент type: "function_call" с call_id, name и arguments; на него отвечают элементом function_call_output в следующем запросе

Разделы документации

На этой странице