Claude API 接入指南:Anthropic 原生接口与密钥配置

通过极智时代网关调用 Anthropic Claude 模型:接口地址、鉴权方式、curl 示例、请求/响应字段、SSE 流式输出与常见错误码。

一、概述

极智时代为开发者提供 Anthropic Messages API(/v1/messages) 兼容的中转接入。你只需把请求发到本站网关,并将鉴权 Key 换成在「用户中心 - API 密钥」中创建的 sk- 密钥,即可直接使用 Claude 系列模型,无需改动已有代码。

当前开放的模型以模型广场为准(如 claude-sonnet-5claude-opus-5claude-sonnet-4-6claude-opus-4-8 等),完整清单与单价随时通过 GET /v1/models 查询。

二、接口地址

方法路径说明
POST/v1/messages中转转发入口,请求体为 Anthropic /v1/messages 载荷
GET/v1/models模型与单价列表(无需鉴权)

网关地址:https://www.azztimes.com。请求路径按上表原样填写。

三、鉴权方式

在「用户中心 → API 密钥」创建密钥,格式 sk-xxxxxxxx。调用时通过以下任一方式携带:

  • Authorization 头Authorization: Bearer sk-你的密钥(推荐,兼容大部分 SDK)
  • x-api-key 头x-api-key: sk-你的密钥

密钥无效、停用或余额不足时会返回 401 / 403,请先确认密钥状态与账户余额。

四、快速开始(curl)

4.1 非流式对话

curl -X POST https://www.azztimes.com/v1/messages \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-你的密钥" \
  -d '{
    "model": "claude-sonnet-5",
    "max_tokens": 1024,
    "messages": [
      {"role": "user", "content": "用一句话介绍你自己"}
    ]
  }'

4.2 携带 system 提示词与多轮对话

curl -X POST https://www.azztimes.com/v1/messages \
  -H "Content-Type: application/json" \
  -H "x-api-key: sk-你的密钥" \
  -d '{
    "model": "claude-opus-5",
    "max_tokens": 2048,
    "system": "你是一位严谨的技术文档工程师。",
    "messages": [
      {"role": "user", "content": "Claude Messages API 的鉴权头是什么?"},
      {"role": "assistant", "content": "使用 x-api-key 或 Authorization: Bearer 携带密钥。"},
      {"role": "user", "content": "再举一个流式请求的例子。"}
    ],
    "metadata": {"request_id": "demo-001"}
  }'

metadata.request_id 会写入用量日志,方便在「用户中心 → 用量明细」中对账。

五、请求参数

字段类型必填说明
modelstring模型 slug,如 claude-sonnet-5
max_tokensint最大输出 token 数,建议 1~64000
messagesarray对话消息,元素为 {role, content},role 取值 user / assistant
systemstring系统提示词
temperaturenumber采样温度,默认 1.0,范围 0~1
top_pnumber核采样,默认 0.999
streambool是否流式返回,默认 false
stop_sequencesarray停止序列
metadata.request_idstring自定义请求 ID,用于对账

六、响应结构

非流式请求返回标准 Anthropic Messages 结构:

{
  "id": "msg_01ABCDEFG",
  "type": "message",
  "role": "assistant",
  "model": "claude-sonnet-5",
  "content": [
    {"type": "text", "text": "你好!我是 Claude。"}
  ],
  "stop_reason": "end_turn",
  "usage": {
    "input_tokens": 12,
    "output_tokens": 18,
    "cache_read_input_tokens": 0,
    "cache_creation_input_tokens": 0
  }
}
字段说明
id消息唯一 ID
content[].type内容块类型,text / thinking 等
content[].text文本内容
stop_reason停止原因:end_turn / max_tokens / stop_sequence
usage.input_tokens输入 token 数(计费依据)
usage.output_tokens输出 token 数(计费依据)
usage.cache_read_input_tokens缓存命中的输入 token 数(按缓存读价计费)
usage.cache_creation_input_tokens写入缓存的 token 数(按缓存写价计费)

七、流式输出

请求体加 "stream": true 后,服务端以 SSE(Server-Sent Events) 逐块返回,事件类型与 Anthropic 一致:

event: message_start
data: {"type": "message_start", "message": {"id": "msg_...", "model": "claude-sonnet-5"}}

event: content_block_delta
data: {"type": "content_block_delta", "delta": {"type": "text_delta", "text": "你好"}}

event: message_delta
data: {"type": "message_delta", "delta": {"stop_reason": "end_turn"}, "usage": {"output_tokens": 18}}

event: message_stop
data: {"type": "message_stop"}

客户端需按 data: 行解析 JSON,忽略 event: 行与空行;收到 message_stop 表示流结束。计费在服务端按整次请求的 usage 结算,与流式无关。

八、常见错误码

HTTP 状态码含义处理建议
400请求参数不合法(缺少 model/max_tokens、模型未启用等)按响应 message 修正请求体
401未携带或携带无效的 API 密钥检查 Authorization / x-api-key 头
403密钥被停用、余额不足,或该密钥未授权此模型/路线充值、检查密钥状态或调整密钥授权
404请求的模型不存在通过 GET /v1/models 查看可用模型
429请求过于频繁或触发限流退避重试(指数退避)
500服务内部错误稍后重试;持续失败请联系客服

错误响应体统一为 {"code": 状态码, "message": "错误说明", "data": null} 结构。

九、用量与余额

  • 每笔调用按 token 用量 × 模型单价 × 路线倍率实时扣费,单价与路线见 GET /v1/models
  • 登录后在「用户中心 → API 用量」查看调用记录(模型、token、费用、状态)。
  • 余额不足时调用返回 403,充值后立即恢复。