Справочник API

Responses

POST/v1/responses

Формат Responses API от OpenAI — одно поле input, структурированные элементы вывода и краткие итоги рассуждений для моделей, которые их отдают.

#Параметры запроса

  • modelstringобязательно

    ID модели из /v1/models. По этому значению шлюз определяет вышестоящего провайдера.

  • inputstring | arrayобязательно

    Промпт: обычная строка или массив входных элементов.

  • instructionsstringнеобязательно

    Инструкции системного уровня, аналог системного сообщения.

  • streambooleanнеобязательно

    Передаёт SSE-события response.* вместо одного JSON-тела.

  • max_output_tokensintegerнеобязательно

    Максимум генерируемых токенов; также ограничивает предварительно резервируемую квоту.

  • toolsarrayнеобязательно

    Объявления функций, которые может вызвать модель, — см. руководство по вызову инструментов.

  • previous_response_idstringнеобязательно

    Продолжить диалог от предыдущего ответа, не отправляя историю заново.

#Сжатие длинного диалога

POST/v1/responses/compact

Сжатие сокращает диалог, который стал слишком длинным, чтобы отправлять его целиком, и возвращает сокращённую версию для продолжения. Такой вызов делают агенты для программирования, когда сессия приближается к лимиту контекста.

  • modelstringобязательно

    Модель, поддерживающая сжатие. Остальные отклоняют этот путь с unsupported_endpoint.

  • inputarray | stringнеобязательно

    Диалог для сжатия в формате input для Responses.

  • instructionsstring | arrayнеобязательно

    Что сохранить при сжатии — например, "сохрани все пути к файлам и принятые решения".

  • previous_response_idstringнеобязательно

    Продолжить от сохранённого ответа, не отправляя всю историю заново.

compacted.json
{
  "id": "resp_…",
  "object": "response",
  "created_at": 1789000000,
  "output": [ /* the compacted conversation */ ],
  "usage": {"input_tokens": 8120, "output_tokens": 240, "total_tokens": 8360}
}

Без потоковой передачи, оплата всегда по токенам

У сжатия нет потокового режима — stream:true в этом запросе не используется. Оно тарифицируется как любой другой вызов Responses — по прочитанным и записанным токенам, — поэтому сжимайте осознанно, а не на каждом ходе.

#Связанные ошибки

  • 400 invalid_request_errorНекорректное тело или параметр, который эта модель не поддерживает.
  • 401Bearer-токен недействителен или отсутствует. На этом пути error.code нет — ориентируйтесь на статус.
  • 402 insufficient_user_quotaБаланса кошелька не хватает на предварительно резервируемую сумму.
  • 429Ограничение частоты для ключа. Тело пустое; дождитесь Retry-After. Если же в ответе 429 есть insufficient_user_quota, это дневной лимит расходов.
  • 503 model_not_foundНеизвестная модель, или сейчас её не обслуживает ни один исправный канал.

Полная таблица кодов ошибок →

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

curl https://www.aisplice.store/v1/responses \
  -H "Authorization: Bearer sk-YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.6-luna",
    "input": "Say hello."
  }'

#Ответ

response.json
{
  "id": "resp_…",
  "object": "response",
  "model": "gpt-5.6-luna",
  "output": [{
    "type": "message",
    "role": "assistant",
    "content": [{"type": "output_text", "text": "Hello!"}]
  }],
  "usage": {"input_tokens": 9, "output_tokens": 3, "total_tokens": 12}
}

Проблема не решена?

Пришлите нам ID запроса или текст ошибки, и мы разберёмся.