如果你的代码、框架或应用已经在调用 OpenAI,那它也能调用 Lovely Router:把 base URL 设为 https://lovelyrouter.com/v1,并用你的 Lovely Router 密钥替换 OpenAI API 密钥。GPT API 通过 Chat Completions 和 Responses API(Codex CLI 使用的 API)提供服务。其他所有文本模型,包括 Claude 和 Gemini,也都支持 Chat Completions,因此一个 OpenAI 兼容客户端就能用同一份预付费余额调用三家厂商的模型。
交给你的 AI 智能体
把这段提示词复制到 Claude Code、Cursor、Codex 或任何编程智能体中。它会告诉智能体文档在哪里,以及如何使用你的 API 密钥。
Integrate models from Lovely Router into this project through the OpenAI Chat Completions and Responses APIs. - Docs (read first): https://lovelyrouter.com/docs/models/openai.md - Use the official OpenAI SDK with base URL https://lovelyrouter.com/v1 (or set OPENAI_BASE_URL=https://lovelyrouter.com/v1). Endpoints: POST /v1/chat/completions and POST /v1/responses, unchanged from OpenAI. - GET https://lovelyrouter.com/v1/models lists every model id with its price; pick one there, do not guess ids. - Auth: read my API key from the LOVELY_API_KEY environment variable and send it as `Authorization: Bearer $LOVELY_API_KEY`. Never print or commit the key. If it is not set, ask me to create one at https://lovelyrouter.com/app/keys. - Billing is prepaid: every call is charged to my balance, so test with a small request before running anything large. - Every docs page is plain Markdown; the full index is https://lovelyrouter.com/llms.txt. My task: <describe what you want to build or get>
工作原理
获取密钥
设置两个变量
OpenAI SDK 以及大多数基于它构建的应用都会读取
OPENAI_BASE_URL和OPENAI_API_KEY。把它们分别设为https://lovelyrouter.com/v1和你的密钥。如果某个应用要求填写 API 主机地址并会自行追加/v1,请填写https://lovelyrouter.com。调用 GPT 模型
请求体原样透传,因此每个参数都以 OpenAI 的 API 参考为准。
Shellcurl https://lovelyrouter.com/v1/chat/completions \ -H "Authorization: Bearer $LOVELY_API_KEY" \ -H "content-type: application/json" \ -d '{ "model": "gpt-6.1-sol", "messages": [ {"role": "system", "content": "Answer in one sentence."}, {"role": "user", "content": "What does a load balancer do?"} ] }'
GPT API 实时价格
| 模型 | 上下文 | 输入 | 输出 | 缓存读取 |
|---|---|---|---|---|
| GPT-6 Astra gpt-6-astra | 1.05M | $10.00 | $50.00 | $1.00 |
| GPT-6.1 Sol gpt-6.1-sol | 1.05M | $2.00 | $10.00 | $0.10 |
| GPT-6 Sol gpt-6-sol | 1.05M | $2.00 | $10.00 | $0.20 |
| GPT-6.1 Terra gpt-6.1-terra | 1.05M | $1.00 | $5.00 | $0.05 |
| GPT-5.6 Sol gpt-5.6-sol | 400K | $2.00 | $10.00 | $0.20 |
| GPT-5.6 Terra gpt-5.6-terra | 400K | $2.00 | $12.00 | $0.20 |
| GPT-5.6 Luna gpt-5.6-luna | 400K | $0.20 | $1.20 | $0.02 |
每 100 万 token 的美元价格,实时来自目录。
以上价格单位为美元/百万 token,直接取自模型目录。client.models.list() 会返回同样的列表及价格,无需密钥。GPT 模型由 gpt-value 渠道组提供服务;模型广场显示实时可用性,状态页按小时显示每个渠道组的可用性。
一个 OpenAI 兼容 API,覆盖三家厂商
| 模型系列 | 示例 ID | 厂商专属选项在哪里效果最好 |
|---|---|---|
| GPT | gpt-6.1-sol、gpt-6-astra、gpt-6.1-terra、gpt-5.6-terra、gpt-5.6-luna | Chat Completions 或 Responses,两者都是原生格式 |
| Claude | claude-sonnet-5.5、claude-opus-5.5 | Anthropic Messages,用于 cache_control 和思考设置 |
| Gemini | gemini-3.1-pro、gemini-3-flash | Gemini API,用于 thinkingConfig |
切换厂商只需修改 model 字段。以非原生格式调用的模型,会由一个为其转换请求的渠道提供服务,因此只有某一家厂商定义的选项,只能保证在该厂商自己的 API 中生效。图像模型使用 Images API:参阅图像生成。
Responses API 与 Codex CLI
GPT 模型同样可以通过 POST /v1/responses 调用,这是 Codex CLI 和 Agents SDK 使用的 API。base URL 和密钥都不变,client.responses.create() 可以直接使用。把 Lovely Router 作为模型供应商添加到 Codex:
model = "gpt-6.1-sol"
model_provider = "lovely"
[model_providers.lovely]
name = "Lovely Router"
base_url = "https://lovelyrouter.com/v1"
env_key = "LOVELY_API_KEY"
wire_api = "responses"Codex 会为每个会话发送 prompt_cache_key,因此一个会话的每一轮都会留在持有其提示缓存的渠道上。在这里使用 Responses API 有两点需要注意:
- 发送完整对话。 响应不会被存储:对
/v1/responses/{id}执行GET、DELETE和取消操作都会返回404,而previous_response_id只在对话始终留在同一渠道上时才有效。请像 Codex 那样,在input中发送完整历史,并设置"store": false。 - 仅限 GPT 模型。 其他模型会返回
404和not served in responses format;请用 Chat Completions 或它们自己的 API 调用。
Chat Completions 细节
网关会为每个流式请求加上 stream_options.include_usage: true,因此 data: [DONE] 之前的最后一个数据块中,choices 数组为空,并带有本次调用的 usage。读取 delta 之前,请先检查 choices 是否非空。
tools、tool_choice、parallel_tool_calls 和 response_format 原样透传。
GPT-5 和 GPT-6 模型会先推理再回答。设置 reasoning_effort,并用 max_completion_tokens 限制总输出,其中包含推理 token。推理内容本身不会返回。
GPT 模型会自动缓存较长的前缀。usage.prompt_tokens_details.cached_tokens 按缓存读取价格计费;为每个对话设置固定的 prompt_cache_key 能提高命中率,并让对话留在同一个渠道上。
不提供:Embeddings、音频、图像变体、旧版 Completions、Assistants、文件、批处理、微调和内容审核。这些路径返回 404。
常见用法
修改 OPENAI_BASE_URL 和 OPENAI_API_KEY,重启应用,然后在日志中检查最初的几次调用。
使用上面的配置,导出 LOVELY_API_KEY,然后运行 codex。设有消费上限的密钥能把长时间的会话控制在预算之内。
用同一个客户端依次调用 gpt-6.1-sol、claude-sonnet-5.5 和 gemini-3.1-pro,比较它们的回答和 usage。
网关本身已经会跨渠道重试,所以出现 429 或 502 说明问题持续得比多次尝试还久。在客户端上设置 max_retries=5,让 SDK 以退避方式对 429 和 5xx 再多重试几次。
在同一个客户端上用 gpt-image-2 调用 client.images.generate() 即可,每张图片固定价格。
费用说明
GPT 模型按 token 计费:未缓存输入、按缓存读取价格计费的缓存输入,以及包含推理 token 的输出,各自按模型的每百万 token 价格计算。GPT 模型没有单独的缓存写入费用。目前所有渠道组都按官方标价计费,因此每个 GPT 模型的价格与 OpenAI 公布的一致。费用根据模型报告的 usage 计算,并在几秒内从你的预付费余额中扣除。
只需充值一次,就能在所有产品间使用;没有订阅。在到达模型之前就被拒绝的请求,以及网关转到别处重试的尝试,都不收费。这个密钥还能购买的其他服务见价格页。
常见问题
这是 OpenAI 兼容 API 吗?+
是的。Lovely Router 在 https://lovelyrouter.com/v1 以 OpenAI 的格式提供 Chat Completions、Responses API 和 Images API。官方 OpenAI SDK 只需更改 base URL 和密钥即可使用。
Codex CLI 能配合 Lovely Router 使用吗?+
可以。在 ~/.codex/config.toml 中把 Lovely Router 添加为模型供应商,设置 wire_api = "responses" 并选用一个 GPT 模型。使用 wire_api = "chat" 的旧配置必须修改,因为当前版本的 Codex 已不再接受它。
可以用 OpenAI SDK 调用 Claude 和 Gemini 吗?+
可以。GET /v1/models 中的每个文本模型目前都支持 Chat Completions。如需使用 cache_control 或 thinkingConfig 这类 Claude 或 Gemini 专属的选项,请用同一个密钥调用它们的原生 API。
提供 Embeddings 或音频吗?+
不提供。Embeddings、音频、图像变体、Assistants、文件、批处理、微调和内容审核都返回 404。提供的是 Chat Completions、Responses 以及图像生成和编辑。
推理 token 如何计费?+
推理 token 计入 usage.completion_tokens,按输出价格计费。max_completion_tokens 同时限制输出和推理。