Messages API
xmAI 原生兼容 Anthropic Messages API(/v1/messages),无需修改代码即可将官方 Anthropic SDK 接入 xmAI。
端点
POST https://api.xmai.sg/v1/messages认证方式与 /v1/chat/completions 相同,使用 Authorization: Bearer <xmAI-API-Key> 请求头。
最小示例(curl)
bash
curl -X POST https://api.xmai.sg/v1/messages \
-H "Authorization: Bearer $XMAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-4-6",
"messages": [{"role": "user", "content": "你好!"}],
"max_tokens": 1024
}'SDK 接入(零代码改动)
使用官方 @anthropic-ai/sdk,只需设置 baseURL:
typescript
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({
baseURL: "https://api.xmai.sg",
apiKey: process.env.XMAI_API_KEY,
});
const message = await client.messages.create({
model: "claude-sonnet-4-6",
max_tokens: 1024,
messages: [{ role: "user", content: "你好,Claude!" }],
});
console.log(message.content[0].text);计费详情(x_billing_details)
响应中的 usage._billing 以及顶层 x_billing_details 字段包含本次请求的计费快照:
json
{
"usage": {
"input_tokens": 10,
"output_tokens": 5,
"_billing": {
"dimensions": {
"input": 10,
"output": 5
},
"cost_micro_usd": 120,
"saved_micro_usd": 0
}
},
"x_billing_details": {
"dimensions": { "input": 10, "output": 5 },
"cost_micro_usd": 120,
"saved_micro_usd": 0
}
}usage._billing:遵循 Anthropic 非官方扩展字段约定(下划线前缀)。x_billing_details:顶层镜像字段,与usage._billing为同一对象引用。cost_micro_usd:本次请求费用(单位:百万分之一美元)。saved_micro_usd:相比官方价格节省的金额。
支持字段
与 Anthropic Messages API 完全兼容,包括:
model、messages、max_tokens(必填)system(字符串或数组,支持cache_control)temperature、top_p、top_k、stop_sequencesstream、tools、tool_choicethinking、metadata.user_id
不支持的端点
以下端点暂不支持(在未来独立 Story 中实现):
POST /v1/messages/count_tokensPOST /v1/messages/batches