概览
透传 API 通过 GoModel 代理提供商原生的请求,不会转换请求体或响应体。 当客户端库期望使用提供商的原生 API 而非兼容 OpenAI 的 API 时,请使用透传 API。例如, Anthropic SDK 会将请求发送到/v1/messages,因此您可以将其指向 GoModel 的 Anthropic
透传基础 URL:
v1 路径段,并以 Anthropic 原生格式将请求转发到上游:
工作原理
透传路由采用以下格式:ALLOW_PASSTHROUGH_V1_ALIAS=true(默认值)时,以下两个路径会映射到同一个上游端点:
GOMODEL_MASTER_KEY 或托管认证密钥,客户端必须发送
GoModel Bearer Token:
Authorization 和 X-Api-Key 请求头,然后使用服务器上配置的
上游提供商凭据。对于 Anthropic,GoModel 使用其配置的 ANTHROPIC_API_KEY。
由于透传是提供商原生的,响应也是提供商原生的。对于 Anthropic messages,响应使用 Anthropic 的
消息结构,而不是 OpenAI Chat Completion 结构。
启用用量追踪时,成功的透传推理响应会被记录:流式响应的 Token 数从 SSE 用量事件中读取,
JSON 响应的 Token 数从 usage 成员中读取,因此成本和预算会像其他路由一样计入透传流量。
访问控制
透传会使用服务器的凭据直接访问提供商账户,包括网关无法按调用方划定作用域的路由,例如GET /files。因此访问受到限制:
GOMODEL_MASTER_KEY:始终拥有透传访问权限。- 托管 API 密钥:默认创建时不带透传访问权限。在引入透传访问权限之前就已存在的密钥会保留该权限。
没有访问权限的密钥会收到
403,错误代码为passthrough_access_denied。 - 模型允许列表:指定了
model的请求体会根据调用方的允许列表进行检查。未指定模型的请求作用于 整个提供商,因此允许列表必须授予整个提供商(anthropic/)或全部内容(/)的权限。仅限于anthropic/claude-sonnet-4-6的密钥可以为该模型调用POST /p/anthropic/v1/messages, 但不能调用GET /p/anthropic/v1/models。
POST /admin/auth-keys 中设置 "passthrough_access": true)、在控制台的
API Keys 页面上,或在之后授予透传访问权限。只有全局管理员凭据(主密钥或不带用户路径的控制台密钥)
才能授予该权限,因为透传密钥的访问范围超出了任何用户路径;限定于某个用户路径的管理员会收到
403 admin_scope_denied,但可以撤销该权限。
Anthropic SDK 示例
将 Anthropic SDK 的基础 URL 设置为 GoModel 的 Anthropic 透传路由,并将 GoModel Token 用作 Anthropic SDK 的 Bearer 认证。not-needed),而不是
auth_token 或 authToken。GoModel 在将透传请求转发到上游之前会移除 X-Api-Key。
当前限制
在 API 处于 Beta 阶段期间,透传的范围被有意限制得较窄。openai、anthropic、openrouter、kilo、zai、sglang、vllm、llamacpp、llmd、deepseek、edenai和jev默认启用。- Chutes 支持透传,但需要运维人员显式启用,因为透传可能会转发不标识模型的提供商原生路由。
只有在您确实打算暴露该接口时,才将
chutes添加到ENABLED_PASSTHROUGH_PROVIDERS。 - GoModel 不会转换透传的请求体或响应体。
- JSON 透传请求体中指定的
model会根据调用方的模型允许列表进行检查,与请求体大小无关, 最大不超过配置的请求体上限;更大的请求体会以该上限自身的错误被拒绝。重复包含顶层model字段的请求体会被拒绝,因为否则将由上游决定哪一个生效。未指定模型的请求需要提供商级别的授权 (参见访问控制)。 - 上游账户是共享的。拥有透传访问权限的密钥可以访问该账户上由其他密钥创建的对象,例如文件或批处理任务。
只应将
passthrough_access授予您信任其访问整个提供商账户的密钥。 - 提供商原生的错误响应体和状态码会被直接代理,而不会转换为兼容 OpenAI 的响应。
- 依赖兼容 OpenAI 的请求或响应格式的功能,可能不会以与
/v1流量相同的方式作用于透传流量。
相关环境变量
透传路由默认启用:ENABLED_PASSTHROUGH_PROVIDERS 设置为您希望暴露的提供商类型。