API 参考
限频说明#
为保障所有用户的服务质量,API 对每个账户设有以下速率限制:
| 限制类型 | 默认额度 | 说明 |
|---|---|---|
| RPM(每分钟请求数) | 300 次/分钟 | 每个模型独立计数 |
| RPD(每日请求数) | 216,000 次/天 | 所有模型共享额度 |
| TPM(每分钟 Token 数) | 1,228,800 tokens/分钟 | 每个模型独立计数 |
限流说明:
- 速率限制采用令牌桶算法,额度会持续恢复,支持短时突发请求
- RPM 和 TPM 按模型独立计算——即使 A 模型额度耗尽,仍可正常请求 B 模型
- RPD 为账户级全局额度,所有模型的请求共同消耗
- TPM 在请求发起时按预估 Token 数预扣额度,请求完成后按实际用量自动修正
触发限流时:
- 返回 HTTP
429 Too Many Requests - 响应头
Retry-After提示建议的重试等待秒数 - 响应头
X-RateLimit-Limit-Requests/X-RateLimit-Remaining-Requests反映当前 RPM 额度 - 响应头
X-RateLimit-Limit-Tokens/X-RateLimit-Remaining-Tokens反映当前 TPM 额度
ⓘ
如需提频,请联系 support@pateway.ai
Anthropic 协议 POST/v1/messages#
使用 Anthropic 原生格式调用 Claude 系列模型。请求头中需包含x-api-key: YOUR_API_KEY
请求体参数#
| 参数 | 类型 | 说明 | 必填 |
|---|---|---|---|
model | string | 模型ID | true |
message | array | 对话消息数组 | true |
max_tokens | integer | 最大输出 token 数 | true |
更多参数,详见Anthropic官方。
示例请求#
curl --request POST \ --url https://api.pateway.ai/v1/messages \ --header 'content-type: application/json' \ --header 'x-api-key: YOUR_API_KEY' \ --data '{ "model": "claude-sonnet-4-6", "max_tokens": 1024, "system": "你是一个专业的代码助手", "messages": [ { "role": "user", "content": "帮我用 Python 写一个快速排序" } ] }'响应示例#
{ "content": [ { "type": "text", "text": "你好!很高兴见到你 😊 有什么我可以帮你的吗?" } ], "id": "msg_01PXFpjoBEXMn1yEGDdp8RrH", "model": "claude-opus-4-6", "role": "assistant", "stop_details": null, "stop_reason": "end_turn", "stop_sequence": null, "type": "message", "usage": { "input_tokens": 10, "cache_creation_input_tokens": 0, "cache_read_input_tokens": 0, "cache_creation": { "ephemeral_5m_input_tokens": 0, "ephemeral_1h_input_tokens": 0 }, "output_tokens": 31, "service_tier": "standard", "inference_geo": "not_available" }}流式输出#
请求示例
curl -N --request POST \ --url https://api.pateway.ai/v1/messages \ --header 'content-type: application/json' \ --header 'x-api-key: YOUR_API_KEY' \ --header 'accept: text/event-stream' \ --data '{ "model": "claude-opus-4-6", "max_tokens": 1024, "messages": [ { "role": "user", "content": [ { "type": "text", "text": "你好" } ] } ], "stream": true }'响应以 SSE 格式逐块返回。
错误码#
| HTTP状态码 | 语义 | 示例错误信息 |
|---|---|---|
| 400 | 请求体无法读取或解析失败。 | 请求体解析失败: unexpected end of JSON input |
| 400 | 请求的模型不存在或当前不可用。 | The model 'xxx' does not exist |
| 400 | 上游供应商返回 400,请求参数被上游拒绝,原始响应透传。 | (透传上游原始响应体) |
| 401 | 请求未携带 API Key(需通过 x-api-key 或 Authorization: Bearer 传递)。 | Missing API Key |
| 401 | API Key 不存在、格式错误或未注册。 | Invalid API Key |
| 402 | 用户余额不足以承担本次请求预估的费用。 | 余额不足: balance not enough |
| 403 | API Key 已被禁用或已过期。 | Key disabled or expired |
| 403 | 用户账号已被冻结或禁用。 | account suspended: frozen |
| 413 | 请求体超过允许的最大大小。 | 请求体过大 |
| 429 | 请求频次过高 | rate limit exceeded |
补充说明 #
429 响应头
当触发限频(429)时,响应会包含以下辅助头信息:
| 响应头 | 说明 |
|---|---|
Retry-After |
建议的重试等待秒数 |
X-RateLimit-Limit-Requests |
RPM 上限 |
X-RateLimit-Remaining-Requests |
RPM 剩余次数 |
X-RateLimit-Limit-Tokens |
TPM 上限 |
X-RateLimit-Remaining-Tokens |
TPM 剩余额度 |
查询可用模型 GET/v1/models#
示例请求#
curl --request GET \ --url https://api.pateway.ai/v1/models \ --header 'Content-Type: application/json' \ --header 'x-api-key: Your_api_key'响应示例#
{ "data": [ { "id": "claude-haiku-4-5-20251001", "type": "model", "display_name": "Claude Haiku 4.5" }, { "id": "claude-opus-4-6", "type": "model", "display_name": "Claude Opus 4.6" }, { "id": "claude-sonnet-4-6", "type": "model", "display_name": "Claude Sonnet 4.6" } ], "has_more": false, "first_id": "claude-haiku-4-5-20251001", "last_id": "claude-sonnet-4-6"}ⓘ
建议以此接口返回结果为准,获取最新可用模型名称。