SupaNexus

Messages(Anthropic)

Markdown 版本

示例中的 <BASE_URL> 请从 接入点 选择并替换。

使用 Anthropic Messages API 格式创建模型回复,与 OpenRouter /v1/messages 类似。

POST <BASE_URL>/v1/messages

适用于 Anthropic SDKClaude Code 等期望原生 Anthropic 请求/响应形态的客户端。也可调用非 Anthropic 上游模型(网关转 OpenAI Chat Completions)。发图到 Claude 请用本接口。

认证

必需:Authorization: Bearer <API_KEY>(与 /v1/chat/completions 使用同一 SupaNexus API Key)。

请求头

必需说明
AuthorizationBearer API Key
Content-Typeapplication/json
Idempotency-Key24 小时内按 Key 去重
Accept-Language / X-Locale部分错误文案本地化

请求体

SupaNexus 接受标准 Anthropic Messages JSON,识别 modelstream 参数。

{
  "model": "anthropic/claude-3-5-sonnet",
  "max_tokens": 1024,
  "messages": [
    {"role": "user", "content": "你好!"}
  ],
  "stream": false
}
字段必需说明
modelGET /v1/models 返回的模型 id
messagesAnthropic 消息数组
max_tokens最大输出 token(Anthropic 必填)
system系统提示(字符串或 content blocks)
streamtrue 时返回 Anthropic SSE 事件流
temperaturetop_pstop_sequences支持时透传
toolstool_choicethinkingmetadata按 Anthropic 兼容方式透传(如模型支持)

多模态输入(图片)

当模型 architecture.input_modalities 包含 "image" 时,messages[].content 可为 content block 数组,同时携带文本与图片。

Base64 图片示例

{
  "model": "anthropic/claude-sonnet-5",
  "max_tokens": 1024,
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "image",
          "source": {
            "type": "base64",
            "media_type": "image/jpeg",
            "data": "/9j/4AAQSkZJRg..."
          }
        },
        {"type": "text", "text": "请描述这张图片"}
      ]
    }
  ]
}

URL 图片示例

{
  "type": "image",
  "source": {
    "type": "url",
    "url": "https://example.com/photo.jpg"
  }
}

限制:OpenAI 协议上游模型

若目标模型的上游为 OpenAI Chat Completions 协议(非 anthropic/*),Anthropic image block 不会被转换成 image_url,上游通常会拒绝请求。此时请改用 POST /v1/chat/completions 与 OpenAI image_url 格式,详见 参数 → 多模态输入

建议:要发图片时,客户端协议须与模型上游协议一致——anthropic/* 用本端点,其余模型用 /v1/chat/completions

非流式响应

Anthropic 形态 JSON:

{
  "id": "msg_...",
  "type": "message",
  "role": "assistant",
  "model": "claude-3-5-sonnet-20241022",
  "content": [{"type": "text", "text": "你好!有什么可以帮你的?"}],
  "stop_reason": "end_turn",
  "usage": {"input_tokens": 12, "output_tokens": 8}
}

流式

stream: true 时返回 Anthropic 事件流(message_startcontent_block_deltamessage_deltamessage_stop)。通用 SSE 说明见 流式响应

响应头(SupaNexus)

与 Chat Completions 相同:X-SNX-Trace-IDX-SNX-ModelX-SNX-Provider

错误格式

/v1/messages 返回 Anthropic 形态错误(非 OpenRouter 数字 error.code):

{
  "type": "error",
  "error": {
    "type": "invalid_request_error",
    "message": "you must provide a model parameter"
  }
}
HTTP典型 error.type
400invalid_request_error
401authentication_error
402billing_error
404not_found_error
429rate_limit_error
503overloaded_error

若需要 OpenRouter 形态错误体,请使用 POST /v1/chat/completions

OpenAI 与 Anthropic 端点对照

客户端端点错误体
OpenAI SDKPOST /v1/chat/completionsOpenRouter {error:{code,message}}
Anthropic SDK / Claude CodePOST /v1/messagesAnthropic {type,error:{type,message}}

两者共用 同一 SupaNexus API Key,路由、配额与计费逻辑一致。

相关