申請流程
要使用 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:錯誤請求,可能是由於缺少或無效的參數。400 api_not_implemented:錯誤請求,可能是由於缺少或無效的參數。401 invalid_token:未授權,無效或缺少授權令牌。429 too_many_requests:請求過多,您已超過速率限制。500 api_error:內部伺服器錯誤,伺服器出現問題。

