Messages(Anthropic)
Messages 接口为 Anthropic 兼容。可用于 Claude 模型及目录中任意 Anthropic 协议模型。
POST https://api.smartapi.cc/api/openapi/v1/messages鉴权#
x-api-key: sk-your-key-here
anthropic-version: 2023-06-01
Content-Type: application/json请像官方 Anthropic SDK 那样带上 anthropic-version 请求头。可选的
anthropic-beta 请求头也会被转发给模型服务。
请求体#
支持标准的 Anthropic Messages 参数,并原样转发。常用字段:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 模型标识,例如 claude-haiku-4-6。 |
messages | array | 是 | 对话消息列表,每条含 role 与 content。 |
max_tokens | integer | 是 | 生成的最大 token 数(Anthropic 必填)。 |
stream | boolean | 否 | 以 SSE 流式返回响应。 |
system | string | 否 | 系统提示词。 |
temperature | number | 否 | 采样温度。 |
思考 / 推理#
是否开启「思考 / 推理」由你的请求参数决定。
支持思考的模型在模型页面带有 thinking 标签;未传以下参数时默认不开启思考。
| 字段 | 类型 | 说明 |
|---|---|---|
thinking | object | 扩展思考配置(对齐 Anthropic / Bedrock Claude)。字段见下。 |
reasoning_effort | string | 推理强度:none / minimal / low / medium / high / xhigh。与 thinking 同时存在时,以 thinking.type 为准。 |
thinking 对象字段:
| 字段 | 类型 | 说明 |
|---|---|---|
type | string | enabled 开启 / disabled 关闭。 |
budget_tokens | number | 思考 token 预算;需保证 max_tokens > budget_tokens。 |
display | string | 如 omitted,按上游是否支持透传。 |
{
"model": "claude-sonnet-4-6",
"max_tokens": 16000,
"messages": [{ "role": "user", "content": "你好" }],
"thinking": {
"type": "enabled",
"budget_tokens": 10000,
"display": "omitted"
}
}基础示例#
curl https://api.smartapi.cc/api/openapi/v1/messages \
-H "x-api-key: $SMARTAPI_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-haiku-4-6",
"max_tokens": 1024,
"messages": [
{ "role": "user", "content": "What is SmartAPI?" }
]
}'响应#
{
"id": "msg_...",
"type": "message",
"role": "assistant",
"model": "claude-haiku-4-6",
"content": [{ "type": "text", "text": "SmartAPI is..." }],
"stop_reason": "end_turn",
"usage": { "input_tokens": 18, "output_tokens": 92 }
}使用 Anthropic SDK#
将 SDK 的 base URL 指向 SmartAPI 的 OpenAPI 根路径,SDK 会自行拼接
/v1/messages。
import anthropic
client = anthropic.Anthropic(
api_key="sk-your-key-here",
base_url="https://api.smartapi.cc/api/openapi",
)
message = client.messages.create(
model="claude-haiku-4-6",
max_tokens=1024,
messages=[{"role": "user", "content": "Write a haiku about APIs."}],
)
print(message.content[0].text)流式响应#
将 stream 设为 true 即可增量接收 text/event-stream 事件。文本增量出现在
content_block_delta 事件中:
event: content_block_delta
data: {"type":"content_block_delta","delta":{"type":"text_delta","text":"Hello"}}用量与计费#
usage 对象返回 input_tokens 与 output_tokens,命中提示缓存时还会包含
cache_read_input_tokens。token 用量决定计费。