API 参考
消息
Anthropic 兼容的消息端点。
仅覆盖已注册端点的文本请求子集。模型可用性及参数支持以当前令牌、控制台和具体模型为准。
POST
创建 Anthropic 兼容的文本回复。
AnthropicKeyheader
x-api-key<token>anthropic-version*stringAnthropic 协议版本,例如 2023-06-01。
application/json- body
model*string从控制台或 GET /v1/models 复制可用模型 ID。
messages*array<>对话消息。
max_tokens*integer输出 token 预算;按模型支持的范围设置。
system?string独立于 messages 的系统指令。
stream?boolean启用 SSE;参见流式输出文档。
temperature?number采样温度;支持情况和范围取决于模型。
成功;以下结构展示非流式响应。字段与具体模型有关。
application/json- response
id?stringtype?stringrole?stringmodel?stringcontent?array<>stop_reason?string参数表
认证:x-api-key: API_KEY; Content-Type: application/json
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
anthropic-version | string | 是 | Anthropic 协议版本,例如 2023-06-01。 |
model | string | 是 | 从控制台或 GET /v1/models 复制可用模型 ID。 |
messages | array | 是 | 对话消息。 |
max_tokens | integer | 是 | 输出 token 预算;按模型支持的范围设置。 |
system | string | 否 | 独立于 messages 的系统指令。 |
stream | boolean | 否 | 启用 SSE;参见流式输出文档。 |
temperature | number | 否 | 采样温度;支持情况和范围取决于模型。 |
请求示例
先在本机环境设置 API_KEY;POST 请求还需设置 MODEL(从控制台复制)。messages 还需设置模型支持的 MAX_TOKENS。curl 的 POST 示例用 Python 标准库安全构造 JSON。
curl
Bash
export API_BASE_URL='https://xtemapi.com/v1'
: "${API_KEY:?Set API_KEY}"
: "${MODEL:?Set MODEL}"
: "${MAX_TOKENS:?Set MAX_TOKENS for your model}"
PAYLOAD="$(python3 - <<'PY'
import json, os
print(json.dumps({"model":os.environ["MODEL"],"messages":[{"role":"user","content":"Hello"}],"max_tokens":int(os.environ["MAX_TOKENS"])}))
PY
)"
curl --fail-with-body "${API_BASE_URL}/messages" \
-H "x-api-key: ${API_KEY}" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
--data "$PAYLOAD"Python
Python
# Python standard library
import json, os
from urllib.request import Request, urlopen
url = "https://xtemapi.com/v1/messages"
headers = {"x-api-key":os.environ["API_KEY"],"anthropic-version":"2023-06-01"}
headers["Content-Type"] = "application/json"
payload = {"model":os.environ["MODEL"],"messages":[{"role":"user","content":"Hello"}],"max_tokens":int(os.environ["MAX_TOKENS"])}
request = Request(url, data=json.dumps(payload).encode(), headers=headers, method="POST")
with urlopen(request) as response:
print(json.load(response))Node.js
JavaScript
// Node.js with built-in fetch; save as example.mjs
if (!process.env.API_KEY || !process.env.MODEL || !process.env.MAX_TOKENS) throw new Error("Set the required environment variables");
const response = await fetch("https://xtemapi.com/v1/messages", {
method: "POST",
headers: {"x-api-key":process.env.API_KEY,"anthropic-version":"2023-06-01","Content-Type":"application/json"},
body: JSON.stringify({"model":process.env.MODEL,"messages":[{"role":"user","content":"Hello"}],"max_tokens":Number(process.env.MAX_TOKENS)}),
});
if (!response.ok) throw new Error(await response.text());
console.log(await response.json());响应示例(结构示意)
占位文本与注释需替换为实际响应值。这里省略模型相关的用量等字段,不展示虚构的 token 数或向量。
jsonc
{
"id": "<request-specific ID>",
"type": "message",
"role": "assistant",
"model": "<selected model ID>",
"content": [{"type": "text", "text": "<generated text>"}],
"stop_reason": "end_turn"
}