GoRouter

Chat Completions и Responses

Два текстовых endpoint и выбор подходящего формата.

Задача

Выбрать API для текстовой генерации и отправить минимальный запрос.

Рабочий пример

Chat Completions:

{
  "model": "deepseek/deepseek-v4-flash-0731",
  "messages": [{"role": "user", "content": "Составь короткий заголовок"}],
  "max_tokens": 1024
}

Responses:

{
  "model": "deepseek/deepseek-v4-flash-0731",
  "input": "Составь короткий заголовок",
  "max_output_tokens": 1024
}

Отправляйте объекты на /api/v1/chat/completions и /api/v1/responses соответственно.

Кнопка «Отправить» в справочнике выполняет настоящий платный запрос с вашим ключом. Лимит 1024 в примерах ограничивает ответ и размер резерва; reasoning тоже входит в этот лимит. Без явного лимита резерв рассчитывается по границе из каталога провайдера и может быть значительно больше.

Важные параметры

  • Chat Completions использует messages и удобен для существующих OpenAI-совместимых клиентов.
  • Responses использует input и формат событий Responses API.
  • stream: true включает SSE.
  • max_tokens (Chat Completions) и max_output_tokens (Responses) ограничивают число токенов ответа.
  • При stream: false JSON приходит только после завершения генерации. Модели с reasoning могут отвечать дольше 10 секунд; настройте таймаут своего клиента с учётом этого.
  • Параметры tools, structured output и мультимодальный ввод работают только у моделей, которые их поддерживают.

Ответ

GoRouter сохраняет формат выбранного endpoint и добавляет итоговую цену в usage.cost, когда upstream сообщил достаточные данные для расчёта.

Ошибки и ограничения

  • Поле model обязательно.
  • Ошибки в неподдерживаемых параметрах могут возвращаться выбранным upstream-провайдером в его совместимом формате.

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