RequestBeam

文档目录

RequestBeam 文档

Claude Messages

Claude 原生 Messages 兼容接口。该接口使用 Anthropic Messages 请求和响应格式,适合 Claude Code、工具调用、流式输出和需要 Anthropic 原生事件格式的应用。

POSThttps://api.requestbeam.com/anthropic/v1/messages

Claude 原生 Messages 兼容接口。该接口使用 Anthropic Messages 请求和响应格式,适合 Claude Code、工具调用、流式输出和需要 Anthropic 原生事件格式的应用。

text
POST https://api.requestbeam.com/anthropic/v1/messages

验证

所有接口都需要使用 RequestBeam API Key 认证。Anthropic SDK、Claude Code 和兼容客户端通常使用 x-api-key;普通 HTTP 客户端也可以使用 Bearer Token。

http
x-api-key: YOUR_REQUESTBEAM_API_KEY
anthropic-version: 2023-06-01
http
Authorization: Bearer YOUR_REQUESTBEAM_API_KEY
anthropic-version: 2023-06-01

Body

modelstring必填默认: claude-sonnet-4-6

支持的 Claude 模型 ID。

  • claude-fable-5
  • claude-fable-5-1
  • claude-haiku-4-5
  • claude-opus-4-5
  • claude-opus-4-6
  • claude-opus-4-7
  • claude-opus-4-8
  • claude-opus-5
  • claude-opus-5-5
  • claude-sonnet-4-5
  • claude-sonnet-4-6
  • claude-sonnet-5

当前 API Key 的实际可用范围以 GET https://api.requestbeam.com/v1/models 返回结果为准。

max_tokensinteger必填

最大输出 token 数量,必须是正安全整数。该预算包含 thinking 和最终正文的输出 token。 缺失、零、负数、小数、字符串或非安全整数会在生成和计费前返回 HTTP 400, 错误类型为 invalid_request_error。模型可能有更低的上限。

对包含 thinking 的模型,128 等较小预算可能只产生 thinking 内容块,随后以 stop_reason: "max_tokens" 结束,没有文本正文。请按任务和所选模型显式设置预算, 为思考和最终正文留出空间。示例数值是可调整的额度,不是上游默认值或模型上限; 较大额度可能增加输出用量和费用。

messagesobject[]必填

对话消息数组。每条消息包含 role 和 content。

role 支持 user 和 assistant。content 可以是字符串,也可以是内容块数组。

systemstring | object[]

系统指令。Anthropic Messages 使用独立的 system 字段,不使用 messages 里的 system role。

streamboolean默认: false

是否返回 Anthropic SSE 事件。

temperaturenumber

采样温度。可接受范围及实际效果因所选模型而异。

top_pnumber

核采样参数。请求被接受不代表该参数一定改变生成行为。

top_kinteger

top-k 采样参数,支持情况由所选模型决定。

stop_sequencesstring[]

停止序列。

携带非空停止序列的请求不会交给已知不支持该参数的模型服务;若没有可用的兼容服务,则在生成和计费前返回 400。

toolsobject[]

Anthropic 工具定义。函数工具通常使用 name、description 和 input_schema。

tool_choiceobject

工具选择策略,例如 { "type": "auto" } 或 { "type": "tool", "name": "..." }。

thinkingobject

原生 Anthropic thinking 配置,实际支持取决于所选模型及供应商。 Claude 4.5 使用 { "type": "enabled", "budget_tokens": 1024 };Sonnet/Opus 4.6 也支持 adaptive thinking。不要将手动预算配置套用于所有模型版本。 工具续轮应按原顺序回传完整 assistant 内容,包括 thinking、signature、 redacted_thinking 和 tool_use,不要改写。工具调用及结果回传期间保持 thinking 配置和所需 anthropic-beta 请求头一致。 SSE 中应按同一内容块拼接 signature_delta.signature;thinking 摘要为空也不能丢弃签名。 供应商账户权限拒绝属于上游故障,不能据此判断签名无效。已识别的 Bedrock 账户权限拒绝 返回 HTTP 502 和 api_error;普通客户端参数错误仍为 HTTP 400。实际调用仍需上游账户开通权限。

metadataobject

请求元数据。

Prompt Cache

可以在 system 或消息内容块中加入 cache_control: { "type": "ephemeral" }。命中缓存时,usage 会返回 cache_creation_input_tokens、cache_read_input_tokens,以及支持的 5 分钟 / 1 小时 cache creation 明细。1 小时 TTL 还需要对应的 anthropic-beta header。

请求体示例

非流式

json
{
  "model": "claude-sonnet-4-6",
  "max_tokens": 1024,
  "messages": [
    {
      "role": "user",
      "content": "你好,请用一句话介绍你自己。"
    }
  ],
  "stream": false
}

流式

json
{
  "model": "claude-haiku-4-5",
  "max_tokens": 1024,
  "messages": [
    {
      "role": "user",
      "content": "Reply exactly OK."
    }
  ],
  "stream": true
}

Response

非流式响应保持 Anthropic Message 结构。

idstring

响应 ID,例如 msg_...。

typestring

对象类型,通常为 message。

rolestring

通常为 assistant。

modelstring

实际使用的 Claude 模型。

contentobject[]

输出内容块数组,可能包含 text、tool_use 和 thinking 等原生内容块。

stop_reasonstring

停止原因,例如 end_turn、max_tokens、stop_sequence 或 tool_use。

usageobject

Token 使用统计,包含 input_tokens 和 output_tokens。如果响应包含缓存 token 信息,也会在这里返回。

成功响应示例

json
{
  "id": "msg_01...",
  "type": "message",
  "role": "assistant",
  "model": "claude-sonnet-4-6",
  "content": [
    {
      "type": "text",
      "text": "你好,我是 Claude,可以帮助你处理写作、代码和分析任务。"
    }
  ],
  "stop_reason": "end_turn",
  "stop_sequence": null,
  "usage": {
    "input_tokens": 18,
    "output_tokens": 24
  }
}

流式响应

stream: true 时返回 Anthropic SSE 事件,常见事件包括:

  • message_start
  • content_block_start
  • content_block_delta
  • content_block_stop
  • ping
  • message_delta
  • message_stop

失败响应

完整错误码、协议差异和排查步骤见错误码与错误处理。

错误响应保持 Anthropic 风格:

json
{
  "type": "error",
  "error": {
    "type": "authentication_error",
    "message": "Invalid credentials or API key has expired."
  }
}