跳转到主要内容
/v1/messages 端点接受 Anthropic 原生 Claude Messages API 格式的请求。如果你已使用 anthropic Python 或 JavaScript SDK,只需修改 base URL 即可将请求指向 OpenOpen8——所有请求和响应字段完全一致。OpenOpen8 使用你控制台中的 token 进行认证,并将请求路由到配置好的 Claude 渠道。你也可以将 Claude 格式的请求发送到非 Claude 上游渠道,OpenOpen8 会自动转换格式。

端点

POST /v1/messages

认证

Claude Messages 请求使用两个头(非 Authorization):
头字段是否必需说明
x-api-key你的 OpenOpen8 token
anthropic-version必须为 2023-06-01
如果你的客户端不支持 x-api-key,也可使用 Authorization: Bearer YOUR_TOKEN。OpenOpen8 两种方式都接受。

请求参数

model
string
必填
要使用的 Claude 模型,例如 claude-opus-4-5claude-3-7-sonnet-20250219。要启用扩展思考,使用 -thinking 模型名后缀:claude-3-7-sonnet-20250219-thinking
messages
object[]
必填
对话历史。消息在 userassistant 角色间交替。第一条消息必须是 user 角色。
max_tokens
integer
必填
最大生成 token 数。Claude Messages API 要求此字段必填。值不得超过模型的输出 token 限制。
system
string | object[]
系统提示词,为对话设置上下文和指令。传字符串,或传内容块数组用于高级场景(如缓存系统提示词)。
stream
boolean
默认值:"false"
设为 true 时,响应以 Anthropic 流式格式的 SSE 返回。事件类型包括 message_startcontent_block_startcontent_block_deltacontent_block_stopmessage_deltamessage_stop
temperature
number
采样温度,范围 01。值越高输出越多样。
top_p
number
核采样概率质量,取值 01。建议在不设 temperature 时使用。
top_k
integer
仅从最可能的前 k 个 token 中采样。大多数场景不建议使用。
stop_sequences
string[]
自定义停止序列。模型遇到这些序列时停止生成,输出不包含停止序列本身。
tools
object[]
模型可调用的工具。每个工具定义一个可调用的函数。
tool_choice
object
控制模型如何选择工具。
thinking
object
为支持的模型启用扩展思考。也可使用 -thinking 模型名后缀作为替代。

响应字段

id
string
此消息的唯一标识符,格式为 msg_...
type
string
完整响应始终为 "message"
role
string
生成消息的角色,始终为 "assistant"
content
object[]
响应中的内容块数组。
model
string
生成响应的模型。
stop_reason
string
模型停止生成的原因。可选值:"end_turn"(自然结束)、"max_tokens"(达到 token 限制)、"stop_sequence"(匹配自定义停止序列)或 "tool_use"(模型调用了工具)。
usage
object
此次请求的 token 用量统计。

示例

curl https://openopen8.ai/v1/messages \
  -H "x-api-key: YOUR_TOKEN" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-opus-4-5",
    "max_tokens": 1024,
    "system": "You are a concise technical assistant.",
    "messages": [
      {"role": "user", "content": "Explain what a mutex is in one paragraph."}
    ]
  }'
响应示例:
{
  "id": "msg_01XFDUDYJgAACzvnptvVoYEL",
  "type": "message",
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": "A mutex (mutual exclusion lock) is a synchronization primitive that ensures only one thread can access a shared resource at a time..."
    }
  ],
  "model": "claude-opus-4-5",
  "stop_reason": "end_turn",
  "usage": {
    "input_tokens": 28,
    "output_tokens": 87,
    "cache_creation_input_tokens": 0,
    "cache_read_input_tokens": 0
  }
}

格式转换

你也可以将 Claude 格式请求(/v1/messages)路由到非 Claude 上游渠道。OpenOpen8 自动进行格式转换,将 Claude Messages 格式翻译为上游服务商的原生格式。这让你可以用单一客户端格式跨服务商调用。转换为尽力而为;某些 Claude 特有功能(如扩展思考)可能在所有上游渠道中不可用。