列出模型(Anthropic 格式)
以 Anthropic 格式返回可用模型。 **未实现分页。** `limit`、`after_id`、`before_id` 查询参数会被忽略, `has_more` 恒为 `false`,一次返回全部模型。 本端点受 240 次 / 60 秒的用户级限流,并返回 `X-RateLimit-*` 响应头。
以 Anthropic 格式返回可用模型。
未实现分页。 limit、after_id、before_id 查询参数会被忽略,
has_more 恒为 false,一次返回全部模型。
本端点受 240 次 / 60 秒的用户级限流,并返回 X-RateLimit-* 响应头。
Authorization: Bearer sk-juc-...
前缀必须是恰好 Bearer (首字母大写 + 单个空格)。bearer、BEARER
或用制表符分隔都会被判为无效。
除 API Key 外,也接受 OAuth 设备访问令牌(仅限 oauth_access 类型的 JWT;
普通网页会话令牌会被拒绝)。
In: header
Response Body
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/anthropic/v1/models"{ "data": [ { "type": "model", "id": "string", "display_name": "string", "created_at": "2019-08-24T14:15:22Z" } ], "has_more": true, "first_id": "string", "last_id": "string"}创建消息(Anthropic 兼容) POST
与 Anthropic Messages API 兼容。把官方 SDK 的 `base_url` 指向 `https://api.jucode.cn/anthropic`,或给 Claude Code 设置 `ANTHROPIC_BASE_URL`,即可直接使用。 注意路径**不在** `/v1` 下——完整路径是 `/anthropic/v1/messages`。 ### 两条执行路径,行为不同 **原生路径**——当路由到的上游本身就是 Anthropic 时,你的原始请求字节会被 直接转发(仅改写 `model`)。所有字段,包括本文档未列出的 `top_k`、`thinking`、`cache_control` 等,都会保留。 **桥接路径**——当路由到的是非 Anthropic 上游(如 OpenAI 兼容厂商)时,网关 会把请求降级翻译成 Chat Completions,再把响应还原成 Anthropic 格式。此时 **只有下列字段会保留**,其余字段被静默丢弃: `model` `max_tokens` `system` `messages` `stream` `temperature` `top_p` `stop_sequences` `tools` `tool_choice` `metadata` 你无法预先知道会走哪条路径——它取决于后台的模型路由配置。如果你依赖某个 Anthropic 专有参数,请确认该模型确实路由到 Anthropic 上游。 ### 与官方 API 的差异 - `max_tokens` 在官方 API 中是必填的,本网关**不强制**。仅当 `> 0` 时才转发。 - 桥接路径下 `message_start` 事件的 `usage` 字段恒为 `0`,真实用量在结尾的 `message_delta` 中给出。 - 桥接路径的 SSE **没有 `[DONE]` 哨兵**,以 `event: message_stop` 结束。 - 上游返回的 `reasoning_content`(DeepSeek 系非标准字段)会被转换成 Anthropic 的 `thinking` 块。 - **认证失败(401)返回的是 OpenAI 格式的错误体**,不是 Anthropic 格式。这是 因为认证中间件在进入本路由的处理器之前就已拒绝。Anthropic SDK 的错误解析 可能无法识别该响应体。
语音合成 POST
与 OpenAI Audio Speech API 兼容。返回**二进制音频流**,不是 JSON。 计费按请求中的输入字符数计算(而非上游返回的用量)。