Skip to content

Claude OpenAI 兼容格式说明

Fast-Token 支持通过 OpenAI 接口协议 调用 Anthropic Claude 系列模型。若你已有基于 OpenAI SDK 或 /v1/chat/completions 的应用,通常只需修改 base_urlmodel,即可接入 Claude,无需改写为 Anthropic Messages 原生 API。

本页以使用说明为主;各接口的请求体、响应字段与在线调试,请参阅 ChatGPT 文档 及下方能力对照表中的链接。

两种接入方式

对比项OpenAI 兼容格式(本页)Claude 原生 API(同目录其他文档)
典型路径POST /v1/chat/completionsPOST /v1/messages
请求体messagesmodelstream 等 OpenAI 字段messagessystemthinking 等 Anthropic 字段
适用场景已有 OpenAI 客户端、多模型统一网关、快速迁移需使用 Claude 独有能力(扩展思考预算、Tool Use、PDF、联网搜索等)
文档位置本文 + 聊天 分组本目录「聊天」分组下的接口页

两种方式共用同一套 API Key 与网关地址,计费以 模型广场 中对应模型为准。

接入配置

网关与鉴权

  • Base URLhttps://fast-token.com/v1(与 快速开始 一致)
  • 鉴权:请求头 Authorization: Bearer <Fast-Token_API_KEY>
  • 模型名称:在 模型广场 复制带 claude 的模型 ID,填入 model 字段

使用 OpenAI SDK(推荐)

将官方 SDK 的 base_url 指向 Fast-Token,其余调用方式与 OpenAI 相同:

python
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)
javascript
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创建聊天补全(流式)
  • 通用参数(temperaturemax_tokenstop_p 等)行为与 OpenAI 文档一致

system 角色

OpenAI 格式下系统提示写在 messagesrole: "system" 即可。原生 Claude API 则常用顶层 system 字段,见 创建聊天补全(流式)

思考模式(创建思考聊天)

部分 Claude 思考模型在 流式 请求中可通过扩展字段开启思考输出:

json
{
  "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)。

json
{
  "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
}

与原生 Claude API 如何选型

你的需求建议
快速接入、复用 OpenAI SDK / 现有代码OpenAI 兼容格式(本页)
扩展思考、budget_tokens、思考块 SSE 结构原生 API创建思考聊天
Tool Use / 函数调用原生 API创建函数调用(流式)
结构化输出(JSON Schema)原生 API创建格式化输出
PDF 文档、联网搜索原生 APIPDF 支持联网搜索
仅要「聊天 + 识图 + 思考」且已有 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 格式)。

延伸阅读