01
端点
- Method
POST- Path
/v1/messages- Auth
x-api-key: hipmm_sk_...- Version
anthropic-version: 2023-06-01- Stream
- ✅ SSE (text/event-stream)
- Cost
- 10 units (managed) / 4 units (BYOM)
- Plan
- Starter / Pro / Enterprise
02
请求体
application/json
{
"model": "claude-opus-4-7",
"max_tokens": 1024,
"system": "You are PMM-8+ aware. Respond with codenames where possible.",
"messages": [
{ "role": "user", "content": "我是 I-A-L-X-ID-AR(PR)-SE-LT, 我适合什么职业?" }
],
"stream": true,
"temperature": 0.6,
"metadata": {
"user_id": "leo-001"
}
}| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| model | string | ✅ | Anthropic 模型名 (managed 模式: claude-opus-4-7 / claude-sonnet-4-6 等) |
| max_tokens | integer | ✅ | 输出上限, 1-200000 |
| messages | array | ✅ | 对话历史, role ∈ {user,assistant}, content 可以是 string 或 block 数组 |
| system | string | block[] | — | system prompt, 等价 OpenAI 的 system role |
| stream | boolean | — | true 走 SSE; 默认 false |
| temperature | number | — | 0-1, 默认 1 |
| top_p / top_k | number/integer | — | 采样参数 |
| stop_sequences | string[] | — | 停止序列 |
| tools | array | — | tool use (function calling) |
| metadata | object | — | 客户端自定义, Engine 不上传给上游 |
03
响应 (非流式 200 OK)
application/json
{
"id": "msg_01abc...",
"type": "message",
"role": "assistant",
"model": "claude-opus-4-7",
"content": [
{ "type": "text", "text": "..." }
],
"stop_reason": "end_turn",
"stop_sequence": null,
"usage": {
"input_tokens": 142,
"output_tokens": 568,
"cache_creation_input_tokens": 0,
"cache_read_input_tokens": 0
}
}响应结构 100% 与 Anthropic 官方一致. 把 Anthropic SDK 的 base_url 换成 https://engine.hipmm.dev/v1, key 换成 hipmm_sk_... 即可.
04
流式 (SSE)
text/event-stream · 节选
event: message_start
data: {"type":"message_start","message":{"id":"msg_01...","model":"claude-opus-4-7", ...}}
event: content_block_start
data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""}}
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"深"}}
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"思"}}
...
event: message_delta
data: {"type":"message_delta","delta":{"stop_reason":"end_turn"},"usage":{"output_tokens":568}}
event: message_stop
data: {"type":"message_stop"}05
客户端示例
python · anthropic SDK
from anthropic import Anthropic
client = Anthropic(
api_key="hipmm_sk_xxx",
base_url="https://engine.hipmm.dev/v1", # 唯一改动
)
msg = client.messages.create(
model="claude-opus-4-7",
max_tokens=1024,
messages=[{"role": "user", "content": "Hi"}],
)
print(msg.content[0].text)typescript · @anthropic-ai/sdk
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({
apiKey: "hipmm_sk_xxx",
baseURL: "https://engine.hipmm.dev/v1",
});
const msg = await client.messages.create({
model: "claude-opus-4-7",
max_tokens: 1024,
messages: [{ role: "user", content: "Hi" }],
});06
BYOM 模式
走自己的 Anthropic key. Engine 只透传, 不缓存 prompts. 见 BYOM 文档.
header 加 X-HiPMM-LLM-Config
x-api-key: hipmm_sk_xxx
x-hipmm-llm-config: {"mode":"byom_proxy","provider":"anthropic","api_key":"sk-ant-..."}
anthropic-version: 2023-06-01
content-type: application/json提示
BYOM 模式下 model 字段必须是 provider 实际支持的模型名. 仅 Pro / Enterprise 套餐开通.
07
错误码
| HTTP | code | 原因 |
|---|---|---|
| 400 | INVALID_REQUEST | messages 为空 / max_tokens 越界 |
| 401 | INVALID_API_KEY | key 无效或已撤销 |
| 403 | MODEL_NOT_ALLOWED | 当前套餐不支持该模型 |
| 429 | RATE_LIMIT_EXCEEDED | 限流 (60/300/1500 RPM by plan) |
| 429 | QUOTA_EXCEEDED | 本月配额已用完 |
| 502 | LLM_PROVIDER_ERROR | 上游 (Anthropic / BYOM) 返回 5xx |
| 504 | LLM_TIMEOUT | 上游超时 |
完整错误码表见 错误码.