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 参数,并原样转发。常用字段:

字段类型必填说明
modelstring模型标识,例如 claude-haiku-4-6
messagesarray对话消息列表,每条含 rolecontent
max_tokensinteger生成的最大 token 数(Anthropic 必填)。
streamboolean以 SSE 流式返回响应。
systemstring系统提示词。
temperaturenumber采样温度。

思考 / 推理#

是否开启「思考 / 推理」由你的请求参数决定。 支持思考的模型在模型页面带有 thinking 标签;未传以下参数时默认不开启思考。

字段类型说明
thinkingobject扩展思考配置(对齐 Anthropic / Bedrock Claude)。字段见下。
reasoning_effortstring推理强度:none / minimal / low / medium / high / xhigh。与 thinking 同时存在时,以 thinking.type 为准。

thinking 对象字段:

字段类型说明
typestringenabled 开启 / disabled 关闭。
budget_tokensnumber思考 token 预算;需保证 max_tokens > budget_tokens
displaystringomitted,按上游是否支持透传。
{
  "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_tokensoutput_tokens,命中提示缓存时还会包含 cache_read_input_tokens。token 用量决定计费