Claude OpenAI 兼容格式说明
Fast-Token 支持通过 OpenAI 接口协议 调用 Anthropic Claude 系列模型。若你已有基于 OpenAI SDK 或 /v1/chat/completions 的应用,通常只需修改 base_url 与 model,即可接入 Claude,无需改写为 Anthropic Messages 原生 API。
本页以使用说明为主;各接口的请求体、响应字段与在线调试,请参阅 ChatGPT 文档 及下方能力对照表中的链接。
两种接入方式
| 对比项 | OpenAI 兼容格式(本页) | Claude 原生 API(同目录其他文档) |
|---|---|---|
| 典型路径 | POST /v1/chat/completions | POST /v1/messages |
| 请求体 | messages、model、stream 等 OpenAI 字段 | messages、system、thinking 等 Anthropic 字段 |
| 适用场景 | 已有 OpenAI 客户端、多模型统一网关、快速迁移 | 需使用 Claude 独有能力(扩展思考预算、Tool Use、PDF、联网搜索等) |
| 文档位置 | 本文 + 聊天 分组 | 本目录「聊天」分组下的接口页 |
两种方式共用同一套 API Key 与网关地址,计费以 模型广场 中对应模型为准。
接入配置
网关与鉴权
- Base URL:
https://fast-token.com/v1(与 快速开始 一致) - 鉴权:请求头
Authorization: Bearer <Fast-Token_API_KEY> - 模型名称:在 模型广场 复制带
claude的模型 ID,填入model字段
使用 OpenAI SDK(推荐)
将官方 SDK 的 base_url 指向 Fast-Token,其余调用方式与 OpenAI 相同:
from openai import OpenAI
client = OpenAI(
base_url="https://fast-token.com/v1",
api_key="<Fast-Token_API_KEY>",
)
completion = client.chat.completions.create(
model="claude-sonnet-4-20250514", # 以模型广场为准
messages=[
{"role": "user", "content": "用一句话介绍你自己"},
],
)
print(completion.choices[0].message.content)import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://fast-token.com/v1",
apiKey: "<Fast-Token_API_KEY>",
});
const completion = await client.chat.completions.create({
model: "claude-sonnet-4-20250514",
messages: [{ role: "user", content: "用一句话介绍你自己" }],
});
console.log(completion.choices[0].message.content);流式对话在请求中设置 stream: true 即可,详见 创建聊天补全(流式)。
Chat 兼容格式能力一览
以下能力均通过 OpenAI 兼容路径 访问;在控制台或 Apifox 中常归类为 「chat 兼容格式」。实现上多为同一 POST /v1/chat/completions,通过 不同模型、是否流式 与 消息结构 区分场景。
| 能力 | 说明 | 参考文档 |
|---|---|---|
| 创建思考聊天 | 支持模型「思考」过程的对话 | 流式(extra_body.enable_thinking) |
| 创建聊天补全(流式) | 标准多轮文本对话,SSE 流式输出 | 创建聊天补全(流式) |
| 创建聊天补全(非流式) | 标准多轮文本对话,一次性返回 | 创建聊天补全(非流式) |
| 创建聊天识图(流式) | 上传图片进行理解、描述或问答 | 创建聊天识图(流式) |
| 创建聊天识图(非流式) | 识图场景,非流式完整响应 | 创建聊天识图(非流式) |
模型选择
各场景对应的 模型 ID 以 模型广场 为准。名称中带 claude、且标注支持对应对话 / 识图 / 思考能力的模型均可尝试;若返回「模型不存在」或能力不支持,请换用同场景下的其他 Claude 模型条目。
各场景使用要点
标准聊天(流式 / 非流式)
- 端点:
POST /v1/chat/completions - 使用
messages数组维护多轮对话;role支持system/user/assistant(与 OpenAI 一致) - 非流式:
stream: false或不传stream→ 创建聊天补全(非流式) - 流式:
stream: true→ 创建聊天补全(流式) - 通用参数(
temperature、max_tokens、top_p等)行为与 OpenAI 文档一致
system 角色
OpenAI 格式下系统提示写在 messages 中 role: "system" 即可。原生 Claude API 则常用顶层 system 字段,见 创建聊天补全(流式)。
思考模式(创建思考聊天)
部分 Claude 思考模型在 流式 请求中可通过扩展字段开启思考输出:
{
"model": "claude-sonnet-4-20250514",
"messages": [{ "role": "user", "content": "逐步推导:为什么天空是蓝色的?" }],
"stream": true,
"extra_body": {
"enable_thinking": true
}
}- 兼容格式下的思考展示方式由网关与模型共同决定;请在模型广场选择支持「思考」的 Claude 模型
- 若需精确控制思考 token 预算(
thinking.budget_tokens)、区分思考块与正文块,请改用原生 创建思考聊天(POST /v1/messages)
识图(视觉理解)
在 user 消息的 content 中使用 多模态数组:text + image_url(URL 或 Base64)。
{
"model": "claude-sonnet-4-20250514",
"messages": [
{
"role": "user",
"content": [
{ "type": "text", "text": "描述这张图片中的主要内容" },
{
"type": "image_url",
"image_url": { "url": "https://example.com/photo.jpg" }
}
]
}
],
"stream": true
}- 流式识图:
stream: true,见 创建聊天识图(流式) - 非流式识图:
stream: false,见 创建聊天识图(非流式) - Base64 传图见 创建聊天识图(流式)Base64
与原生 Claude API 如何选型
| 你的需求 | 建议 |
|---|---|
| 快速接入、复用 OpenAI SDK / 现有代码 | OpenAI 兼容格式(本页) |
扩展思考、budget_tokens、思考块 SSE 结构 | 原生 API — 创建思考聊天 |
| Tool Use / 函数调用 | 原生 API — 创建函数调用(流式) |
| 结构化输出(JSON Schema) | 原生 API — 创建格式化输出 |
| PDF 文档、联网搜索 | 原生 API — PDF 支持、联网搜索 |
| 仅要「聊天 + 识图 + 思考」且已有 OpenAI 客户端 | OpenAI 兼容格式 即可覆盖主路径 |
常见问题
Q:为什么和 OpenAI 官方文档不完全一致?
A:兼容层在请求/响应上对齐 OpenAI,底层由 Claude 实现。少数 OpenAI 专属参数可能无效或被忽略,以实际模型支持为准。
Q:model 填什么?
A:必须使用模型广场中列出的 完整模型 ID(通常包含 claude),不要使用简写或过期名称。
Q:能否用 Anthropic 官方 Python SDK?
A:官方 SDK 默认对接 POST /v1/messages。若要坚持使用该 SDK,请使用本目录下的原生 API 文档;OpenAI SDK 则对接本页的兼容格式。
Q:流式返回格式是什么?
A:SSE,data: {...} 行与 data: [DONE] 结束,与 OpenAI 流式 Chat Completions 相同;块对象说明见 聊天完成块对象。
Q:完整响应 JSON 结构?
A:见 聊天完成对象。原生 Messages API 的响应结构见 聊天完成对象(Anthropic 格式)。
延伸阅读
- 快速开始 — 首次调用与 API Key
- API 快速开始指南 — Base URL 与客户端配置
- 列出模型 —
GET /v1/models查看可用模型列表 - 本目录其他页面 — Claude 原生 Messages API 的详细参数与示例