文字
建立訊息
使用 Anthropic Messages API 格式建立訊息
概覽
此端點提供原生的 Anthropic Messages API 相容性。對於具備延伸思考等功能的 Claude 模型,請使用此端點。
此端點會保持 Anthropic 原生契約。messages 必須是 user / assistant 訊息陣列,system 應放在頂層 system 欄位,且 max_tokens 為必填。如果 payload 在 messages 中使用 OpenAI 的 system、developer 或 tool role,請改送 /v1/chat/completions。
Anthropic SDK 的 Base URL:https://api.tokenlab.sh(不含 /v1 後綴)
請求標頭
您的 TokenLab API 金鑰。透過 x-api-key 或 Authorization: Bearer <API_KEY> 擇一傳送。
Anthropic API 版本。請使用 2023-06-01。
請求主體
選用參數的支援情況、取值與預設值取決於所選模型。設定取樣、推理或工具選項前,請查看其模型詳情。
支援 anthropic_messages 格式的模型 ID。請查看其模型詳情確認目前能力。
訊息物件陣列,包含 role 與 content。
要生成的最大 token 數量。
系統提示詞,可以是字串或內容區塊陣列,獨立放在頂層,不放入 messages 陣列。
取樣溫度。是否支援、允許的取值與預設值取決於所選模型;省略此欄位即可使用模型預設值。
false啟用串流回應。
原生 thinking 設定。支援的模式、預算及與其他參數的組合取決於所選模型。
模型可用的工具。
原生工具選擇物件,例如 {"type":"auto"}。支援的類型取決於所選模型。
Nucleus sampling 參數。請使用 temperature 或 top_p 其中之一,不要同時使用。
每個 token 僅從前 K 個選項中取樣。
自訂停止序列,當出現時模型將停止生成。
附加到請求上的中繼資料,用於追蹤目的。
回應
唯一的訊息識別碼。
一律為 message。
一律為 assistant。
內容區塊陣列,例如 text、thinking 或 tool_use。
所使用的模型。
停止生成的原因,例如 end_turn、max_tokens、stop_sequence 或 tool_use。
Token 使用情況,包含 input_tokens 與 output_tokens。
請求
curl -X POST "https://api.tokenlab.sh/v1/messages" \
-H "x-api-key: sk-your-api-key" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-5",
"max_tokens": 1024,
"system": "You are a helpful assistant.",
"messages": [
{"role": "user", "content": "Hello, Claude!"}
]
}'回應
{
"id": "msg_abc123",
"type": "message",
"role": "assistant",
"content": [
{
"type": "text",
"text": "Hello! How can I help you today?"
}
],
"model": "claude-sonnet-5",
"stop_reason": "end_turn",
"usage": {
"input_tokens": 15,
"output_tokens": 10
}
}圖片輸入示例
對於支援視覺能力的 Claude 模型,請將圖片放在 messages[].content 中,作為結構化圖片內容區塊傳入。
{
"model": "claude-sonnet-5",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "請描述這張圖片。"
},
{
"type": "image",
"source": {
"type": "url",
"url": "https://example.com/demo.jpg"
}
}
]
}
]
}{
"model": "claude-sonnet-5",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "請描述這張圖片。"
},
{
"type": "image",
"source": {
"type": "base64",
"media_type": "image/jpeg",
"data": "/9j/4AAQSkZJRgABAQ..."
}
}
]
}
]
}延伸思考範例
將 TOKENLAB_THINKING_MODEL 設為支援 type: "enabled" 和 budget_tokens 手動思考設定的模型。依該模型限制調整兩個 token 預算;其他模型可能需要不同的 thinking 設定。
import os
from anthropic import Anthropic
client = Anthropic(
api_key="sk-your-api-key",
base_url="https://api.tokenlab.sh"
)
message = client.messages.create(
model=os.environ["TOKENLAB_THINKING_MODEL"],
max_tokens=16000,
thinking={
"type": "enabled",
"budget_tokens": 10000
},
messages=[{"role": "user", "content": "Solve this math problem..."}]
)
for block in message.content:
if block.type == "thinking":
print(f"Thinking: {block.thinking}")
elif block.type == "text":
print(f"Response: {block.text}")Anthropic 訊息批次
TokenLab 現在除了 /v1/messages 之外,也提供原生 Anthropic Message Batches 流程。
可用路由:
POST /v1/messages/batchesGET /v1/messages/batchesGET /v1/messages/batches/:message_batch_idGET /v1/messages/batches/:message_batch_id/resultsPOST /v1/messages/batches/:message_batch_id/cancelDELETE /v1/messages/batches/:message_batch_id
使用說明:
- 使用同一把 TokenLab API key 與 Anthropic 原生請求標頭。
- 如果 batch item 引用了
file_id,也要加上anthropic-beta: files-api-2025-04-14。 - Batch job 會維持 Anthropic 原生請求/回應格式,同時 TokenLab 會追蹤其內部結算生命週期。
授權
BearerAuth API Key 驗證。請在 Dashboard > API > API Keys 建立或管理 API 金鑰。
位置: header
請求標頭
單次請求傳遞策略。會覆寫 API key 與 Workspace 的預設值。系統會自動優先嘗試 TokenLab Verified,並可能在輸出、請求接受或建立持久性資源前切換至 Official 模式一次。
可選值
- "auto"
- "verified"
- "official"
請求主體
application/json
回應
application/json
application/json
application/json
application/json
application/json
application/json