Lovely Router文档
获取密钥
API 参考

API 参考

适用于所有 Lovely Router 端点的 base URL、认证方式、请求约定、限制和重试建议。

Lovely Router 在同一个域名下提供两类 API,使用同一个密钥和同一个余额:

  • 模型 API,采用各厂商自己的格式:Anthropic Messages、OpenAI Chat Completions 和 Gemini。请求和响应遵循厂商的 API 参考,因此官方 SDK 无需任何改动即可使用。Lovely Router 会额外添加几个响应头。
  • Lovely Router API,用于数据工具(/v1/tools)和浏览器智能体(/v1/browser):遵循下文约定的 JSON API。

Base URL#

所有端点都通过 HTTPS 由 https://lovelyrouter.com 提供。

APISDK base URL端点
Anthropic Messageshttps://lovelyrouter.comPOST /v1/messages、POST /v1/messages/count_tokens
OpenAI Chat Completionshttps://lovelyrouter.com/v1POST /v1/chat/completions
Geminihttps://lovelyrouter.comPOST /v1beta/models/{model}:generateContent、:streamGenerateContent、:countTokens
模型列表—GET /v1/models、GET /v1beta/models
数据工具https://lovelyrouter.com/v1/v1/tools/...
浏览器智能体https://lovelyrouter.com/v1/v1/browser/...
音乐视频https://lovelyrouter.com/v1/v1/videos/music/...
MCP 服务器—POST /mcp

未在此列出的端点(例如 OpenAI 的 Responses、Embeddings 和 Images API)会返回 404。

认证#

以 bearer token 的形式发送你的 API 密钥。模型端点也接受各厂商自己的请求头,因此每个 SDK 都能使用默认设置。

HTTP
Authorization: Bearer lr-...
请求头常见用途
Authorization: Bearer lr-...OpenAI SDK、数据工具、浏览器智能体、MCP
x-api-key: lr-...Anthropic SDK
x-goog-api-key: lr-...Google Gen AI SDK

模型列表和工具目录无需密钥,其他所有接口都需要。参阅身份验证。

请求与响应#

  • JSON 进,JSON 出。 以 JSON 发送请求体,并带上 content-type: application/json。例外情况是:向浏览器智能体上传文件时,接受原始文件或 multipart/form-data;运行截图返回 image/jpeg。
  • 流式输出。 带 "stream": true 的 Anthropic 和 OpenAI 请求返回服务器发送事件(text/event-stream)。Gemini 的 :streamGenerateContent 与 Google 的 API 一致,以流式返回 JSON 数组,加上 ?alt=sse 时则返回服务器发送事件。参阅流式输出。
  • 跨域请求允许来自任意来源。但这并不意味着从浏览器调用 API 是安全的:任何人都能读取放在前端代码里的密钥。

Lovely Router 自己的 API 遵循以下约定:

约定示例
ID 带有类型前缀工具运行为 run_…,浏览器运行为 brun_…
时间戳为 UTC 时区的 ISO 8601 格式"created_at": "2026-10-11T09:30:00.000Z"
金额以美元计,类型为数字"charge_usd": 0.042、"reserved_usd": 0.3
列表包装在一个对象中{"object": "list", "data": [...]}
耗时较长的任务返回 202响应体中包含一个 poll 路径,用于查看进展
等待通过查询参数指定GET /v1/tools/runs/{id}?wait=60 会挂起请求,直到运行结束或等待时间用完

响应头#

除了厂商自己的响应头,模型响应还带有以下响应头:

响应头含义
x-lovely-request-id请求的唯一 ID,也会显示在日志中。联系支持时请附上它。
x-lovely-group为该请求提供服务的渠道分组
x-lovely-channel对该渠道分组的简短描述,经过 URL 编码
x-lovely-queued-ms请求等待容量的毫秒数(仅在确实需要等待时出现)
retry-after出现在 429 响应中:重试前需要等待的秒数

版本#

模型 API 遵循厂商的版本机制。 发送你的 SDK 默认发送的请求头:Anthropic 为 anthropic-version 和 anthropic-beta,OpenAI 为 openai-beta。Gemini 请求与 Google 的 API 一致,使用 /v1beta 路径。Lovely Router 只转发这些请求头,不转发其他请求头,因此依赖其他厂商请求头的功能不可用。

Lovely Router API 通过路径进行版本管理,位于 /v1 下。响应中可能会出现新字段,所以请让你的客户端忽略无法识别的字段。

限流#

以下限制适用于你的请求:

限制适用范围超出时
你在密钥上设置的每分钟请求数和并发数该密钥发起的模型请求429,带 retry-after
模型容量模型请求。短时间的突发请求会先在队列中等待几秒。429,通常带 retry-after
每个账户最多 10 个进行中的运行数据工具运行和浏览器运行429
每个密钥每分钟 100 次请求;所有不带密钥的调用方共享每分钟 100 次POST /v1/tools/suggest429,带 retry-after

参阅限流与故障转移和 API 密钥。

重试与幂等性#

Lovely Router 会在返回错误之前,先把失败的模型请求切换到其他渠道重试,因此你收到的 5xx 都已经重试过。尽管如此,仍然值得在你这一侧以指数退避重试 429 和 5xx 响应,并遵守 retry-after。不要在未修改请求的情况下重试其他 4xx 错误。官方 OpenAI 和 Anthropic SDK 默认重试两次;批处理任务可以调高 max_retries(Node.js 中为 maxRetries)。

API 不接受幂等键。请为以下情况做好准备:

  • 在你这一侧超时的模型请求可能仍已完成并已计费。如果你重试,可能会被扣两次费。生成内容较长时,请设置宽裕的客户端超时,或使用流式输出。
  • 启动工具运行或浏览器运行不是幂等的。 如果 POST /v1/tools/{id}/run 或 POST /v1/browser/runs 超时,请先用 GET /v1/tools/runs 或 GET /v1/browser/runs 列出最近的运行,再决定是否启动新的运行。
  • 读取操作总是可以安全地重复。 轮询运行、列出运行和获取结果都不会扣费。

Python 和 Node.js 的重试代码见重试失败的请求。

错误#

模型端点以厂商的格式返回错误,因此 SDK 会抛出它们惯常的异常。Lovely Router 自己的 API 返回:

JSON
{"error": {"type": "invalid_request_error", "message": "\"goal\" is required (max 4,000 characters)"}}

所有状态码以及每种格式的示例响应体见错误。