申请流程
要使用 Claude Messages API,首先可以到 Claude Messages API 页面点击「Acquire」按钮,获取请求所需要的凭证:
如果你尚未登录或注册,会自动跳转到登录页面邀请您来注册和登录,登录注册之后会自动返回当前页面。
在首次申请时会有免费额度赠送,可以免费使用该 API。
基本使用
Claude Messages API 的请求路径为/v1/messages,与 Anthropic 官方 API 保持一致。我们至少需要提供三个必填参数:
model:选择使用的 Claude 模型,如claude-opus-4-20250514、claude-sonnet-4-20250514等。messages:输入的消息数组,每条消息包含role(角色)和content(内容),其中role支持user和assistant。max_tokens:最大输出 token 数,用于限制单次回复的长度。
system:系统提示词,用于设定模型的行为和角色。temperature:生成随机性,0-1 之间,值越大回复越发散。stream:是否使用流式响应,设为true可实现逐字返回效果。stop_sequences:自定义停止序列,模型遇到这些文本时会停止生成。top_p:核采样参数,与 temperature 配合控制生成的随机性。top_k:仅从概率最高的 K 个选项中采样。tools:工具定义,用于让模型调用外部函数。tool_choice:控制模型如何使用提供的工具。
cURL 示例
Python 示例
id:本次消息的唯一标识符。type:始终为message。role:始终为assistant。content:回复内容数组,每个元素包含type(如text)和对应的内容。model:处理请求的模型名称。stop_reason:停止原因,可能的值包括end_turn(正常结束)、max_tokens(达到最大长度)、stop_sequence(遇到停止序列)、tool_use(工具调用)。stop_sequence:如果因自定义停止序列而停止,显示匹配的停止序列文本。usage:token 使用统计,包含input_tokens(输入 token 数)和output_tokens(输出 token 数)。
系统提示词
Claude Messages API 支持通过system 字段设定系统提示词,用于定义模型的行为、角色和上下文。
Python 示例
system 提示词,可以精确地控制 Claude 的角色和行为方式。
流式响应
该接口也支持流式响应,将stream 参数设为 true 即可获得逐步返回的效果,非常适合在网页中实现逐字显示。
Python 示例
event: 和 data: 为前缀。流式事件类型包括:
message_start:消息开始,包含消息的基本信息和模型名称。content_block_start:内容块开始。content_block_delta:内容块增量更新,包含新生成的文本片段。content_block_stop:内容块结束。message_delta:消息级别的增量更新,包含stop_reason和最终的usage信息。message_stop:消息结束。
content_block_delta 事件包含了逐步生成的文本内容,通过拼接所有 text_delta 即可获得完整回复。
JavaScript 示例
多轮对话
如果您想要对接多轮对话功能,需要在messages 数组中交替排列 user 和 assistant 角色的消息,将之前的对话历史一并传入。
Python 示例
messages 中传递完整的对话历史,Claude 可以结合上下文进行准确的回答。
深度思考模型
Claude 支持 Extended Thinking(深度思考)功能,可以让模型在回复之前先进行内部推理,提升处理复杂问题的准确性。使用该功能时需要传入thinking 参数。
Python 示例
content 数组中包含了两个内容块:
type: "thinking":模型的内部思考过程,展示了推理步骤。type: "text":最终的回答结果。
- 使用
thinking时,max_tokens需要大于budget_tokens,因为budget_tokens是分配给思考过程的 token 预算。 budget_tokens越大,模型进行更深入推理的空间越大,适合处理复杂问题。
视觉模型
Claude 支持多模态输入,可以同时处理文本和图像。在 Messages API 中,通过将content 设为数组格式,并传入图像内容块即可使用视觉能力。
使用 Base64 编码图像
使用 URL 图像
cURL 示例
image/jpeg、image/png、image/gif、image/webp。
返回结果示例:
工具调用(Tool Use)
Claude Messages API 原生支持工具调用功能,允许模型在需要时调用您预定义的工具/函数。Python 示例
content 会包含 tool_use 类型的内容块:
stop_reason 为 tool_use,表示模型需要调用工具。收到该结果后,您需要执行工具函数并将结果以 tool_result 的形式回传给模型:
与 Chat Completion API 的区别
Ace Data Cloud 同时提供两种 Claude API 格式,两者的主要区别如下:| 特性 | Messages API (/v1/messages) | Chat Completion API (/v1/chat/completions) |
|---|---|---|
| 格式 | Anthropic 原生格式 | OpenAI 兼容格式 |
| 系统提示词 | 独立的 system 字段 | 通过 messages 中 role: "system" 传递 |
| 响应结构 | content 数组(支持多种类型) | choices 数组(包含 message) |
| 流式格式 | SSE 事件(多种事件类型) | SSE data 行 |
| 深度思考 | 原生 thinking 参数 | 通过特殊模型名触发(如 -thinking 后缀) |
| 工具调用 | 原生 tools + input_schema | OpenAI 兼容的 functions 格式 |
| Token 统计 | input_tokens / output_tokens | prompt_tokens / completion_tokens |
错误处理
在调用 API 时,如果遇到错误,API 会返回相应的错误代码和信息。例如:400 token_mismatched:Bad request, possibly due to missing or invalid parameters.400 api_not_implemented:Bad request, possibly due to missing or invalid parameters.401 invalid_token:Unauthorized, invalid or missing authorization token.429 too_many_requests:Too many requests, you have exceeded the rate limit.500 api_error:Internal server error, something went wrong on the server.

