OpenAI API 怎么接入?密钥申请、SDK 调用与国内访问的现实前提
数据截至 2026-07,价格与限额以各官网为准。
接入 OpenAI API 这件事本身没什么技术门槛:注册账号、绑卡、建一个 key,官方 SDK 几行代码就能跑通;真正值得花时间提前想清楚的,是用量分级会怎么限制你的生产流量,以及——最容易被忽略也最容易踩坑的一点——你所在的网络环境到底能不能合规访问。
很多人上手前只想着”代码怎么写”,结果卡在了完全不涉及代码的地方:注册时被判定地区不支持、绑卡失败、或者压根不知道自己所在地区不在官方支持范围内,白白折腾半天。这篇按真实接入顺序走一遍,把每一步容易踩的坑标出来,最后专门用一整节把国内访问的现实情况说清楚。
第一步:申请 API 密钥
官方入口是 platform.openai.com。这里有个 2026 年的现状值得先说一句:OpenAI 的文档站点已经迁移到了新域名 developers.openai.com,所以你打开旧文档链接常常会被 301 跳转过去;但账户体系、绑卡、密钥管理这些操作入口,仍然留在 platform.openai.com,不用担心走错门。
注册登录之后,进入 API Keys 页面创建密钥,路径通常是 platform.openai.com/api-keys,也可能落地在组织设置下的 .../settings/organization/api-keys——如果按第一个路径没找到,去组织设置里翻一下就有。
和很多平台一样,光注册完账号还发不出请求。官方原文明确写着:必须先在 Billing 页面绑定信用卡这类支付方式,账才能真正跑通调用。这也是新手最常见的第一个坑——密钥复制过去了,代码也没写错,一调用就报错,回头查半天才发现是没绑卡。绑卡这一步官方还顺带给了一个很实用的功能:可以设置月度消费上限(spend limit),对个人开发者尤其友好,能防止代码写崩了、循环调用把账单刷爆。
密钥创建完成后,同样只显示一次明文。官方建议把它存进环境变量或专门的密钥管理服务,绝对不要硬编码进客户端代码里,更不要提交进代码仓库。日常最简单的做法是放进 OPENAI_API_KEY 这个环境变量,因为官方 SDK 默认就从这里读取,不用在代码里显式传参。
鉴权方式是标准的 HTTP Bearer:请求头带上 Authorization: Bearer OPENAI_API_KEY_OR_ACCESS_TOKEN。如果你不用官方 SDK、而是自己拼 HTTP 请求,记得这一行别漏。
第二步:SDK 最小调用
装好 SDK,把 key 放进环境变量,剩下的代码非常短。
这里有个容易让老用户困惑的变化:官方当前推荐的接口是 Responses API(client.responses.create),不是很多教程里还在用的旧接口 Chat Completions(chat.completions.create)。Chat Completions 目前仍然可用,官方也没有强制下线它,但新版 Quickstart 文档已经把 Responses API 作为首选示例,写新代码建议直接用这个。
Python 侧,先 pip install openai:
from openai import OpenAI
client = OpenAI()
response = client.responses.create(
model="gpt-5.5",
input="Write a one-sentence bedtime story about a unicorn."
)
print(response.output_text)
TypeScript / Node.js 侧,先 npm install openai:
import OpenAI from "openai";
const client = new OpenAI();
const response = await client.responses.create({
model: "gpt-5.5",
input: "Write a one-sentence bedtime story about a unicorn."
});
console.log(response.output_text);
两个 SDK 都会自动读取环境变量 OPENAI_API_KEY,不用显式传参(当然也支持显式传 apiKey / api_key,比如你想在一个进程里切换多个账号时)。
对比熟悉旧接口的人会发现一个明显区别:Responses API 里入参叫 input,不是 messages 数组;拿结果也直接是 response.output_text 这个字符串属性,不需要像旧接口那样自己去 choices[0].message.content 里掏。上手成本反而更低。如果你的项目历史代码是 Chat Completions 写的,不用立刻全部重构,两套接口目前并存,但新功能大概率会优先跟进 Responses API。
模型这里也提一句:截至 2026-07,官方定价文档已经不再展示 gpt-4.1、gpt-4o、o3、o1 这些旧模型的价格条目,主推的是 GPT-5.x 系列(gpt-5.5、gpt-5.4、gpt-5.4-mini 等)。如果你是老用户,脑子里对”GPT-4o 是当前主力”的印象已经过时了,写新代码直接选 GPT-5 系列。
第三步:搞懂 rate limit 和用量分级
跑通 demo 之后,上生产环境之前必须搞清楚限速机制,不然大概率会在流量稍微上量的时候被 429 打个措手不及。
OpenAI 把账户分成 Free、Tier 1 到 Tier 5 一共六档用量等级,依据是账户历史累计已付费金额,官方原文说得很直接:随着你在 API 上的花费增加,系统会自动把你升到下一档,“通常会带来大多数模型限速额度的提升”——不需要手动申请,达标就自动升。
官方给出的分级表长这样:Free 档月度限额 $100;Tier 1(累计已付费 $5)月度限额 $100;Tier 2(累计已付费 $50)$500;Tier 3(累计已付费 $100)$1,000;Tier 4(累计已付费 $250)$5,000;Tier 5(累计已付费 $1,000)$200,000。注意这个”达标条件”看的是历史累计,不是当月消费——哪怕你只是三个月前充值付过一次 $50,现在也已经站在 Tier 2 的门槛上了,不需要每个月重新达标。
限速本身分好几个维度:RPM(每分钟请求数)、TPM(每分钟 token 数)、按天计的 RPD/TPD 变体,图像类模型还额外算 IPM(每分钟图片数)。官方原文写得很明确:“Rate limits can be hit across any of the options depending on what occurs first”——也就是说这几个维度谁先触顶就先限流谁,不是简单地看单一指标。
一个容易被忽略的点:限速的作用范围是组织(org)或项目(project)级别,不是按单个 API Key 单独计算。如果你在同一个组织下开了好几个 key 分给不同环境或不同人用,它们其实是在共享同一份配额池,不会因为多开几个 key 就凭空多出限速额度。不同模型之间的限速额度可能相互独立,也可能共享,具体可以在账户设置的 Limits 面板里查看实时余量;每次请求的响应头里也会带上剩余额度和重置时间,建议正式接入生产环境时把这些头读出来做日志或告警,而不是等真的 429 了才去查文档。
中国大陆访问的现实情况(诚实说明)
这一节是这篇文章里最该认真看的部分,免得你在完全不涉及代码的地方白白耗掉大量时间。
先说结论:截至 2026-07,中国大陆和香港都不在 OpenAI 官方”受支持国家/地区列表”内,这不是网络慢、也不是偶发故障,而是官方在支持地区政策和账户风控层面主动做出的限制。官方支持地区列表页面开头原文写得很直白——在列表之外的国家或地区访问或提供服务,可能导致账号被封禁或暂停。经核实,这份列表里没有中国大陆和香港。
这不是一句空话,是有历史执行记录的:早在 2024 年 6 月,OpenAI 就向受影响开发者群发过邮件,原文大意是”我们的数据显示你的组织有来自 OpenAI 目前不支持地区的 API 流量”,并宣布从 2024 年 7 月起对不支持地区的流量采取额外阻断措施,当时的媒体报道确认这轮封锁范围包括中国大陆、中国香港、俄罗斯、伊朗、朝鲜等地。到了 2025 年,OpenAI 又进一步引入了”组织身份验证”这类审查机制,扩大了对账户资格的地域核查——这部分具体验证规则的细节,本文没有逐条截图核实,如果你要精确了解建议直接查官网当次页面,这里只讲大方向:地域限制不是在放松,而是在收紧。
所以别在”怎么才能让官方认我是支持地区”这件事上钻牛角尖,目前没有这样的官方例外通道。对于真的需要用起来的人,比较诚实的说法是有三条现实路径,注意它们都不是”能不能用”的问题,而是”用哪一条、门槛是什么”:
第一条,是走支持地区的合规身份去注册——需要海外手机号、海外信用卡、能访问 openai.com 的网络环境,这些前提条件本身对国内用户就是实打实的门槛,不是随手就能凑齐的。
第二条,是通过 Azure OpenAI Service。微软是 OpenAI 重要的投资方和云基础设施合作伙伴,Azure 提供的是托管版的 OpenAI 模型 API。但要注意,这属于微软自己的产品线和商务条款,并不等同于”OpenAI 官方直连”;而且 Azure 在中国大陆的落地(由世纪互联运营的”Azure China”)和 Azure 国际版本本身也是两套独立体系,能不能调用到 OpenAI 的模型、具体条款怎么谈,需要自己去向微软或世纪互联的渠道核实,这篇不做承诺性结论。
第三条,是用国内厂商自己的产品——阿里云、百度、智谱、月之暗面这些厂商都提供协议或接口风格对齐 OpenAI 的服务,但模型本身是国产自研,跟 OpenAI 没有直接关系。这条路线不涉及跨境访问问题,接入体验上贴近 OpenAI 的调用习惯,适合只是想要类似接口体验的场景。
至于市面上大量存在的所谓”中转 API""一键代理""国内直连服务”,本质上是有人先在支持地区用合规身份注册了账号,再转发给你用。这类服务不受 OpenAI 官方认可,稳定性、账号安全、数据隐私风险都得自己承担,本文不推荐、不背书,也不会列出任何具体渠道名称——这不是藏着掖着,是因为这类信息本身就变化极快、良莠不齐,与其推荐一个可能明天就失效或跑路的渠道,不如把现实情况和三条正经路径讲清楚,怎么选交给你自己判断。
常见坑 / 注意
- 绑卡才能真正调用:账号注册完不等于能发请求,先去 Billing 页面绑支付方式。
- 月度消费上限记得设:绑卡时顺手把 spend limit 设好,防止代码写崩了刷爆账单。
- 密钥只显示一次:当场存进环境变量或密钥管理服务,关掉弹窗就找不回明文了。
- 新代码优先用 Responses API:
client.responses.create是当前官方首选范例,response.output_text直接拿字符串,比旧接口简洁。 - 模型别再默认 GPT-4o:定价页已不再展示 gpt-4.1/4o/o3,主力是 GPT-5.x 系列。
- 限速按组织/项目算,不是按 key:同组织下多开几个 key 不会多出配额,是共享同一个池子。
- 大陆/香港无官方直连支持:这是政策层面的主动限制,且趋势是收紧,别在”找官方国内通道”上耗时间。