很多人第一次用 OpenAI API,会卡在三步:不知道 Key 在哪里创建、不知道怎么充值、拿到 Key 之后又不知道 Base URL 怎么填。本文用中商起航 AI 网关走一遍完整流程,并给出 Python、Node.js 和 curl 三种调用示例。

本文讲的是 API 按量计费,不是 ChatGPT Plus 订阅。两者不是一回事:Plus 是网页/App 的会员,API 是给程序调用的接口。

一、注册中商起航账号

打开 中商起航 AI 网关,点击注册,完成邮箱验证并登录。

注册后你会进入控制台。控制台里主要用到三个地方:

  • API 密钥:创建和删除 Key。
  • 钱包/充值:查看余额、充值。
  • 用量日志:查看每次调用的模型、Token 和费用。

二、创建 API Key

进入「API 密钥」页面,点击新建:

  1. 名称:写清楚用途,例如 openai-api-测试、生产环境-后端。
  2. 额度:建议先设一个较低上限,跑通后再调整。
  3. 过期时间:测试 Key 可以设 7 天或 30 天。
  4. 保存后复制 Key。Key 通常以 sk- 开头,只完整显示一次。

不要把 Key 发到群里、截图里或提交到 Git。怀疑泄露时,直接删除旧 Key,重新创建一个。

三、充值

在「钱包」页面选择充值方式,按提示完成支付。到账后,余额会显示在控制台。

如果你只是测试,先充一个小额即可。不同模型的单价差异很大,具体看 模型价格。建议先用便宜的小模型跑通,再切换到主力模型。

四、Base URL 怎么填

中商起航的 OpenAI 兼容接口地址是:

https://ai.zhongshangqihang.com/v1

注意:

  • OpenAI SDK、Cursor、Chatbox、LobeChat、Dify 等 OpenAI 兼容工具,通常填 https://ai.zhongshangqihang.com/v1。
  • 如果你用的工具要求填「API Base」「Base URL」「Endpoint」,都填上面这个地址。
  • 不要漏掉 /v1,也不要在末尾多写 /chat/completions,客户端会自己拼接。

五、用 curl 测试

先把 Key 放到环境变量里,避免命令历史泄露:

export OPENAI_API_KEY="sk-你的密钥"
export OPENAI_BASE_URL="https://ai.zhongshangqihang.com/v1"

然后调用:

curl "$OPENAI_BASE_URL/chat/completions" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5",
    "messages": [
      {"role": "user", "content": "用一句话解释什么是 API 网关"}
    ]
  }'

如果返回 JSON 里有 choices,说明 Key 和 Base URL 都通了。模型名以 模型价格 当前展示为准;填错模型名通常会返回 model not found。

六、Python 调用

安装 OpenAI SDK:

pip install openai

示例:

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["OPENAI_API_KEY"],
    base_url="https://ai.zhongshangqihang.com/v1",
)

response = client.chat.completions.create(
    model="gpt-5",
    messages=[
        {"role": "system", "content": "你是一个简洁的技术助手。"},
        {"role": "user", "content": "解释一下什么是 Token"},
    ],
)

print(response.choices[0].message.content)

七、Node.js 调用

npm install openai
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.OPENAI_API_KEY,
  baseURL: "https://ai.zhongshangqihang.com/v1",
});

const response = await client.chat.completions.create({
  model: "gpt-5",
  messages: [{ role: "user", content: "写一个 JavaScript 防抖函数" }],
});

console.log(response.choices[0].message.content);

八、常见报错

报错原因处理
401 UnauthorizedKey 错误、被删除或没带 Bearer重新复制 Key,检查请求头
404 Not FoundBase URL 少了 /v1 或路径重复只填到 /v1
model not found模型名不对或未开通从价格页复制模型名
insufficient quota余额不足充值后重试
429并发/频率超限降低并发,稍后重试
返回空内容参数或模型不支持检查 messages 格式和模型能力

九、安全与成本建议

  1. 一人一 Key:团队里不要共用一把 Key,出问题无法定位。
  2. 设置额度:测试 Key 设低额度,生产 Key 按预算设置。
  3. 不把 Key 写进前端:浏览器里的 Key 一定会被看到,前端调用必须经过你自己的后端。
  4. 生产环境用环境变量/密钥管理:不要把 Key 写在代码或 Dockerfile 里。
  5. 定期轮换:重要 Key 建议 90 天轮换一次。
  6. 看用量日志:按模型、项目、成员拆分,找出异常消耗。

十、API 和 ChatGPT Plus 有什么区别

对比项ChatGPT PlusOpenAI API
使用方式网页/App 聊天程序调用
计费固定订阅按 Token 用量
适合谁个人日常使用开发者、产品、团队
额度套餐限制充值余额
能否集成到产品不能可以

如果你只是自己聊天,订阅更简单;如果你要把模型接进产品、脚本、Agent 或工具,API 更合适。

常见问题

Key 创建后还能再看到吗?

通常只在创建时完整显示一次。没保存就只能删除重建。

一个 Key 可以调用多个模型吗?

可以。Key 是身份凭证,模型在请求参数里指定。具体可用模型看价格页。

为什么调用成功但余额没变?

可能有延迟,或者用了免费额度/缓存。以用量日志和账单为准。

可以把 Key 给同事用吗?

不建议。给同事单独建 Key,方便限额、审计和停用。

下一步

如果还没有账号,先 注册中商起航 AI 网关,创建一个测试 Key,用 curl 跑通第一条请求。跑通后再看 模型价格 选择主力模型。

相关阅读: