LLMoxy 帮你把一个请求路由到一家可用的上游供应商,并在上游临时故障时自动重试。作为用户你只需要指定模型,剩下的由网关处理。
路由
提交请求时指定你想调用的 model,LLMoxy 会:
- 从支持该模型的上游供应商里挑选一个健康的发起请求。
- 遇到临时错误(例如 5xx、部分 429 或超时)时自动切换到下一家重试。
- 若所有供应商都失败,把最后一次错误以 OpenAI 风格返回给你。
你不需要配置任何路由规则,也不需要知道当前请求落在哪一家供应商。
请求格式
同一个 Key 可以通过不同格式的接口调用模型。选择你的应用已经在用的那一套即可:
| 格式 | 路由 |
|---|---|
| OpenAI Chat | POST /v1/chat/completions |
| OpenAI Responses | POST /v1/responses |
| Anthropic Messages | POST /v1/messages |
| Gemini | POST /v1beta/models/{model}:generateContent |
| Embeddings | POST /v1/embeddings |
| Rerank | POST /v1/rerank |
| OpenAI Video | POST /v1/videos |
计费
请求结束后,LLMoxy 会按上游返回的 token 用量扣费,涵盖 prompt、completion、缓存、音频、图像和推理 token。扣费按请求结算,不存在月度订阅最低消费。
实时额度和单价以控制台为准:
- 钱包:剩余额度和充值记录。
- 价格:每个模型的当前单价。
- 日志:每次请求的实际扣费和 token 数。
错误响应
所有错误统一使用 OpenAI 风格结构:
{
"error": {
"message": "error message",
"type": "invalid_request_error",
"param": null,
"code": "invalid_request"
}
}
常见状态码:
| 状态码 | 常见原因 |
|---|---|
400 | 请求体无效或含有不支持的参数。 |
401 | Key 缺失、拼写错误或已被禁用。 |
403 | 账户被禁用、IP 不在白名单、额度已用完或订阅不可用。 |
404 | 模型或路由不可用。 |
429 | 触发你的 Key 限流,或所有上游供应商同时达到容量上限。 |
5xx | 所有上游供应商都返回了错误,或网关自身故障。 |
涉及金额或用量的展示,请直接读控制台或最近一次请求的响应,不要使用缓存值。
