← Docs/

§ API 参考

POST /v1/messages

Anthropic Messages API 兼容端点. 把 HiPMM Engine 当成 Anthropic 网关用 — 客户端零改造, 直接换 base_url + key.

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"
  }
}
字段类型必填说明
modelstringAnthropic 模型名 (managed 模式: claude-opus-4-7 / claude-sonnet-4-6 等)
max_tokensinteger输出上限, 1-200000
messagesarray对话历史, role ∈ {user,assistant}, content 可以是 string 或 block 数组
systemstring | block[]system prompt, 等价 OpenAI 的 system role
streambooleantrue 走 SSE; 默认 false
temperaturenumber0-1, 默认 1
top_p / top_knumber/integer采样参数
stop_sequencesstring[]停止序列
toolsarraytool use (function calling)
metadataobject客户端自定义, 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

错误码

HTTPcode原因
400INVALID_REQUESTmessages 为空 / max_tokens 越界
401INVALID_API_KEYkey 无效或已撤销
403MODEL_NOT_ALLOWED当前套餐不支持该模型
429RATE_LIMIT_EXCEEDED限流 (60/300/1500 RPM by plan)
429QUOTA_EXCEEDED本月配额已用完
502LLM_PROVIDER_ERROR上游 (Anthropic / BYOM) 返回 5xx
504LLM_TIMEOUT上游超时

完整错误码表见 错误码.