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-keyAPI Key(也可以用 Authorization: Bearer)
anthropic-version必填,填 2023-06-01
anthropic-beta可選,啟用 Beta 功能時使用,原樣轉發

請求參數

參數型別說明
modelstring必填。Claude 模型 ID,如 claude-opus-5-5、claude-sonnet-5-5、claude-haiku-5-5
max_tokensinteger必填。最多生成的 token 數,較大時請使用串流
messagesarray必填。user 與 assistant 交替的訊息,內容可以是文字或內容區塊陣列
systemstring / array系統提示詞,陣列形式可以加 cache_control
streamboolean串流回傳,見 串流輸出
thinkingobject深度思考,新款模型用 {"type": "adaptive"},見 深度思考
output_configobjecteffort(思考深度)與 format(結構化輸出)
tools / tool_choicearray / object工具呼叫
cache_controlobject自動在最後一個可快取區塊上加快取斷點,見 提示詞快取
stop_sequencesarray遇到這些字串時停止生成
metadataobject如 {"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 等內容區塊。

FlyRouter

一組 Key,直飛全球大型模型