Gateway API
公开 API 类型、认证、路由、限额和计费边界。
网关范围
AnyPath 网关通过一个 API Key 提供 OpenAI 兼容、Anthropic Messages、Gemini /v1beta 和图像端点。计费和路由不会要求调用方改变供应商原生的请求形式。
公开 API 类型
| 类型 | 端点 |
|---|---|
| 模型与路由发现 | GET /v1/models, GET /v1/routes |
| OpenAI 兼容 | POST /v1/chat/completions, POST /v1/responses |
| Anthropic Messages | POST /v1/messages, POST /v1/messages/count_tokens |
| Images | POST /v1/images/generations, POST /v1/images/edits |
Gemini /v1beta | GET /v1beta/models, GET /v1beta/models/{model}, POST /v1beta/models/{model}:generateContent, POST /v1beta/models/{model}:streamGenerateContent, POST /v1beta/models/{model}:countTokens |
选择协议
- 客户端需要 OpenAI chat 请求形态时,使用 Chat Completions。
- 客户端明确需要 Responses API 行为时,使用 Responses。
- 需要 Claude 原生请求形态(包括
/v1/messages/count_tokens)时,使用 Anthropic Messages。 - 需要 Gemini 原生请求形态和认证方式时,使用 Gemini
/v1beta。
认证
所有网关请求都需要 AnyPath API Key。所有公开 API 类型都接受 Bearer 认证:
Authorization: Bearer sk-your-api-key
Anthropic Messages 也接受 x-api-key。Gemini /v1beta 也接受 x-goog-api-key 和 ?key=...。非 Gemini 路径不接受 query-string API Key。
路由与计费
网关从当前 API Key 可用的路由中选择:
- 共享路由:使用符合条件的供应商资源。请求成功后按 USDT 结算。
- 路由策略:API Key 使用智能路由或指定供应商。指定供应商不等于锁定某一个具体 key。
共享路由计费使用模型的官方刊例价、实际路由供应商的当前平台倍率和计量用量。计费使用的官方刊例价与实际承接请求的供应商可以不同,两者都会保留在结算证据中。模型级或路由级别的默认调用方倍率不属于公开计费契约。
对于智能路由和指定供应商的 Key,AnyPath 会在派发前选择一条健康的共享路由。公开响应契约保持简单:在控制台的请求日志中,使用请求 ID 查看路由决策、实际供应商、倍率和结算证据。
对于已有会话、续接 ID、缓存复用和 thinking 签名这类需要保持同一路由的请求,只要原路由仍健康且仍在所选供应商边界内,AnyPath 会保持路由不变。运营侧策略更新仅影响新的路由选择,不会打断进行中的会话。
共享路由上的流式请求仅对已通过流式认证的渠道可用;未认证渠道的流式请求会被直接拒绝(model_unavailable)。认证渠道的流式与非流式共用同一结算闭环:先冻结余额,再按 SSE 终态用量证据扣费;流式结束缺少用量证据时释放冻结,调用方不扣费。Chat Completions 流式要求客户端请求自带 stream_options.include_usage: true。详见 流式响应。
共享路由目前承接哪些请求
共享路由在发出请求之前,先按这次请求最多可能花费的金额冻结你的一部分余额。所以它只承接事先能算出费用上限的请求:文本输入、文本输出,以及函数调用。
下面这些请求会被拒绝,返回 400 unsupported_request_field,不冻结也不扣费:
- 图片生成和图片编辑(
/v1/images/*) - 图片、音频、视频、文件输入,包括聊天请求里的 base64 图片
- 由供应商执行并单独计费的托管工具,例如联网搜索、代码执行
- 引用供应商侧缓存内容的请求
- 约 195 KB 及以上的请求体
冻结金额按请求体大小加 max_tokens 估算(未传 max_tokens 时按模型的输出上限),因此会高于最终扣费。请求结算后,多冻结的部分回到余额。
非流式请求即使客户端在拿到结果前断开,也会照常结算,与流式一致:供应商已经收到请求并会完成生成。
错误处理
OpenAI 兼容的网关错误使用稳定的公开错误码。只重试 429、502、503、504 这类临时失败。如果响应包含 Retry-After,以它为准。
同一个账号在同一瞬间发起很多请求时,即使没有超过每分钟限额,其中一部分也可能收到 429 rate_limit_exceeded:同一账号的余额冻结是逐笔进行的。把请求错开,或稍等片刻再试。