# Anthropic 兼容接口 (/docs/api/compatible/anthropic)



## 基础地址 [#基础地址]

<ApiBaseDomain prefix="/anthropic" />

## 接入 [#接入]

<QuickstartTabs snippets="{&#x22;curl&#x22;:&#x22;curl https://api-origin.invalid/anthropic/v1/messages \\\n  -H \&#x22;x-api-key: $PRAXIS_API_KEY\&#x22; \\\n  -H \&#x22;anthropic-version: 2023-06-01\&#x22; \\\n  -H \&#x22;Content-Type: application/json\&#x22; \\\n  -d '{\&#x22;model\&#x22;:\&#x22;deepseek-flash\&#x22;,\&#x22;max_tokens\&#x22;:1024,\&#x22;messages\&#x22;:[{\&#x22;role\&#x22;:\&#x22;user\&#x22;,\&#x22;content\&#x22;:\&#x22;你好\&#x22;}]}'&#x22;,&#x22;python&#x22;:&#x22;import os\n\nfrom anthropic import Anthropic\n\nclient = Anthropic(\n    base_url=\&#x22;https://api-origin.invalid/anthropic\&#x22;,\n    api_key=os.environ[\&#x22;PRAXIS_API_KEY\&#x22;],\n)\n\nresp = client.messages.create(\n    model=\&#x22;deepseek-flash\&#x22;,\n    max_tokens=1024,\n    messages=[{\&#x22;role\&#x22;: \&#x22;user\&#x22;, \&#x22;content\&#x22;: \&#x22;你好\&#x22;}],\n)&#x22;,&#x22;typescript&#x22;:&#x22;import Anthropic from \&#x22;@anthropic-ai/sdk\&#x22;;\n\nconst client = new Anthropic({\n  baseURL: \&#x22;https://api-origin.invalid/anthropic\&#x22;,\n  apiKey: process.env.PRAXIS_API_KEY,\n});\n\nconst resp = await client.messages.create({\n  model: \&#x22;deepseek-flash\&#x22;,\n  max_tokens: 1024,\n  messages: [{ role: \&#x22;user\&#x22;, content: \&#x22;你好\&#x22; }],\n});&#x22;}" />

## 端点 [#端点]

| 方法     | 路径                                                                           | 说明       | 支持     |
| ------ | ---------------------------------------------------------------------------- | -------- | ------ |
| POST   | [`/v1/messages`](/docs/api/compatible/anthropic/createMessage)               | 发送消息     | ● 支持   |
| POST   | [`/v1/messages/count_tokens`](/docs/api/compatible/anthropic/countTokens)    | 统计 token | ◐ 部分支持 |
| GET    | [`/v1/models`](/docs/api/compatible/anthropic/listModels)                    | 列出模型     | ● 支持   |
| POST   | [`/v1/files`](/docs/api/compatible/anthropic/createFile)                     | 上传文件     | ● 支持   |
| GET    | [`/v1/files`](/docs/api/compatible/anthropic/listFiles)                      | 列出文件     | ● 支持   |
| GET    | [`/v1/files/{file_id}`](/docs/api/compatible/anthropic/retrieveFile)         | 读取文件信息   | ● 支持   |
| DELETE | [`/v1/files/{file_id}`](/docs/api/compatible/anthropic/deleteFile)           | 删除文件     | ● 支持   |
| GET    | [`/v1/files/{file_id}/content`](/docs/api/compatible/anthropic/downloadFile) | 下载文件内容   | ● 支持   |

## 与官方的差异 [#与官方的差异]

* <a href="/docs/api/compatible/anthropic/createMessage">发送消息</a>：支持顶层 cache\_control、top\_k、metadata.user\_id、output\_config.format、thinking.display 与 anthropic-user-profile-id。仅原生 Anthropic 能表达的选项会限制路由；没有可保真供应时返回参数错误。anthropic-workspace-id 尚未支持，非空值返回 400。container、inference\_geo 与 service\_tier 接受并忽略；其他扩展见字段支持标注。 未知顶层字段原样转发给同协议上游，由上游决定是否接受；已声明字段的类型与取值范围仍会校验，不合法时返回 400 并点名字段。
* <a href="/docs/api/compatible/anthropic/countTokens">统计 token</a>：按模型族校准的估算值（包括中文和工具定义），响应头为 x-praxis-token-count: estimated；不能用作精确用量或计费依据。
* <a href="/docs/api/compatible/anthropic/listModels">列出模型</a>：始终返回 capabilities、max\_input\_tokens、max\_tokens；目录无法确定的值为 null，不将总上下文窗口冒充独立输入上限。非空 anthropic-workspace-id 返回 400；尚不按 anthropic-beta 选择目录版本。
* <a href="/docs/api/compatible/anthropic/createFile">上传文件</a>：SDK 0.128.0 上传参数为表单 file 和可选的表单 expires\_in\_seconds（3600–7776000 秒）。其他表单字段（包括 purpose）返回 400 invalid\_request\_error，消息形如 "purpose: Extra inputs are not permitted"；查询参数只接受 SDK 自带的 beta，其他查询参数返回 400，查询参数 expires\_in\_seconds 会提示改放表单。平台将上传文件记为 user\_data；不支持 anthropic-workspace-id，请求携带该头时返回 400。
* <a href="/docs/api/compatible/anthropic/listFiles">列出文件</a>：按创建时间从新到旧排列。用 after\_id / before\_id 与 limit 分页（两者同时给返回 400），也可以用 page 游标（next\_page）；三者只能选一个。响应包含 data、has\_more、first\_id、last\_id 与 next\_page。ids（最多 100 个去重 ID）与 page、after\_id、before\_id、limit 互斥。scope\_id 需要 anthropic-beta: managed-agents-2026-04-01 请求头；缺少该头返回 400，不存在的会话范围返回 404。anthropic-workspace-id 返回 400。
* <a href="/docs/api/compatible/anthropic/downloadFile">下载文件内容</a>：只有代码执行工具生成的文件可以下载；你自己上传的文件（用途为 user\_data）下载会返回 400 invalid\_request\_error，这与 Anthropic 官方的行为一致。

参数与字段的权威定义以 [Anthropic 官方文档](https://docs.anthropic.com/en/api)为准。

错误按 Anthropic 格式返回，参见[错误](/docs/api/errors)；额度与响应头参见[限流](/docs/api/rate-limits)。
