OpenAI 兼容接口
给 OpenAI SDK、Codex、Cherry Studio 兼容模式用的接口。端点是
https://cn.fluxtoken.ai/v1,/v1必须写。
端点
这个 /v1 是你自己写的
OpenAI SDK 不会帮你补 https://cn.fluxtoken.ai/v1 里的 /v1。 少写会打到控制台的网页路由上(返回 HTML 或 404),多写成 /v1/v1/... 同样 404。
境外或港澳台用户把 cn.fluxtoken.ai 换成 api.fluxtoken.ai,其余不变:
路径一览
| 路径 | 方法 | 用途 |
|---|---|---|
/v1/chat/completions | POST | 对话补全,最常用 |
/v1/responses | POST | Responses 风格接口 |
/v1/models | GET | 列出可用模型(需鉴权) |
/v1/messages | POST | Anthropic 兼容路径,用 OpenAI 令牌也能调 |
/v1beta/models/... | POST | Gemini 兼容路径 |
没有 /v1 的路径不存在。 比如 POST https://cn.fluxtoken.ai/chat/completions 会落到控制台的网页服务上,不是 API。
鉴权
Authorization: Bearer sk-你的令牌Content-Type: application/jsonx-api-key: sk-你的令牌 与 x-goog-api-key: sk-你的令牌 同样被接受,但 OpenAI SDK 默认发送的是 Authorization,一般不用改。
列出模型
curl https://cn.fluxtoken.ai/v1/models \ -H "Authorization: Bearer sk-你的令牌"返回是标准 OpenAI 格式:
{
"object": "list",
"data": [
{ "id": "gpt-5.5", "object": "model" }
]
}不带 Key 访问 /v1/models 返回 401 是正常的
这个接口需要鉴权。没有令牌时返回 401 与 {"code":"API_KEY_REQUIRED","message":"API key is required in ..."}, 这是在告诉你「请带上令牌」,不是服务坏了。
很多工具会用 /v1/models 做「连通性探测」,探测失败其实是没配好 Key。
这个列表给出的是模型标识(id):拼写、大小写、后缀都以此为准。 能调用哪些由令牌所属分组决定,别把这里的列表当成「我的令牌能用这些」。 对照模型列表与怎么选分组。
对话补全
curl https://cn.fluxtoken.ai/v1/chat/completions \ -H "Authorization: Bearer sk-你的令牌" \ -H "Content-Type: application/json" \ -d "{\"model\":\"gpt-5.5\",\"messages\":[{\"role\":\"user\",\"content\":\"用一句话介绍你自己\"}]}"curl https://cn.fluxtoken.ai/v1/chat/completions \ -H "Authorization: Bearer sk-你的令牌" \ -H "Content-Type: application/json" \ -d "{\"model\":\"gpt-5.5\",\"stream\":true,\"messages\":[{\"role\":\"user\",\"content\":\"数到十\"}]}"流式响应是 SSE,content-type: text/event-stream,以 data: [DONE] 结束。
Python SDK
用官方 openai 包,只改 base_url 和 api_key:
from openai import OpenAIclient = OpenAI( api_key="sk-你的令牌", base_url="https://cn.fluxtoken.ai/v1",)resp = client.chat.completions.create( model="gpt-5.5", messages=[{"role": "user", "content": "你好"}],)print(resp.choices[0].message.content)from openai import OpenAIclient = OpenAI( api_key="sk-你的令牌", base_url="https://cn.fluxtoken.ai/v1",)stream = client.chat.completions.create( model="gpt-5.5", messages=[{"role": "user", "content": "你好"}], stream=True,)for chunk in stream: delta = chunk.choices[0].delta.content if delta: print(delta, end="", flush=True)import OpenAI from "openai";const client = new OpenAI({ apiKey: "sk-你的令牌", baseURL: "https://cn.fluxtoken.ai/v1",});const resp = await client.chat.completions.create({ model: "gpt-5.5", messages: [{ role: "user", content: "你好" }],});console.log(resp.choices[0].message.content);base_url 也可以走环境变量 OPENAI_BASE_URL,api_key 走 OPENAI_API_KEY。
Responses 接口
/v1/responses 用 OpenAI 的 Responses 风格请求体。Codex 一类工具走的就是它:
curl https://cn.fluxtoken.ai/v1/responses \ -H "Authorization: Bearer sk-你的令牌" \ -H "Content-Type: application/json" \ -d "{\"model\":\"gpt-5.5\",\"input\":\"用一句话介绍你自己\"}"参数兼容性
平台做的是协议转发,各上游渠道对新参数的支持进度不完全一致。 如果某个参数报错而换模型后正常,那是上游渠道的差异,不是你的请求写错了 —— 先换分组试试。
常见错误
| 你看到的 | 原因 | 去哪 |
|---|---|---|
模型不存在 | 令牌分组不包含这个模型 | 模型不存在 |
401 / Invalid API key | Key 写错、被删、过期,或用了别的站的 Key | 认证与 401 |
404 page not found | 路径少了 /v1,或写成 /v1/v1/... | 错误码对照 |
余额不足 | 账户额度用尽 | 余额与扣费 |
| 超时、连接被拒 | 端点选择或网络问题 | 连接与超时 |
相关页面
- 接口总览 —— 三种协议的对照
- Anthropic 兼容接口 —— 接 Claude Code 用这个
- 公开价格接口 —— 你的程序要算成本时读它
- 模型列表 —— 确认模型名拼写