Lovely Router文档
获取密钥
模型 API

网关工作原理

Lovely Router 按你发送的 API 格式把每个请求交给模型。本页介绍端点、模型 ID、认证请求头,以及网关会改动的少数几处。

Lovely Router 在同一个域名上提供 Anthropic、OpenAI 和 Gemini 三种 API。它不在格式之间做转换:Anthropic 格式的请求会发往接受 Anthropic 格式的渠道,除了两处小改动之外,你的请求体会原样到达渠道。用模型自己厂商的 API 调用时,模型收到的请求与厂商文档描述的完全一致。thinking、cache_control、tools、generationConfig 等参数都会原封不动地传给模型,因此厂商自己的文档同样适用。

端点与 base URL#

把 SDK 指向对应 API 的 base URL,路径由 SDK 自行添加。

API端点SDK base URL指南
Anthropic MessagesPOST /v1/messages、POST /v1/messages/count_tokenshttps://lovelyrouter.comAnthropic Messages
OpenAI Chat CompletionsPOST /v1/chat/completionshttps://lovelyrouter.com/v1OpenAI Chat Completions
OpenAI Responses(GPT 模型)POST /v1/responseshttps://lovelyrouter.com/v1Responses API
GeminiPOST /v1beta/models/{model}:generateContent、:streamGenerateContent、:countTokenshttps://lovelyrouter.comGemini
OpenAI Images(图像模型)POST /v1/images/generations、POST /v1/images/editshttps://lovelyrouter.com/v1图像
视频(角色替换)POST /v1/videoshttps://lovelyrouter.com/v1视频
实时视频POST /v1/videos/livehttps://lovelyrouter.com/v1实时视频
音乐视频POST /v1/videos/musichttps://lovelyrouter.com/v1音乐视频
模型列表GET /v1/models、GET /v1beta/models模型与价格

其他模型端点返回 404,请参阅不支持的功能。数据工具和浏览器智能体的 API 使用同一个域名和同一套密钥。

各模型使用哪种 API#

每个模型都有一种原生 API:即其厂商为它设计的格式。能用原生 API 时请尽量使用。

模型系列原生 API目前也接受
Claude(claude-*)Anthropic MessagesOpenAI Chat Completions、Gemini
GPT(gpt-*)OpenAI Chat Completions、OpenAI ResponsesAnthropic Messages、Gemini
Gemini(gemini-*)GeminiOpenAI Chat Completions、Anthropic Messages
GPT Image(gpt-image-*)OpenAI Images无
自托管模型(dongfangshuo-*)OpenAI Chat CompletionsAnthropic Messages
自托管图像模型(z-image-*)OpenAI Images无

当你用其他格式调用某个模型时,渠道会为该模型转换请求,因此厂商的某些功能可能无法保留。厂商特有的参数是为厂商自己的 API 定义的。Anthropic 的 cache_control 和 thinking、OpenAI 的 reasoning_effort、Gemini 的 thinkingConfig,只有在模型的原生格式下才能确保生效;换成其他格式,它们可能被忽略或被拒绝。

一个模型接受哪些格式,取决于为它提供服务的渠道,因此可能会变化。模型广场按模型列出了这些格式。如果没有任何渠道接受你的格式,请求会失败并返回 404,消息类似 Model 'gpt-6.1-sol' is not served in gemini format in any group.

模型 ID#

使用 GET /v1/models 中的 ID,例如 claude-sonnet-5.5、gpt-6.1-sol 或 gemini-3.1-pro。网关也接受其他工具使用的写法,并解析为同一个模型:

你发送的解析为
claude-sonnet-5-5claude-sonnet-5.5
anthropic/claude-sonnet-5.5claude-sonnet-5.5
claude-haiku-4-5-20251001claude-haiku-4.5
gemini-3.1-pro-previewgemini-3.1-pro
models/gemini-3-flashgemini-3-flash

