Skip to content

API 端点参考

Shuro 同时支持 Anthropic 和 OpenAI 两套协议,同一把 key 双协议都通。

主要端点

Anthropic Messages API

POST https://shuro.vip/v1/messages

请求示例:

bash
curl -X POST 'https://shuro.vip/v1/messages' \
  -H 'content-type: application/json' \
  -H 'anthropic-version: 2023-06-01' \
  -H 'x-api-key: sk-...' \
  -d '{
    "model": "claude-opus-4-7",
    "max_tokens": 1024,
    "messages": [
      {"role": "user", "content": "Hello"}
    ]
  }'

适用客户端:Claude Code、Cline (Anthropic 模式)、OpenCode (Anthropic 模式)、Anthropic SDK。

OpenAI Chat Completions

POST https://shuro.vip/v1/chat/completions

请求示例:

bash
curl -X POST 'https://shuro.vip/v1/chat/completions' \
  -H 'content-type: application/json' \
  -H 'Authorization: Bearer sk-...' \
  -d '{
    "model": "gpt-5.5",
    "messages": [
      {"role": "user", "content": "Hello"}
    ]
  }'

适用客户端:Cursor、OpenAI SDK、Cline (OpenAI 模式)、OpenCode (OpenAI 模式)。

OpenAI Responses API(Codex 专用)

POST https://shuro.vip/v1/responses

请求示例:

bash
curl -X POST 'https://shuro.vip/v1/responses' \
  -H 'content-type: application/json' \
  -H 'Authorization: Bearer sk-...' \
  -d '{
    "model": "gpt-5.5",
    "input": "Hello"
  }'

适用客户端:Codex CLI。注意:你的 key 需要有 OpenAI 模型权限才能用此端点。

待验证(TODO/VERIFY)

以下内容基于旧平台实测(2026-06),尚未在 Shuro 复测,仅供参考:Claude 模型走 /v1/responses 曾报 500 not implementedprevious_response_id 链式调用经上游也曾不可用。详见 Responses API

模型列表

GET https://shuro.vip/v1/models
bash
curl 'https://shuro.vip/v1/models' \
  -H 'Authorization: Bearer sk-...'

返回你这把 key 实际可用的模型。

鉴权方式

两种 header 都接受:

Header适用
x-api-key: sk-...Anthropic 协议(推荐 Claude Code 用)
Authorization: Bearer sk-...OpenAI 协议(推荐 Cursor / Codex 用)

两种 header 互换在旧平台实测都能通(2026-06,Shuro 未复测),建议按协议匹配。

跨协议支持

按 Shuro 模型目录,Claude 模型同时支持 Anthropic 和 OpenAI 两种协议(即也可走 /v1/chat/completions);GPT 模型仅标注 OpenAI 协议

待验证(TODO/VERIFY)

以下内容基于旧平台实测(2026-06),尚未在 Shuro 复测,仅供参考:旧平台上 GPT 模型也可以走 /v1/messages(Anthropic 格式),网关自动转换;/v1/responses 仅限 GPT 系列。

流式响应

所有端点都支持流式响应:

bash
curl -X POST 'https://shuro.vip/v1/messages' \
  -H 'x-api-key: sk-...' \
  -H 'anthropic-version: 2023-06-01' \
  -d '{"model": "...", "stream": true, ...}'

返回 SSE 事件流:

event: message_start
data: {...}

event: content_block_start
data: {...}

event: content_block_delta
data: {...}

event: message_stop
data: {...}

待验证(TODO/VERIFY)

以下内容基于旧平台实测(2026-06),尚未在 Shuro 复测,仅供参考。

旧平台部分上游只支持流式响应,非流式会被拒(返 503)。表现为:

  • new-api 测试按钮(默认非流式)失败
  • 但 Claude Code(默认流式)能用

如果碰到测试失败但实际能用,可能是这个原因。

必要 Header

Header必填说明
content-type: application/json所有 POST 请求
x-api-keyAuthorization鉴权
anthropic-version: 2023-06-01Anthropic 协议必填协议版本
anthropic-beta: ...可选启用 beta 特性(如 1M 上下文)

可用的 anthropic-beta 值

1M 上下文说明

Shuro 的 Claude 模型目录标注原生 1M 上下文(haiku 为 200K),理论上无需额外 header。是否仍需要 context-1m-2025-08-07 beta 头待验证(TODO/VERIFY)。

Beta 标识启用功能
context-1m-2025-08-071M 上下文(是否需要待验证)
prompt-caching-2024-07-31Prompt cache
computer-use-2024-10-22Computer use
fine-grained-tool-streaming-2025-05-14细粒度工具流式

多个 beta 用逗号分隔:

anthropic-beta: context-1m-2025-08-07,prompt-caching-2024-07-31

响应格式

Anthropic 响应

json
{
  "id": "msg_xxx",
  "type": "message",
  "role": "assistant",
  "model": "claude-opus-4-7",
  "content": [{"type": "text", "text": "..."}],
  "stop_reason": "end_turn",
  "usage": {
    "input_tokens": 10,
    "output_tokens": 25,
    "cache_creation_input_tokens": 0,
    "cache_read_input_tokens": 1234,
    "service_tier": "standard"
  }
}

OpenAI 响应

json
{
  "id": "chatcmpl-xxx",
  "object": "chat.completion",
  "model": "gpt-5.5",
  "choices": [{
    "message": {"role": "assistant", "content": "..."},
    "finish_reason": "stop"
  }],
  "usage": {
    "prompt_tokens": 10,
    "completion_tokens": 25,
    "total_tokens": 35
  }
}

速率限制

维度默认值
每分钟请求数按套餐
每分钟 token 数按套餐
并发请求数按套餐

超限返 429 Too Many Requests,等几秒重试即可。

SDK 使用

Python (Anthropic SDK)

python
from anthropic import Anthropic

client = Anthropic(
    api_key="sk-...",
    base_url="https://shuro.vip"   # 不带 /v1
)

msg = client.messages.create(
    model="claude-opus-4-7",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Hello"}]
)

Python (OpenAI SDK)

python
from openai import OpenAI

client = OpenAI(
    api_key="sk-...",
    base_url="https://shuro.vip/v1"   # 带 /v1
)

resp = client.chat.completions.create(
    model="gpt-5.5",
    messages=[{"role": "user", "content": "Hello"}]
)

Node.js (Anthropic SDK)

javascript
import Anthropic from '@anthropic-ai/sdk';

const client = new Anthropic({
  apiKey: 'sk-...',
  baseURL: 'https://shuro.vip'   // 不带 /v1
});

const msg = await client.messages.create({
  model: 'claude-opus-4-7',
  max_tokens: 1024,
  messages: [{ role: 'user', content: 'Hello' }]
});

内容采用 CC BY-NC-ND 4.0 协议 · 禁止商业使用 / 禁止改编 / 禁止训练 AI 模型