AICoderBox logoAICoderBox
搜索文档…
API 参考

POST /v1/messages

Anthropic 兼容的消息端点

Anthropic 风格的消息接口,专给 Claude 系模型。请求与响应结构对齐 Anthropic Messages API,Claude Code 等原生工具零改造接入。

请求参数

字段类型必填说明
modelstringClaude 模型名,如 claude-sonnet-5
max_tokensint本次回复最大 token 数(Anthropic 必填)
messagesarray对话消息列表(user / assistant)
systemstring系统提示词
streambool当前请置为 false

请求示例

bash
curl https://coder.aicoderbox.com/v1/messages \
  -H "x-api-key: sk-acb-xxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-5",
    "max_tokens": 512,
    "system": "你是一个资深的 code reviewer",
    "messages": [
      {"role": "user", "content": "这段代码有什么并发隐患?"}
    ]
  }'

响应示例

json
{
  "id": "msg_01ab23cd",
  "type": "message",
  "role": "assistant",
  "model": "claude-sonnet-5",
  "content": [
    {
      "type": "text",
      "text": "主要隐患是共享计数器没加锁,多个协程同时自增会丢更新……"
    }
  ],
  "stop_reason": "end_turn",
  "usage": {
    "input_tokens": 34,
    "output_tokens": 128
  }
}
同一把 Key,别弄错端点: Claude 模型只能走 /v1/messages;若拿 Claude 名字去调 /v1/chat/completions,或拿 GPT 名字调 /v1/messages,会返回 404 模型不存在。

用 Python SDK

python
import anthropic

client = anthropic.Anthropic(
    base_url="https://coder.aicoderbox.com",
    api_key="sk-acb-xxxx",
)

msg = client.messages.create(
    model="claude-sonnet-5",
    max_tokens=512,
    messages=[{"role": "user", "content": "你好"}],
)
print(msg.content[0].text)

错误示例

json
// HTTP 401
{ "detail": "无效的 API Key" }