**Claude 模型已于 2026 年 10 月 18 日重新上架。**调用前先看 Claude 模型的使用限制,上架说明见公告。
可用模型
模型与价格总表中「兼容端点」包含 Anthropic Messages 的模型可以使用本协议。2026 年 10 月 18 日公开价格配置中,这类模型有:- Claude 模型:共 11 个,例如
claude-sonnet-5-5、claude-opus-5-5,开放于default与claude_code分组,完整列表与价格见总表 Anthropic 部分; glm-5.2(claude_code与default分组):通过本协议调用时,请求与响应的行为与官方 Messages API 基本一致;deepseek-v4-pro;deepseek-v4-flash等。
Claude 模型的使用限制
Claude 模型支持流式输出、工具调用、adaptive thinking、提示缓存(5 分钟与 1 小时)和图片输入。以下情况与 Anthropic 官方接口不同:- 输出长度:单次输出上限 32,768 tokens,
max_tokens设得更大时按上限处理。 - PDF 与文档:暂不支持
document内容块,先提取文本,再放进text块发送。 - 服务器工具:不支持
web_search、web_fetch、code_execution等 Anthropic 服务器工具,请求会返回 400。 - 其他接口:不提供
/v1/messages/count_tokens、Message Batches 和 Files 接口。 - 停止序列:命中停止序列时,
stop_reason返回end_turn,stop_sequence字段为空。 - Haiku 长输入:
claude-haiku-5-5单次输入超过 10 万 tokens(缓存读取与写入的 token 也计入)时,整次请求按长上下文价格计费,见总表的分档价格。
请求地址与认证
在令牌管理创建 API Key,计费模式选择按量优先(推荐)或按量计费,并确认令牌分组可以调用所选模型,然后写入环境变量:
- 必须包含
model、messages和max_tokens; - 系统提示放在顶层
system字段; messages中只使用user和assistant两种角色。
发送消息
使用 Python 示例时,先执行python -m pip install anthropic。
- cURL
- Python
base_url 只写域名根,SDK 会自己拼接 /v1/messages,并自动发送认证头和 anthropic-version。示例关闭了自动重试,由应用决定失败后是否重发。
读取 content 内容块
回复位于content[],每个元素是一个带 type 的内容块。下面是只含文本的响应的关键字段(省略了 id、usage 等字段):
同一条回复可能包含多个内容块,第一个块也可能是
thinking 或 tool_use,所以不要直接读取 content[0].text。
- 遍历
content[]并按type处理; - 需要完整文本时,把所有
text块按顺序拼接。
message.json(在命令末尾加 -o message.json)后,可以用 jq 提取文本:
content 作为一条 assistant 消息放回 messages,再追加新的 user 消息。
流式输出
在请求体中加入"stream": true,响应改为 SSE 事件流。事件依次是:
message_start;- 每个内容块的
content_block_start/content_block_delta/content_block_stop; message_delta;- 最后以
message_stop结束。
ping。文本增量在 content_block_delta 事件里:
delta.type为text_delta;- 新增文本在
delta.text。
- cURL
- Python
-N 关闭输出缓冲。文本事件与结束事件的格式如下:
message_stop 才表示这条回复完整结束;在此之前连接断开,已收到的文本不完整。
工具调用
在请求中用tools 声明函数的名称、说明和 input_schema。模型需要调用函数时,会在 content[] 中返回 tool_use 块。网关不会替你执行这些函数,由业务程序处理:
- 读取
tool_use块的name和input,自己执行函数; - 把结果放进
tool_result块发回,tool_use_id填对应tool_use块的id。
assistant 消息要原样包含上一轮返回的完整 content,并在后续请求中继续携带同样的 tools。
Anthropic 托管的服务器工具(web_search_*、code_execution_* 等)不会在网关执行。Claude 模型收到这类工具会直接返回 400;其他模型只会把它作为普通的 tool_use 块返回。
需要联网搜索或运行代码时,由业务程序自己实现,并按上面的方式回传 tool_result。
在 Claude Code 中使用
Claude Code 同样使用 Anthropic Messages 格式:ANTHROPIC_BASE_URL设为https://api.laozhang.ai(域名根,不加/v1);- 模型选择「兼容端点」包含 Anthropic Messages 的模型 ID,例如
claude-sonnet-5-5或glm-5.2。两者都开放于default与claude_code分组,各分组的用途与权限以控制台说明为准。
~/.claude/settings.json 示例见 Claude Code 接入老张API;遇到 400 ValidationException 见 Claude Code 配置与 400 ValidationException 排查。
常见错误
- 401:API Key 无效或认证头格式不对。cURL 使用
Authorization: Bearer加老张API密钥;不要使用控制台账号的 AccessToken。 - 400,提示缺少
max_tokens:Messages 协议要求每个请求都带max_tokens,在请求体中补上即可。 - SDK 请求发到了
/v1/v1/messages:Anthropic SDK 的base_url多写了/v1。改为https://api.laozhang.ai,由 SDK 拼接路径。 - 读取
content[0].text报错或为空:第一个内容块可能是thinking或tool_use,按type遍历读取。 - 回复在中途截断:输出达到了
max_tokens上限,调大该值后重试。 - 声明了
web_search等服务器工具却没有结果:网关不执行服务器工具,由业务程序执行后回传tool_result。Claude 模型会直接返回 400,从tools中去掉这类工具即可。 - 529,提示上游繁忙:高峰期容量不足,稍后重试。Anthropic SDK 默认会自动重试 529。
- 403 或模型不可用:确认模型 ID 完整、其「兼容端点」包含 Anthropic Messages,且 API Key 所在令牌分组有该模型权限,排查步骤见模型可用性与权限。
- 5xx 或超时:先在调用日志确认请求状态,再决定是否重试。