跳转到主要内容
POST
/
v1
/
messages
创建 Message
curl --request POST \
  --url https://api.example.com/v1/messages \
  --header 'Content-Type: application/json' \
  --header 'X-Api-Key: <x-api-key>' \
  --header 'anthropic-version: <anthropic-version>' \
  --data '
{
  "max_tokens": 123,
  "model": "<string>",
  "messages": [
    {
      "content": {}
    }
  ],
  "top_p": 123,
  "top_k": 123,
  "stop_sequences": [
    "<string>"
  ],
  "tool_choice": {},
  "cache_control": {
    "type": "<string>",
    "ttl": "<string>"
  },
  "inference_geo": "<string>",
  "output_config": {
    "effort": "<string>",
    "format": {
      "schema": [
        [
          [
            {}
          ]
        ]
      ],
      "type": "<string>"
    }
  },
  "service_tier": "<string>",
  "system": {},
  "temperature": 123,
  "stream": true,
  "thinking": {
    "budget_tokens": 123,
    "type": "<string>",
    "display": "<string>"
  },
  "tools": [
    {
      "input_schema": [
        [
          [
            {}
          ]
        ]
      ],
      "allowed_callers": [
        "<string>"
      ],
      "cache_control": {
        "type": "<string>",
        "ttl": "<string>"
      },
      "defer_loading": true,
      "eager_input_streaming": true,
      "input_examples": [
        {
          "key": {}
        }
      ],
      "name": "<string>",
      "description": "<string>",
      "type": "<string>",
      "strict": true
    }
  ],
  "metadata": {
    "user_id": "<string>"
  },
  "container": "<string>"
}
'
{
  "stop_reason": "<string>",
  "stop_sequence": "<string>",
  "stop_details": {
    "type": "<string>",
    "category": "<string>",
    "explanation": "<string>"
  },
  "id": "<string>",
  "type": "<string>",
  "role": "<string>",
  "content": [
    {}
  ],
  "model": "<string>",
  "container": {
    "expires_at": "<string>",
    "id": "<string>"
  },
  "usage": {
    "input_tokens": 123,
    "output_tokens": 123,
    "cache_creation_input_tokens": 123,
    "cache_read_input_tokens": 123,
    "cache_creation": {
      "ephemeral_5m_input_tokens": 123,
      "ephemeral_1h_input_tokens": 123
    },
    "inference_geo": "<string>",
    "output_tokens_details": {
      "thinking_tokens": 123
    },
    "server_tool_use": {
      "web_search_requests": 123,
      "web_fetch_requests": 123
    },
    "service_tier": "<string>"
  }
}
此接口兼容 Anthropic Claude Messages 协议,用于创建对话消息。

功能特性

  • 支持流式(SSE)和非流式两种响应模式
  • 支持多模态内容(文本、图片等)
  • 支持工具调用(Tool Use)
  • 支持思考/推理模式配置
  • 支持缓存控制优化

使用场景

适用于需要与 Claude 系列模型进行对话交互的场景,包括:
  • 单轮或多轮对话
  • 结构化输出(JSON Schema)
  • 工具调用与函数执行
  • 代码执行与容器复用

认证方式

在请求头中携带 Authorization 字段,格式为 Bearer YOUR_API_KEY
Claude 格式接口还需要在请求头中指定 anthropic-version,例如 2023-06-01

快速示例

import requests

url = "https://api.haitoken.ai/v1/messages"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json",
    "anthropic-version": "2023-06-01"
}
data = {
    "model": "claude-sonnet-4-0",
    "max_tokens": 1024,
    "messages": [
        {"role": "user", "content": "你好,请介绍一下自己"}
    ]
}

response = requests.post(url, json=data, headers=headers)
print(response.json())

请求头

anthropic-version
string
必填
示例:

"2023-06-01"

X-Api-Key
string
必填
示例:

"YOUR_API_KEY"

请求体

application/json
max_tokens
integer
必填

最大输出 token 数(必填)

model
string
必填

模型名称,如 claude-sonnet-4-0、claude-opus-4-0 等

messages
object[]
必填

消息列表

top_p
number

核采样,0-1

top_k
integer

Top-K 采样

stop_sequences
string[]

停止序列

tool_choice
object

工具选择配置,可以是 String 或 ClaudeToolChoice 对象

cache_control
object

顶层缓存控制配置 自动对请求中最后一个可缓存块应用 cache_control 标记

inference_geo
string

推理地理区域 指定推理处理的地理区域。如未指定,使用工作区的 default_inference_geo

output_config
object

输出配置 配置模型输出的格式选项,如 effort 级别和结构化输出格式

service_tier
string

服务层级 决定使用优先容量(如可用)还是标准容量 可选值: "auto" / "standard_only"

system
object

系统指令,可以是 String 或 List

temperature
number

采样温度,0.0-1.0

stream
boolean

是否启用流式输出

thinking
object

思考/推理模式配置

tools
object[]

工具定义列表

metadata
object

元数据

container
string

容器标识符,用于跨请求复用容器(代码执行工具)

响应

200 - application/json

Claude Messages API 非流式响应 参考:https://platform.claude.com/docs/en/api/messages/create

stop_reason
string

停止原因: end_turn / max_tokens / stop_sequence / tool_use / pause_turn / refusal message_start 事件中始终输出(即使为 null)

stop_sequence
string

命中的停止序列 (可为 null) message_start 事件中始终输出(即使为 null)

stop_details
object

拒绝停止详情 当模型因安全策略拒绝时返回的结构化信息

id
string

消息 ID (msg_ 前缀)

type
string

对象类型,始终 "message"

role
string

角色,始终 "assistant"

content
object[]

响应内容块列表

model
string

模型名称(实际完成任务的模型名称)

container
object

容器信息 代码执行工具的容器标识,用于跨请求复用

usage
object

用量统计