规则如下:忽略大小写;去掉开头的 vendor/ 或 models/ 前缀;. 和 - 可互换;去掉末尾的日期(-20251001)、-preview 或 -latest。日志、密钥白名单和计费始终使用规范 ID。

无法匹配任何模型的 ID 会返回 404,消息为 Model '<id>' is not available. See GET /v1/models.

网关会改动什么#

请求体按你发送的原样转发,只有两处例外:

  1. 模型 ID。 它会被替换为服务渠道所要求的 ID。因此响应中的 model 字段可能采用厂商的写法,例如 claude-sonnet-5-5。
  2. OpenAI 流中的用量。 流式 Chat Completions 请求会被加上 stream_options.include_usage: true,以便网关为这次调用计费。你的流末尾会多出一个数据块,其 choices 数组为空,并带有一个 usage 对象。读取数据块时,请处理 choices 为空的情况。

请求头不会被转发,anthropic-version、anthropic-beta 和 openai-beta 除外。缺少 anthropic-version 时会发送 2023-06-01。在 Gemini 端点上,alt=sse 等查询参数会被转发;key 会被移除。

响应逐字节原样返回。网关保留 content-type 和 cache-control 响应头,并添加自己的响应头(参见响应头)。厂商的请求 ID 和速率限制响应头不会透传。

当模型以请求无效为由拒绝请求(400、404、413、422)时,你会收到相同的状态码和原因,采用你所用 API 的错误格式。其他失败会先在另一个渠道上重试。请参阅限流与故障转移和错误。

身份验证#

每个端点都接受放在以下任一位置的密钥,因此每个 SDK 使用其默认认证方式即可:

位置使用方
Authorization: Bearer lr-...OpenAI SDK、使用 ANTHROPIC_AUTH_TOKEN 的 Claude Code、大多数 HTTP 客户端
x-api-key: lr-...Anthropic SDK
x-goog-api-key: lr-...Google Gen AI SDK、Gemini CLI
?key=lr-... 查询参数Gemini REST 示例

GET /v1/models 和 GET /v1beta/models 无需密钥。密钥的管理方式请参阅身份验证。

响应头#

响应头值
x-lovely-request-id本次调用的 ID,例如 req_6f1c...。与日志中的条目对应。联系支持时请附上它。
x-lovely-group服务本次调用的渠道分组,例如 claude-value。
x-lovely-channel该分组的渠道标签,经过 URL 编码,例如 Pooled%20capacity。
x-lovely-queued-ms仅在调用等待容量时出现:等待的毫秒数。

浏览器可以读取前三个:它们列在 access-control-expose-headers 中。

请求的生命周期#

  1. 身份验证。 密钥必须有效且未过期,否则返回 401。
  2. 解析模型。 按上文所述解析 ID,并与密钥的模型白名单比对(不允许时返回 403)。
  3. 检查余额。 余额小于或等于零,或密钥超出消费上限,返回 402。
  4. 应用密钥限制。 执行密钥的每分钟请求数和并发限制(429)。请参阅限流与故障转移。
  5. 选择渠道。 进行中的对话会回到持有其提示缓存的渠道。新对话会发往渠道分组中最优的可用渠道。请参阅提示缓存。
  6. 调用模型。 如果某个渠道在产生输出之前失败,请求会转到另一个渠道,最多尝试三次。流会被暂存到第一个 token 到达,因此整个过程对你不可见。请参阅流式输出。
  7. 计量与记录。 根据响应中的 token 数确定扣费,并在几秒内从你的余额中扣除。请参阅模型与价格。

不支持的功能#

只有上述端点可用。以下端点返回 404:

  • 已存储的 OpenAI 响应(/v1/responses/{id})、旧版 Completions、embeddings、图像变体(image variations)、audio、files 和 batches。
  • Anthropic Message Batches、Files 以及按 ID 获取模型的端点。
  • Gemini cachedContents(显式上下文缓存)、文件上传、embedContent 和 Live API。

OpenAI Responses API 只提供 GPT 模型。在你的工具中使用提供了常见客户端的配置。