文档OriHub
Anthropic Messages API
平台直接兼容 Anthropic 的 Messages API —— POST /v1/messages,官方 SDK 只是把它包了一层。用 SDK 就看Anthropic SDK,自己发 HTTP 请求就看这页。
消息生成
POST /v1/messages —— 生成一条消息。
鉴权两个头都行:x-api-key(Anthropic SDK 的默认行为)或 Authorization: Bearer,两者等价。
curl https://api.lk888.ai/v1/messages \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "sn-5",
"max_tokens": 1024,
"messages": [{ "role": "user", "content": "你好" }]
}'
请求参数
model—— 模型名(必填)messages—— 消息数组,每条带role(user / assistant)和content(必填)max_tokens—— 最大输出 token 数(必填,Anthropic 格式要求,建议 1024 以上)system—— system 提示词,独立字段,不放进messages(可选)stream—— 是否流式输出(可选)
响应
{
"id": "msg-xxx",
"type": "message",
"role": "assistant",
"model": "sn-5",
"content": [{ "type": "text", "text": "你好!有什么可以帮助你的?" }],
"stop_reason": "end_turn",
"usage": { "input_tokens": 10, "output_tokens": 15 }
}
content[0].text—— 回复正文usage.input_tokens/usage.output_tokens—— token 用量stop_reason—— 结束原因,end_turn是正常结束
流式
stream: true 返回 SSE,每行 data: {JSON},事件顺序是 message_start → content_block_start → content_block_delta → content_block_stop → message_delta → message_stop。
推理模型会先来 content_block_start(type=thinking)、thinking_delta、signature_delta,文本可能几秒到几十秒后才到 —— 客户端超时从第一个事件开始算,别等首个 text。
特别注意
- 错了返回
{"error": {"message": "错误描述", "type": "错误类型"}} max_tokens必填,省略直接报错- system 提示词必须放顶层
system,塞进messages里是错的 —— 这是 Anthropic 格式跟 OpenAI 最大的差别 - 分组路由由密钥的调度策略决定,请求体里的
channel_group和请求头X-Channel-Group都不改路由 - 这次调用花了多少:响应头
X-Task-Id是本平台的任务号(流式非流式都带,响应体里的id是上游生成的、不能用来查),拿它调GET /v1/skills/task-status?task_id={X-Task-Id},is_final = true时的cost就是结算金额