文本
创建消息
使用 Anthropic Messages API 格式创建消息
该接口使用 Anthropic Messages 请求和响应格式,适合 Claude 的文本、图片、工具和扩展思考功能。
messages 只接受 user 和 assistant;系统指令放在顶层 system,并且必须提供 max_tokens。如果消息中使用 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 的消息对象数组。
对于支持视觉能力的 Claude 模型,content 可以是纯字符串,也可以是内容块数组。传图片时请使用结构化内容块,而不是把图片 URL 或 Base64 直接写进纯文本里。
内容块示例:
- 文本块:
{ "type": "text", "text": "请描述这张图片" } - URL 图片块:
{ "type": "image", "source": { "type": "url", "url": "https://example.com/image.jpg" } } - Base64 图片块:
{ "type": "image", "source": { "type": "base64", "media_type": "image/png", "data": "iVBORw0KGgoAAA..." } }
要生成的最大 token 数。
系统提示词,可以是字符串或内容块数组,单独放在顶层,不放入 messages 数组。
采样温度。是否支持、允许的取值和默认值取决于所选模型;省略此字段即可使用模型默认值。
false启用流式响应。
原生 thinking 配置。支持的模式、预算以及与其他参数的组合取决于所选模型。
模型可用的工具。
原生工具选择对象,例如 {"type":"auto"}。支持的类型取决于所选模型。
Top P 采样参数。建议只调整 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 Message Batches
TokenLab 也支持 Anthropic Message Batches API。
可用接口:
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 密钥和 Anthropic 请求头。
- 如果 batch item 引用了
file_id,还需要加上anthropic-beta: files-api-2025-04-14。 - 请求与响应保持 Anthropic Message Batches 格式,费用可以在 TokenLab Usage 中查询。
授权
BearerAuth API Key 身份验证。在 Dashboard > API > API Keys 中创建或管理 API Key。
位置: header
请求头
单次请求的交付策略。覆盖 API 密钥和 Workspace 的默认设置。自动优先尝试 TokenLab Verified,并在输出、请求接受或持久资源创建之前,可能会切换一次至仅限 Official。
可选值
- "auto"
- "verified"
- "official"
请求体
application/json
响应
application/json
application/json
application/json
application/json
application/json
application/json