Anthropic 协议
本站完整兼容 Anthropic Messages 协议:把 anthropic 官方 SDK 的 base_url 改为 https://api.ai526.com(不带 /v1,SDK 会自行拼接 /v1/messages),同一把 sk- Key 即可使用。
Base URL 与鉴权
- Base URL:
https://api.ai526.com(不带 /v1)。 - 鉴权:
x-api-key: sk-你的Key;也接受Authorization: Bearer,两者等价。 anthropic-version头接受但不强制,缺省按2023-06-01处理。- 每个响应带
x-request-id与request-id头;错误 JSON 顶层另带request_id字段。
支持的端点
| 端点 | 方法 | 用途 |
|---|---|---|
/v1/messages | POST | 对话(支持流式 / 工具调用 / 视觉 / PDF / thinking) |
/v1/messages/count_tokens | POST | 请求计 token(免费,不扣余额) |
/v1/models | GET | Anthropic 格式模型列表(带 anthropic-version 头时) |
/v1/messages 常用字段
| 字段 | 类型 | 说明 |
|---|---|---|
model | string,必填 | 模型 ID,以模型广场在架列表为准 |
max_tokens | number,必填 | 生成上限,≥1;模型上限见各模型文档页 |
messages | array,必填 | 首条必须为 user;连续同角色按 Anthropic 语义合并 |
system | string | block[] | 系统提示词 |
tools / tool_choice | array / object | 自定义工具(name + input_schema);tool_choice 支持 auto / any / tool / none |
stream | boolean | SSE 事件流 |
temperature / top_p / top_k | number | 采样参数;部分新 Claude 模型已移除采样参数,传入会返回 400,以各模型文档页实测为准 |
stop_sequences | string[] | 停止序列 |
thinking | object | 扩展思考;支持的类型(adaptive / enabled)以各模型文档页实测为准 |
metadata | object | {"user_id": "…"},建议传哈希 / UUID,勿含个人信息 |
内容块(messages[].content 数组)支持:
| type | 说明 |
|---|---|
text | 文本 |
image | source 支持 base64(jpeg/png/gif/webp)与 url 两种;file 形式(Files API)不支持 |
document | PDF(base64,≤32MB)、纯文本等;file 形式不支持 |
tool_use / tool_result | 工具调用与回传;并行调用的多个 tool_result 须放在同一条 user 消息内 |
thinking / redacted_thinking | 多轮对话回传历史思考块 |
服务端工具(如 web_search)、代码执行容器暂不支持,传入返回 400。
流式(SSE)事件流
事件顺序:message_start → 若干内容块(content_block_start → content_block_delta… → content_block_stop)→ message_delta → message_stop。
ping事件可能随时穿插;未知事件类型请忽略而非报错(与官方合同一致);- 工具调用参数以
input_json_delta的partial_json片段流式下发,块结束后拼接再JSON.parse; message_delta.usage为累计值;- Anthropic 流没有
data: [DONE]哨兵,message_stop即结束; - 流中错误以
event: error事件下发(此时 HTTP 状态保持 200)。
/v1/messages/count_tokens
请求体接受 model、messages、system、tools 等(不接受 max_tokens / stream 等生成参数),响应仅一个字段:
{ "input_tokens": 2095 }
count_tokens 免费:不扣余额、不产生用量记录,但计入 RPM 限速。部分模型的计数为网关估算值,以各模型文档页说明为准。
错误码
错误统一为 Anthropic 外壳:
{
"type": "error",
"error": { "type": "billing_error", "message": "Insufficient balance. Top up at https://ai526.com/console/topup" },
"request_id": "req_01J8ZK3V9XQW4R7T2M5N8P0AB"
}
| HTTP | error.type | 含义与处置 |
|---|---|---|
| 400 | invalid_request_error | 参数校验失败 |
| 401 | authentication_error | Key 缺失、无效、被禁用或已过期 |
| 402 | billing_error | 余额不足;前往充值 |
| 403 | permission_error | Key 的模型白名单不含该模型 |
| 404 | not_found_error | 模型或端点不存在 |
| 413 | request_too_large | 请求体超限 |
| 429 | rate_limit_error | RPM 超限或 Key 额度用尽(message 区分) |
| 500 | api_error | 网关内部错误;请附 request_id 联系我们 |
| 502 | api_error | 上游临时故障且自动重试已用尽 |
| 503 | overloaded_error | 该模型暂无可用线路;关注服务状态页 |
失败不扣费
返回 4xx / 5xx 的请求一律不扣费。流式过程中的消耗按上游回传的真实 usage 结算,详见计费规则。