Claude Messages API
使用 Anthropic Claude 原生 Messages API 格式创建对话。需要在请求头中包含 anthropic-version。
Authorizations
参数
类型
位置
必填
说明
Authorization
string
header
是
身份验证标头格式为 Bearer <API_KEY>,其中 <API_KEY> 是您的API令牌。
anthropic-version
string
header
是
Anthropic API 版本,例如:2023-06-01
x-api-key
string
header
否
Anthropic API Key(可选,也可使用 Bearer Token)
Body
application/json
参数
类型
必填
说明
model
string
是
要使用的模型的 ID。例如:"claude-opus-4-5-20251101"、"claude-sonnet-4-5-20250929"
messages
array
是
消息数组,包含对话历史
max_tokens
integer
是
最大生成令牌数,至少为 1
system
string | array
否
系统提示词(字符串或对象数组)
temperature
number
否
温度参数,控制输出的随机性。范围:0 到 1
top_p
number
否
核采样参数
top_k
integer
否
Top-K 采样参数
stream
boolean
否
是否流式输出。默认:false
stop_sequences
array
否
停止序列数组
tools
array
否
工具定义数组(用于 Function Calling)
tool_choice
object
否
工具选择配置
thinking
object
否
Extended Thinking 配置(用于深度思考模式)
metadata
object
否
元数据对象
messages 子属性
参数
类型
必填
说明
role
string
是
角色。可选值:user、assistant
content
string | array
是
文本内容(字符串)或内容块数组(用于多模态)
content 数组元素(多模态)
参数
类型
必填
说明
type
string
是
内容类型:text、image
text
string
条件
文本内容(当 type 为 text 时)
source
object
条件
图片来源(当 type 为 image 时)
thinking 配置(Extended Thinking)
参数
类型
必填
说明
type
string
是
固定值:enabled
budget_tokens
integer
是
思考预算令牌数
Response
200 - 成功响应
参数
类型
说明
id
string
消息 ID
type
string
固定值:message
role
string
固定值:assistant
content
array
内容块数组
model
string
使用的模型
stop_reason
string
停止原因:end_turn、max_tokens、stop_sequence、tool_use
usage
object
用量统计
content 子属性
参数
类型
说明
type
string
内容类型:text、tool_use
text
string
文本内容(当 type 为 text 时)
usage 子属性
参数
类型
说明
input_tokens
integer
输入令牌数
output_tokens
integer
输出令牌数
cache_creation_input_tokens
integer
缓存创建输入令牌数(可选)
cache_read_input_tokens
integer
缓存读取输入令牌数(可选)
请求示例
cURL Python Node.js 流式输出 (Python)
curl --request POST \
--url https://cdn.12ai.org/v1/messages \
--header 'anthropic-version: 2023-06-01' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "claude-sonnet-4-5-20250929",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": "Hello, how are you?"
}
]
}'
import anthropic
client = anthropic . Anthropic (
api_key = "<token>" ,
base_url = "https://cdn.12ai.org"
)
message = client . messages . create (
model = "claude-sonnet-4-5-20250929" ,
max_tokens = 1024 ,
messages = [
{ "role" : "user" , "content" : "Hello, how are you?" }
]
)
print ( message . content [ 0 ] . text )
import Anthropic from '@anthropic-ai/sdk' ;
const client = new Anthropic ({
apiKey : '<token>' ,
baseURL : 'https://cdn.12ai.org'
});
const message = await client . messages . create ({
model : 'claude-sonnet-4-5-20250929' ,
max_tokens : 1024 ,
messages : [
{ role : 'user' , content : 'Hello, how are you?' }
]
});
console . log ( message . content [ 0 ]. text );
import anthropic
client = anthropic . Anthropic (
api_key = "<token>" ,
base_url = "https://cdn.12ai.org"
)
with client . messages . stream (
model = "claude-sonnet-4-5-20250929" ,
max_tokens = 1024 ,
messages = [
{ "role" : "user" , "content" : "Hello, how are you?" }
]
) as stream :
for text in stream . text_stream :
print ( text , end = "" , flush = True )
响应示例
{
"id" : "msg_01XFDUDYJgAACzvnptvVoYEL" ,
"type" : "message" ,
"role" : "assistant" ,
"content" : [
{
"type" : "text" ,
"text" : "Hello! I'm doing well, thank you for asking. How can I assist you today?"
}
],
"model" : "claude-sonnet-4-5-20250929" ,
"stop_reason" : "end_turn" ,
"usage" : {
"input_tokens" : 12 ,
"output_tokens" : 19
}
}
Extended Thinking 示例
Extended Thinking(深度思考)模式允许模型在回答前进行更深入的推理。
cURL Python
curl --request POST \
--url https://cdn.12ai.org/v1/messages \
--header 'anthropic-version: 2023-06-01' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "claude-sonnet-4-5-20250929",
"max_tokens": 16000,
"thinking": {
"type": "enabled",
"budget_tokens": 10000
},
"messages": [
{
"role": "user",
"content": "请解释量子纠缠的原理"
}
]
}'
import anthropic
client = anthropic . Anthropic (
api_key = "<token>" ,
base_url = "https://cdn.12ai.org"
)
message = client . messages . create (
model = "claude-sonnet-4-5-20250929" ,
max_tokens = 16000 ,
thinking = {
"type" : "enabled" ,
"budget_tokens" : 10000
},
messages = [
{ "role" : "user" , "content" : "请解释量子纠缠的原理" }
]
)
# 思考内容
for block in message . content :
if block . type == "thinking" :
print ( "思考过程:" , block . thinking )
elif block . type == "text" :
print ( "回答:" , block . text )
多模态示例(图片输入)
Python
import anthropic
import base64
client = anthropic . Anthropic (
api_key = "<token>" ,
base_url = "https://cdn.12ai.org"
)
# 读取图片并转换为 base64
with open ( "image.jpg" , "rb" ) as f :
image_data = base64 . standard_b64encode ( f . read ()) . decode ( "utf-8" )
message = client . messages . create (
model = "claude-sonnet-4-5-20250929" ,
max_tokens = 1024 ,
messages = [
{
"role" : "user" ,
"content" : [
{
"type" : "image" ,
"source" : {
"type" : "base64" ,
"media_type" : "image/jpeg" ,
"data" : image_data
}
},
{
"type" : "text" ,
"text" : "请描述这张图片的内容"
}
]
}
]
)
print ( message . content [ 0 ] . text )
可用模型
claude-opus-4-5-20251101
claude-opus-4-5-20251101-c
claude-sonnet-4-5-20250929
claude-sonnet-4-5-20250929-c
claude-haiku-4-5-20251001
更多资源