Поддерживаемые провайдеры

OpenRouter

Конвертация OpenRouter API в Meridian — маршрутизация на нескольких провайдеров, поддержка reasoning, обработка параметров и стриминг.

Обзор

OpenRouter — это OpenAI-совместимый сервис маршрутизации, который даёт доступ к моделям нескольких поставщиков (OpenAI, Anthropic, Google, Meta и других) через единый интерфейс. Meridian делегирует выполнение в OpenAI-реализацию с особой обработкой reasoning-моделей.

Ключевые возможности:

  • Агрегация провайдеров — доступ к 100+ моделям от разных вендоров.
  • Поддержка reasoning — extended thinking на совместимых моделях.
  • Совместимость параметров — корректное преобразование reasoning.effort.
  • Стриминг — полная поддержка SSE с usage-tracking.
  • Tool calling — определения и выполнение функций.

Поддерживаемые операции

ОперацияБез стримингаСтримингЭндпоинт
Chat Completions/v1/chat/completions
Responses API/v1/responses
Text Completions/v1/completions
List Models/v1/models
Embeddings
Image Generation
Speech (TTS)
Transcriptions (STT)
Files
Batch

Не поддерживаемые операции (❌): Embeddings, Image Generation, Speech, Transcriptions, Files и Batch не предоставляются апстримом OpenRouter. Запросы к ним возвращают BifrostError с кодом "unsupported_operation".

Responses API в OpenRouter сейчас находится в beta.


1. Chat Completions

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

OpenRouter поддерживает все стандартные параметры OpenAI chat completion. Полный справочник по параметрам и поведению — см. OpenAI → Chat Completions.

Обработка reasoning

OpenRouter поддерживает extended thinking на совместимых моделях:

// Запрос Meridian
{
  "reasoning": {
    "effort": "high",
    "max_tokens": 10000
  }
}

// Преобразование для OpenRouter
{
  "reasoning_effort": "high"
}

Reasoning-модели: gpt-oss-120b и совместимые модели со специальной обработкой reasoning-контента.

Удаление cache control

Cache-control директивы Anthropic автоматически удаляются:

// Meridian принимает cache control в стиле Anthropic
{
  "messages": [{
    "role": "user",
    "content": [{
      "type": "text",
      "text": "...",
      "cache_control": {"type": "ephemeral"}
    }]
  }]
}

// В OpenRouter уходит без cache-директив

Фильтруемые параметры

Удаляются для совместимости с OpenRouter:

  • prompt_cache_key — не поддерживается;
  • verbosity — специфика Anthropic;
  • store — не поддерживается;
  • service_tier — специфика OpenAI.

OpenRouter поддерживает все стандартные типы сообщений, инструменты, ответы и форматы стриминга OpenAI. Подробности по обработке сообщений, преобразованию инструментов, ответам и стримингу — в разделе OpenAI → Chat Completions.


2. Responses API

Responses API в OpenRouter обрабатывается как отдельный эндпоинт /v1/responses. Сейчас этот API находится в beta.

Поддержка параметров — та же, что у Chat Completions; запросы пробрасываются напрямую на Responses-эндпоинт без конверсии в Chat Completions.

Особая обработка сообщений (gpt-oss vs другие модели). Подробности о том, как reasoning обрабатывается по-разному в gpt-oss и в остальных моделях, — см. OpenAI → Responses API: там описана конверсия reasoning между summaries и content blocks.


3. Text Completions

OpenRouter поддерживает legacy text completion:

ПараметрМаппинг
promptПрямое проксирование
max_tokensmax_tokens
temperature, top_pПрямое проксирование
stopСтоп-последовательности

4. List Models

Возвращает список 100+ моделей, доступных через OpenRouter, в том числе:

  • OpenAI (GPT-4, GPT-4 Turbo и т. д.);
  • Anthropic (семейство Claude 3);
  • Google (Gemini);
  • Meta (Llama);
  • Mistral;
  • и многие другие.

Что не поддерживается

ВозможностьПричина
EmbeddingsНе предоставляются OpenRouter API
Image GenerationНе предоставляются OpenRouter API
Speech / TTSНе предоставляются OpenRouter API
Transcription / STTНе предоставляются OpenRouter API
BatchНе предоставляются OpenRouter API
FilesНе предоставляются OpenRouter API

Нюансы реализации

Содержание