开发文档
Messages(Anthropic 格式)
POST/v1/messages
目录里的所有文本模型都能用 Anthropic Messages 格式调用,不只是 Claude。把 Anthropic SDK 或 Claude Code 指向 https://api.boostrail.com,再填上你的 BoostRail Key 即可。
示例
curl https://api.boostrail.com/v1/messages \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-v4.1-flash",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "你好"}]
}'import anthropic
client = anthropic.Anthropic(api_key="YOUR_API_KEY", base_url="https://api.boostrail.com")
message = client.messages.create(
model="deepseek-v4.1-flash",
max_tokens=1024,
messages=[{"role": "user", "content": "你好"}],
)
print(message.content[0].text)鉴权用 x-api-key 或 Authorization: Bearer;两个都带时以 Bearer 为准。Claude Code 的配置见 编程 agent 接入。
请求体
| 字段 | 类型 | 说明 |
|---|---|---|
model | string,必填 | 模型页 上的文本模型 ID。 |
max_tokens | integer,必填 | 至少为 1。不支持 0(缓存预热),会返回 400。 |
messages | array,必填 | 见 内容块。 |
system | string 或文本块 | |
tools | array | 自定义工具,带 name、description 和 input_schema。服务端工具类型返回 400。工具上的 strict、defer_loading、cache_control 和 input_examples 会被丢掉,并列在 x-boostrail-degraded 里。 |
tool_choice | object | auto、any、none,或带 name 的 tool。disable_parallel_tool_use 会生效。 |
stop_sequences, temperature, top_p | 原样传给模型。 | |
stream | boolean | Anthropic 流式事件:message_start、内容块事件、带用量的 message_delta、message_stop。 |
metadata | object | metadata.user_id 用作路由的会话 ID(见 会话保持)。 |
thinking | object | 按承接这个模型的线路换成它认的写法。线路无法应用时,会列在 x-boostrail-degraded 里。 |
内容块
| 内容块 | 出现位置 | 处理方式 |
|---|---|---|
text | user、assistant | 支持。 |
image(base64 或 url 来源) | user | 模型支持图片输入时可用。 |
tool_use | assistant | 支持。 |
tool_result | user | content 可以是字符串或文本块。工具结果里的图片会换成一段简短的文字占位,其他类型的内容块返回 400。 |
thinking, redacted_thinking | 历史里的 assistant 轮次 | 接收后丢掉,并以 thinking_blocks 列在 x-boostrail-degraded 里。 |
其他类型,例如 document | 返回 400。 |
不支持的部分
output_format(结构化输出)返回 400。请改用工具,或在 Chat Completions 里用response_format。mcp_servers返回 400。POST /v1/messages/count_tokens返回 404,Claude Code 会改用本地估算。
接收但不生效
cache_control 标记,以及上表没有列出的顶层字段,都会被丢掉,并列在 x-boostrail-degraded 里。实际发生的缓存读取会记在 usage.cache_read_input_tokens,按该模型的缓存读取价格计费。
报错
报错使用 Anthropic 的格式:{"type": "error", "error": {"type": ..., "message": ...}, "request_id": ...},同时带一个值相同的 request-id 响应头。HTTP 状态码和报错信息与 报错与换线 里的错误码一致;error.type 按 Anthropic 对该状态码的映射给出。