Доступно

Responses API: текст, история и инструменты

Контракт POST /v1/responses для приложений и агентов: input, instructions, output, streaming, function tools и безопасные повторы.

API Токенмоста работает

Базовый адрес — https://tokenmost.ru/v1. Создайте ключ в личном кабинете, выберите модель в каталоге и отправьте первый запрос. Методы, которые ещё не доступны, отмечены отдельно.

Как это устроено

Responses API принимает model и input. Строка input становится пользовательским сообщением; массив позволяет передать текстовую историю и результаты функций. instructions задаёт системные правила отдельно от пользовательского ввода.

Что потребуется

  • Ключ с текстовым доступом, положительный баланс и полный model ID.
  • Клиент, который умеет работать с Responses API, а не только Chat Completions.
  • Отдельный Idempotency-Key для одной логической операции.

Порядок работы

  1. Начните со строки input и небольшого max_output_tokens.
  2. Прочитайте текст из элементов массива output и сохраните квитанцию расхода.
  3. Для истории передавайте только поддерживаемые текстовые элементы.
  4. Для tools обработайте function_call, выполните разрешённую функцию и передайте function_call_output.
  5. Для stream: true обрабатывайте SSE до response.completed.

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

Укажите TOKENMOST_BASE_URL=https://tokenmost.ru/v1, ключ проекта и точный ID модели из каталога. Пример отправляет запрос в публичный API и может списать средства с баланса по тарифу модели.

curl "https://tokenmost.ru/v1/responses" \
  -H "Authorization: Bearer $TOKENMOST_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: response-example-0001" \
  -d '{
    "model": "MODEL_ID_FROM_CATALOG",
    "instructions": "Отвечай кратко.",
    "input": "Что такое API?",
    "max_output_tokens": 128
  }'

Что учесть

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

Responses не равен Chat Completions

Не добавляйте /responses к base_url клиента, который сам формирует путь. Поля messages и choices относятся к Chat Completions; Responses использует input и output.

История без server-side state

Текущий публичный контракт является stateless: нужную историю клиент передаёт явно. Неподдерживаемые поля хранения состояния отклоняются, а не игнорируются молча.

Инструменты

Сервис возвращает имя и аргументы функции, но не запускает внешний код. Проверяйте JSON, права и ожидаемый call_id перед выполнением действия.

Ошибки и диагностика

404 для /v1/responses/models

В base_url укажите https://tokenmost.ru/v1: совместимый клиент сам добавит /responses.

Клиент ищет choices

Он разбирает Chat Completions. Для Responses читайте массив output и его типизированные элементы.

HTTP 400 про state

Удалите неподдерживаемые поля хранения и передайте нужную историю явно через input.

Tools не продолжаются

Передайте function_call_output с тем же call_id и корректным сериализованным результатом.

Streaming закончился без результата

Не принимайте частичный текст за успех без response.completed и итоговой квитанции.

Источники и связанные инструкции

Читайте дальше

← Все инструкции