API 參考
Messages
POST https://api.flyrouter.ai/v1/messages
Anthropic 原生的 Messages 介面,呼叫 Claude 系列的推薦方式:提示詞快取、深度思考、工具呼叫、圖片與結構化輸出等能力都能完整使用。Claude Code 也使用這個介面。
請求範例
終端機
curl https://api.flyrouter.ai/v1/messages \
-H "x-api-key: $FLYROUTER_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-5-5",
"max_tokens": 2048,
"system": "你是一位資深的程式碼審查員。",
"messages": [
{"role": "user", "content": "這段程式碼有什麼問題?\nfor i in range(len(xs)): print(xs[i])"}
]
}'Anthropic SDK 的 base_url 填 https://api.flyrouter.ai,不要帶 /v1,SDK 會自動補上 /v1/messages。
請求標頭
| 請求標頭 | 說明 |
|---|---|
x-api-key | API Key(也可以用 Authorization: Bearer) |
anthropic-version | 必填,填 2023-06-01 |
anthropic-beta | 可選,啟用 Beta 功能時使用,原樣轉發 |
請求參數
| 參數 | 型別 | 說明 |
|---|---|---|
model | string | 必填。Claude 模型 ID,如 claude-opus-5-5、claude-sonnet-5-5、claude-haiku-5-5 |
max_tokens | integer | 必填。最多生成的 token 數,較大時請使用串流 |
messages | array | 必填。user 與 assistant 交替的訊息,內容可以是文字或內容區塊陣列 |
system | string / array | 系統提示詞,陣列形式可以加 cache_control |
stream | boolean | 串流回傳,見 串流輸出 |
thinking | object | 深度思考,新款模型用 {"type": "adaptive"},見 深度思考 |
output_config | object | effort(思考深度)與 format(結構化輸出) |
tools / tool_choice | array / object | 工具呼叫 |
cache_control | object | 自動在最後一個可快取區塊上加快取斷點,見 提示詞快取 |
stop_sequences | array | 遇到這些字串時停止生成 |
metadata | object | 如 {"user_id": "..."} |
回應
json
{
"id": "msg_...",
"type": "message",
"role": "assistant",
"model": "claude-sonnet-5-5",
"content": [{ "type": "text", "text": "這段程式碼可以更 Pythonic……" }],
"stop_reason": "end_turn",
"usage": {
"input_tokens": 41,
"output_tokens": 156,
"cache_creation_input_tokens": 0,
"cache_read_input_tokens": 0
}
}stop_reason 的常見取值:
| 取值 | 意義 |
|---|---|
end_turn | 正常結束 |
max_tokens | 達到 max_tokens 被截斷,可調大後重試 |
tool_use | 模型請求呼叫工具,執行後回傳 tool_result |
refusal | 模型出於安全原因拒絕回答 |
讀取回覆前請先檢查 stop_reason,並遍歷 content 陣列,按 type 取 text、thinking、tool_use 等內容區塊。