从 OpenAI 直连迁移

用 OpenAI SDK 切到本平台 —— 你只需改 2 行代码,立刻可调 90+ 个模型

已经在用 OpenAI SDK?切到本平台只需改 2 行代码,然后立刻可以调 90+ 个模型 (不只是 GPT)。

还没有 sk-gpushare-* Key?在 model.dflop.top/dashboard/keys 创建,注册即送 $0.30 体验额度,足够跑通本页全部示例。

改动点 (Python)#

from openai import OpenAI

# 原 OpenAI 直连
client = OpenAI(
-    api_key="sk-...",
+    api_key="sk-gpushare-xxx",
+    base_url="https://api.dflop.top/v1",
)

就这两处。client.chat.completions.create(...) 之后的代码一行都不动

改动点 (TypeScript)#

import OpenAI from "openai";

const client = new OpenAI({
-  apiKey: process.env.OPENAI_API_KEY,
+  apiKey: process.env.PLATFORM_API_KEY,
+  baseURL: "https://api.dflop.top/v1",
});

改动点 (curl)#

- curl https://api.openai.com/v1/chat/completions \
+ curl https://api.dflop.top/v1/chat/completions \
-   -H "Authorization: Bearer sk-..." \
+   -H "Authorization: Bearer sk-gpushare-xxx" \
    -H "Content-Type: application/json" \
    -d '{"model":"gpt-5.4","messages":[{"role":"user","content":"Hello"}]}'

拿到的新能力#

切完 base URL,你的代码立刻能调用不只是 GPT:

# 同一个 client, 同一份代码, 不同 model
client.chat.completions.create(model="gpt-5.4", ...)               # 还能调
client.chat.completions.create(model="claude-sonnet-4-6", ...)  # 新增!
client.chat.completions.create(model="gemini-2.5-pro", ...)        # 新增!
client.chat.completions.create(model="glm-5.1", ...)               # 新增!
client.chat.completions.create(model="grok-4-fast-reasoning", ...) # 新增!

模型 ID 完整列表见 模型列表

价格透明#

本平台公开透明定价(详见 模型广场 页面),GPT 系列与原厂同价 (截至 2026-06):

ModelOpenAI 直连 ($/1M in/out)本平台 ($/1M in/out)
gpt-5.4$2.50 / $15.00$2.50 / $15.00
gpt-5.5$5.00 / $30.00$5.00 / $30.00

每次调用账单完整记在 model.dflop.top/dashboard/usage,跟原厂账单一致;Key 管理在 model.dflop.top/dashboard/keys

计费是预付费账户钱包:所有 Key 共享同一账户余额,余额耗尽时所有 Key 同时失效 (HTTP 402)。充值入口在主站 dflop.top/dashboard/billing (Stripe,最低 $1,与 model.dflop.top 同账号共享余额)。

改完之后必看#

1. tools 行为略有不同#

  • function 工具完全兼容,行为跟 OpenAI 直连一致
  • web_search 工具支持 gpt-5.4 / gpt-5.5 及部分 Claude / Gemini 型号 (完整清单见 兼容矩阵模型列表 的能力列),必须配合 stream=true
  • image_generation 工具同上,必须 stream=true
  • 混用注意: 一旦 tools 里混入 web_searchimage_generation,请求会走另一条翻译路径,此时多轮历史里 assistant 消息的 tool_calls 字段不回放 (gateway 只保留 assistant 文本;tool 角色消息的 tool_call_id 仍透传)。纯 function 工具不受影响;重度多轮 function-call 场景建议不要混用内置工具
  • 详见 工具调用

2. 流式响应跟原 OpenAI 一致#

stream=true + 同样的 SSE 协议。客户端解析代码不用改。详见 流式响应

3. 错误格式一致#

本网关在 /v1/chat/completions 端点返回的错误保持 OpenAI 协议格式:

{"error": {"message": "...", "type": "...", "code": "..."}}

4. OpenAI endpoint 支持情况#

端点状态
POST /v1/chat/completions✅ 完整支持
POST /v1/completions (legacy 补全)❌ 不支持
POST /v1/embeddings❌ 平台已于 2026-07 下架 embedding SKU,当前无可用模型(调用返回 404 model_not_found)
POST /v1/audio/transcriptions (Whisper)❌ 不支持
POST /v1/audio/speech (TTS)❌ 不支持
POST /v1/images/generations✅ 支持,模型限 doubao-seedream-* / grok-imagine-* (按张计费,返回 URL 24h 过期);DALL-E / gpt-image-* 等 OpenAI 图像 id 不可用 —— GPT 风格出图用 chat.completions + tools=[{"type":"image_generation"}]。详见 图像 / 视频 / Embedding API
POST /v1/responses✅ GPT-5.x / Claude / 多数第三方模型 —— 内置 web_search / image_generation;无 previous_response_id (gateway 无服务端会话状态),多轮请重发完整 input,gateway 会自动剥离历史里的 reasoning item
GET /v1/models✅ —— 返回平台目录 (注意: 该端点仅支持 Authorization: Bearer / x-api-key 两种 header 鉴权,不支持 ?key=)

如果你的应用强依赖 TTS / 语音转录,这部分需要继续走原厂。

另外本平台还提供 OpenAI 没有的端点: 异步视频生成 (按秒计费,见 图像 / 视频 / Embedding API) 与知识库检索 REST + MCP (见 知识库 API & MCP)。

完整 diff 示例#

原 OpenAI 直连#

import os
from openai import OpenAI

client = OpenAI(api_key=os.environ["OPENAI_API_KEY"])

resp = client.chat.completions.create(
    model="gpt-5.4",
    messages=[{"role": "user", "content": "Write a haiku"}],
)
print(resp.choices[0].message.content)

本平台#

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["PLATFORM_API_KEY"],
    base_url="https://api.dflop.top/v1",
)

# 同样调 GPT
resp = client.chat.completions.create(
    model="gpt-5.4",
    messages=[{"role": "user", "content": "Write a haiku"}],
)

# 也能调 Claude
resp_claude = client.chat.completions.create(
    model="claude-sonnet-4-6",
    messages=[{"role": "user", "content": "Write a haiku"}],
)

常见问题#

Q: 我应该删 OPENAI_API_KEY 环境变量吗?#

不必。建议平行保留:

export OPENAI_API_KEY=sk-...           # 原 OpenAI 直连
export PLATFORM_API_KEY=sk-gpushare-...

代码里显式指定用哪把:

# 关键时刻 fallback 回原厂
client = OpenAI(
    api_key=os.environ.get("PLATFORM_API_KEY") or os.environ["OPENAI_API_KEY"],
    base_url=os.environ.get("OPENAI_BASE_URL", "https://api.openai.com/v1"),
)

Q: 速率限制跟原 OpenAI 一样吗?#

不一样。本平台不强制 QPS 上限 (偶发 429 为上游限流透传),计费是预付费账户钱包: 所有 Key 共享同一账户余额,余额耗尽时所有 Key 同时返回 HTTP 402 (type insufficient_quota,code quota_exceeded)——新建 Key 不会带来新额度,充值才会 (dflop.top/dashboard/billing)。详见 鉴权错误码

Q: 重试逻辑要改吗?#

不用。OpenAI SDK 内置的指数退避对本平台同样有效。状态码语义跨服务保持一致 (错误码)。

Q: Function tools 的 tool_call_id 跨次会变吗?#

function 工具路径下,本网关透传上游 ID,不重写,你的多轮工具回填代码不需改。但若同一请求混入了 web_search / image_generation 内置工具,历史中的 assistant tool_calls 不回放,见上文 tools 行为略有不同

下一步#