Anthropic Messages

使用 POST /v1/messages 调用 Anthropic 兼容 Messages 接口。它适合 Claude 风格客户端:使用 content blocks、max_tokenssystemstop_reason,而不是 OpenAI Chat Completions 的 choices

接口地址

https://api.inoneapi.com/v1/messages

curl https://api.inoneapi.com/v1/messages \
  -H "Authorization: Bearer $INONEAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "anthropic/claude-3-5-sonnet",
    "max_tokens": 512,
    "system": "给出偏实现的建议。",
    "messages": [
      {
        "role": "user",
        "content": [
          { "type": "text", "text": "API 网关 Trace 应该怎么设计?" }
        ]
      }
    ]
  }'

参数

字段类型必填说明
modelstring已启用 Anthropic 协议的 InOneAPI 公共模型 ID。
max_tokensnumber最大生成 token 数。Anthropic 风格请求需要该字段。
messagesarray有序对话轮次,角色通常为 userassistant
systemstring/array位于 messages 外的系统指令。
temperaturenumber采样随机性,受模型和供应商限制。
top_pnumber核采样控制。
top_knumber支持时使用的 Anthropic 风格候选采样上限。
stop_sequencesarray自定义停止字符串。
streamboolean支持时返回 Anthropic 事件流。
toolsarrayAnthropic 兼容工具定义。
tool_choiceobject控制工具自动、强制或指定名称调用。
metadataobject业务侧元数据,不要放密钥。

Content blocks

消息 content 可以是字符串,也可以是带类型的 block 数组。最常见的是 text block;支持视觉的模型可根据映射接受 image block。

{
  "role": "user",
  "content": [
    { "type": "text", "text": "提取关键风险。" }
  ]
}

使用 Anthropic 工具调用时,工具结果应作为 user message 的 tool_result block 回传,并保持模型返回的 tool ID 不变。

响应

响应包含 assistant content blocks 和 Anthropic 风格 token 用量。

{
  "id": "msg_...",
  "type": "message",
  "role": "assistant",
  "model": "anthropic/claude-3-5-sonnet",
  "content": [
    { "type": "text", "text": "从入口生成稳定的 Trace ID 开始..." }
  ],
  "stop_reason": "end_turn",
  "usage": {
    "input_tokens": 42,
    "output_tokens": 28
  }
}

Token 统计

兼容映射开放时,可以使用 POST /v1/messages/count_tokens 预估输入 token。请求体与 Messages 字段一致,返回 input_tokens

curl https://api.inoneapi.com/v1/messages/count_tokens \
  -H "Authorization: Bearer $INONEAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "anthropic/claude-3-5-sonnet",
    "messages": [
      { "role": "user", "content": "统计这段内容。" }
    ]
  }'

流式与错误

流式响应返回供应商风格事件。客户端应分别处理 content delta、tool-use delta、message stop 和终止错误,并保存 X-Gateway-Trace-ID 用于诊断。

常见错误包括缺少 max_tokens、不支持的 content block、模型限制、预算限制和上游映射错误。401/403 检查密钥和权限,429 检查预算或速率,5xx 结合 Trace ID 排查网关或上游失败。