“ChatGPT API Key”是常见叫法,真正创建的是 OpenAI Platform 的项目密钥,不是 ChatGPT 聊天页面里的功能。一个能用的接入至少要连续通过五关:所在地受支持、project key 已创建、API 账单可用、secret 只在后端加载、第一次 Responses 请求成功并出现在 Usage。
先看旧教程最常跳过的边界:截至 2026 年 7 月 18 日,OpenAI 的 API 支持国家和地区列表中没有中国大陆。实际所在地不受支持时,应停止官方直连流程;VPN、虚拟卡、地址、电话或身份教程不能把该地区变成 OpenAI 官方支持地区。下面的官方创建步骤只适用于实际所在地和账户条件符合当前政策的读者。
30 秒答案:怎样才算获取成功
| 验收关卡 | 要做什么 | 通过证据 |
|---|---|---|
| 地区 | 查当前官方名单 | 实际所在地在名单内 |
| 密钥 | 在目标 project 创建 secret key | API Keys 有记录,完整 secret 已安全保存一次 |
| 计费 | 打开 API Platform Billing | 有可用试用状态或预付余额,而不只是 ChatGPT 订阅 |
| 安全 | 用后端环境变量加载 | 程序能读到变量,前端、日志和仓库没有 secret |
| 调用 | 请求 POST /v1/responses | 收到输出,Usage 在正确 project 记录用量 |
只“看见一串 key”不算完成。密钥是身份证明;余额、权限、模型可用性和请求格式仍会分别决定调用能否成功。
先分清三个合同
- ChatGPT Free、Plus、Pro 等订阅:用于 ChatGPT 产品。
- OpenAI API Platform:项目、API key、用量和账单独立管理。
- 第三方兼容网关:由另一家服务商发自己的 key、base URL 和账单,不会给你 OpenAI 官方 key。
OpenAI 明确说明 ChatGPT 与 API 的计费彼此独立。已经支付 Plus 并不能让 API 自动有余额;API 充值也不会升级 ChatGPT 套餐。
在 OpenAI Platform 创建项目密钥
实际所在地受支持时,按下面的路径操作:
- 登录 OpenAI Platform,不要在 ChatGPT 对话页找入口。
- 进入目标 project,再打开 API Keys。开发、测试和生产最好分开,便于权限、审计和轮换。
- 点击 Create new secret key,写能说明用途的名称,例如
support-staging。 - 选择权限。OpenAI 当前提供
All、Restricted和Read Only;已知任务优先从 Restricted 权限开始,只开放要调用的 endpoint。 - 创建后立即复制完整 secret,放进密码管理器或 secret manager。
OpenAI 的 密钥帮助页说明,完整 secret 只在创建时显示一次;丢失后不能找回,只能创建新 key 并替换应用配置。不要截图、不要发群聊,也不要为了“确认变量”把它打印到终端或日志。
单独配置 API 计费
创建 credential 本身不收费,但这不等于每个新账户固定获得免费 API credits。Quickstart 可能向符合条件的账户提供测试路径;持续调用是否可用,以该账户的 Billing 状态和目标模型为准。
OpenAI 当前 Prepaid Billing 说明写明:新 API 账户采用预付费,最低购买额为 5 美元;购买的 credits 一年后过期。金额、支付方式和账户资格会变化,付款前应以自己的 Billing 页面为准。若不需要自动购买,关闭 auto-recharge 并在保存后复核。
项目 monthly budget 也不是可靠的硬停机开关。Projects 文档说明它是 soft threshold,超过后请求仍会继续。真正的成本停止应在后端实现:限制每分钟请求、单次 token、重试次数和内部累计成本,达到阈值后拒绝新任务。
把 key 放进后端环境变量
OpenAI 的 API key 安全建议要求不要把 key 放进浏览器、移动端或代码仓库。前端项目里的 .env 如果被构建工具打进 JavaScript,同样是公开值。
macOS 或 Linux 本地测试时,可避免把 secret 写进命令历史:
bashread -s OPENAI_API_KEY export OPENAI_API_KEY
粘贴 secret 后回车,值不会回显。不要运行 echo $OPENAI_API_KEY;安全检查只返回变量是否存在。
用一次 Responses 请求验收
2026 年 7 月 18 日核对的 Developer quickstart使用 Responses API。下面的 curl 从环境变量读取 bearer token:
bashcurl https://api.openai.com/v1/responses \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -d '{ "model": "gpt-5.6", "input": "Reply with exactly: API_OK" }'
如果 project 未显示示例模型,换成当前 project 和官方文档里实际可用的文本模型,不要反复创建 key。模型可用性与 key 有效性是不同层。
成功后打开 Usage,确认请求归属正确 project。输出成功 + Usage 有记录,才是比“key 已创建”更可靠的完成标准。
如果现有应用还在 Chat Completions 中执行自定义函数,下一步不是只替换 URL。请按 Chat Completions 到 Responses API 的函数调用迁移指南改造 tool schema、function_call 解析、call_id 配对和应用侧执行循环。
如果你还在判断最终结构化响应和工具调用该选哪一个,先看 Structured Outputs 与 Function Calling 的决策与实现,再决定是否需要工具循环。
报错时不要先重建 key
| 现象 | 最可能的层 | 正确下一步 |
|---|---|---|
401 / incorrect API key | secret 错误、已撤销或变量没加载 | 不打印值;确认运行进程读取正确变量,必要时 rotate |
403 / unsupported region | 地区资格 | 停止官方直连,重查支持列表;不要继续绕过 |
429 + insufficient_quota | API Billing/余额 | 查 Billing 与 Usage;ChatGPT 订阅和更多 key 都不能解决 |
429 + rate limit | 请求速率 | 退避重试、降低并发并查看当前 limits |
| 模型不存在或 permission denied | 模型或 Restricted 权限 | 选择可用模型,或只增加所需 endpoint 权限 |
| secret 曾进仓库、截图或聊天 | 安全事件 | 立即 revoke,创建替代 key,更新后端并检查 Usage |
更细的 429 分流可看 OpenAI API quota exceeded 指南;项目或组织归属问题可看 API key 与 organization/project 的关系。
官方直连不符合条件时
不要购买来历不明的共享 key。多人共用一个 secret 会混合用量、权限和审计,一人泄露就可能影响全部使用者。
另一种产品形态是单独签约的兼容 API 网关。我在 2026 年 7 月 18 日通过浏览器核验了 LaoZhang API 文档:它把自己定义为面向企业和开发者的 API 集成平台,列出 Quick Start、OpenAI-compatible 调用与 Responses API 支持。选择它时得到的是该平台自己的 key、URL、账单和数据/支持合同,不是 OpenAI 官方 key。
只有在需要独立供应商合同或多模型切换,并已核对所在地合规、条款、data policy、当前模型与账单时,才考虑这条路线。如果需求明确要求 OpenAI 官方账户、project、支持或审计归属,就停止使用兼容网关,回到官方 Platform 的条件判断。
最终检查很简单:地区支持、正确 project、最小权限、独立 API Billing、后端 secret、Responses 输出和 Usage 记录七项缺一不可。丢失或泄露时选择 revoke/rotate,而不是继续使用旧 key。



