Appearance
ChatGPT API中文入门教程:API Key获取、首次调用、计费与常见错误(2026)
更新时间:2026年9月18日
直接回答: 初次调用 OpenAI API,需要在开发者平台创建项目和 API Key,把 Key 保存到服务端环境变量,安装官方 SDK,再通过 Responses API 发送请求。ChatGPT 免费版或 Plus 订阅不等于 API 余额;API 模型、价格、速率限制和可用权限应分别在开发者平台核对。
开发接口参考
需要比较多模型接口和开发文档时,可以查看 ZeoAPI 的模型列表、调用示例与当前计费规则,再按项目需要选择接入方式。
一、ChatGPT和OpenAI API有什么区别
很多新手搜索“ChatGPT API”,实际需要的是 OpenAI 开发者平台提供的模型接口。它与 ChatGPT 网页版不是同一种用量方式。
| 对比项 | ChatGPT 网页版 / 客户端 | OpenAI API |
|---|---|---|
| 使用方式 | 人在聊天界面中操作 | 程序通过 SDK 或 HTTP 请求调用 |
| 计费 | 免费方案或周期订阅 | 按模型和实际用量等规则计费 |
| 凭据 | ChatGPT 账号会话 | 项目 API Key |
| 典型用途 | 问答、写作、文件处理、日常办公 | 网站功能、后端服务、批处理、自动化 |
| 用量查看 | ChatGPT 账户和限额提示 | 开发者平台 Usage、Billing 和 Limits 页面 |
因此,订阅 ChatGPT Plus 不会自动赠送 API 调用额度;给 API 账户充值也不会自动升级 ChatGPT Plus。只想在网页中聊天,可以先看ChatGPT免费版和Plus区别。
二、首次调用前准备什么
开始前准备四项:
- 可以访问 OpenAI 开发者平台的账号。
- 一个用于测试的项目,以及该项目中的 API Key。
- 在开发者平台可用的计费方式或余额。
- Node.js 或 Python 开发环境。
还要从官方模型列表复制当前账号可用的准确模型 ID。不要根据博客标题猜模型名,也不要把 ChatGPT 界面里看到的展示名称直接当成 API 模型 ID。
三、创建API Key并安全保存
第一步:进入开发者平台
从 OpenAI API 文档进入开发者平台,确认地址栏属于 developers.openai.com 或 platform.openai.com。登录后选择或创建用于本次测试的项目。
第二步:创建项目密钥
进入 API Keys 页面,在正确项目下创建密钥,并按页面提供的权限选项配置。密钥通常只会完整显示一次,创建后立即保存到本机安全位置。
第三步:写入环境变量
不要把真实 Key 写进代码。PowerShell 当前窗口可以这样设置:
powershell
$env:OPENAI_API_KEY = Read-Host -MaskInput "输入 OpenAI API Key"
$env:OPENAI_MODEL = "从官方模型页复制当前可用的模型 ID"macOS 或 Linux 终端可以使用:
bash
export OPENAI_API_KEY="在本机安全输入"
export OPENAI_MODEL="从官方模型页复制当前可用的模型 ID"上面的值只用于说明变量位置。不要把真实 Key 放进文章、截图、前端代码、Git 仓库或聊天记录。更完整的生产配置见OpenAI API Key安全配置指南。
四、用JavaScript完成第一次调用
1. 初始化项目并安装SDK
bash
mkdir openai-first-call
cd openai-first-call
npm init -y
npm install openai在 package.json 中启用 ES Module,或把示例保存为 .mjs 文件。新建 example.mjs:
javascript
import OpenAI from "openai";
const model = process.env.OPENAI_MODEL;
if (!model) {
throw new Error("请先设置 OPENAI_MODEL 环境变量");
}
const client = new OpenAI();
const response = await client.responses.create({
model,
input: "请用三句话解释什么是 API,并给出一个生活化例子。",
});
console.log(response.output_text);然后运行:
bash
node example.mjs官方 SDK 会读取 OPENAI_API_KEY。模型 ID 从环境变量读取,可以避免教程因模型更新而失效。第一次测试只发送一条短文本,先确认认证、模型权限和计费状态,再增加文件、工具或长输出。
五、用Python完成第一次调用
安装 SDK:
bash
python -m pip install openai新建 example.py:
python
import os
from openai import OpenAI
model = os.environ.get("OPENAI_MODEL")
if not model:
raise RuntimeError("请先设置 OPENAI_MODEL 环境变量")
client = OpenAI()
response = client.responses.create(
model=model,
input="请用三句话解释什么是 API,并给出一个生活化例子。",
)
print(response.output_text)运行:
bash
python example.py如果终端输出模型返回的文本,说明最小调用链已经打通。此时再保存请求编号、统计用量,并逐步添加超时、重试和日志脱敏。
六、Responses API的请求怎么读
最小示例只有三个核心部分:
| 字段或对象 | 作用 |
|---|---|
OpenAI() | 创建客户端,默认从环境变量读取 API Key |
model | 指定准确的 API 模型 ID |
input | 提供本次任务的输入文本 |
response.output_text | 从响应中读取聚合后的文本输出 |
Responses API 还可以承载更复杂的输入、工具和结构化流程,但初学阶段不要一次加入所有能力。先让纯文本请求稳定成功,再分别测试流式输出、图片输入、工具调用或结构化结果。
官方调用结构和 SDK 示例以 Developer quickstart及 Responses API 参考为准。
七、OpenAI API怎么计费
API 费用不能用“每问一次多少钱”简单概括。常见计费因素包括:
- 选择的模型;
- 输入 Token 数量;
- 输出 Token 数量;
- 是否命中官方定价中列出的缓存输入规则;
- 是否使用图片、音频、工具或其他单独计费能力;
- 批处理、实时接口或其他服务类型。
计算思路可以写成:
text
单次成本 ≈ 输入用量 × 输入单价 + 输出用量 × 输出单价 + 其他工具或模态费用具体价格应查 OpenAI API 官方定价,实际消耗在开发者平台的 Usage 页面查看。不要把旧文章中的单价直接用于预算,也不要假设名字相似的模型价格相同。
新手如何控制成本
- 第一次请求使用短输入和短输出。
- 从满足质量要求的合适模型开始测试,不盲目选择成本最高的模型。
- 给用户输入、文件大小和输出长度设置上限。
- 为项目设置预算提醒和用量监控。
- 限制并发与重试次数,防止错误循环持续消耗。
- 把开发、测试和生产环境分成不同项目或密钥。
八、API限流和使用额度怎么看
API 的速率限制可能按请求数、Token 数、模型、项目和组织等级计算。每个账号的限制并不相同,应查看开发者平台当前的 Limits 页面和接口返回信息。
遇到限制时:
- 先区分是请求过快、Token 过多,还是计费额度不足;
- 降低并发和单次输入规模;
- 使用带上限的指数退避重试;
- 不要对所有 4xx 错误自动重试;
- 记录请求编号、状态码和脱敏后的错误类型。
官方说明见 Rate limits 指南。
九、常见错误怎么排查
| 状态或现象 | 常见原因 | 处理顺序 |
|---|---|---|
| 401 Unauthorized | Key 缺失、无效、已撤销或环境变量未加载 | 检查变量名和项目,必要时撤销旧 Key 后重新创建 |
| 403 Forbidden | 项目权限、组织策略或账号权限不满足 | 核对当前项目、密钥权限和平台提示 |
| 404 / model not found | 模型 ID 写错,或当前项目无权使用 | 从官方模型页复制准确 ID,并检查项目权限 |
| 429 Too Many Requests | 触发速率限制,或账号用量、计费状态存在限制 | 阅读错误正文,分别检查 Limits、Usage 和 Billing |
| 400 Bad Request | 请求字段、输入格式或参数组合不正确 | 用官方最小示例逐项删除自定义参数 |
| 5xx / 超时 | 服务波动、网络问题或请求过大 | 保存请求编号,使用有限次数退避重试,并缩小请求测试 |
| 本地读不到 Key | 环境变量只在另一个终端窗口中设置 | 在运行程序的同一环境重新设置变量,不要打印完整 Key |
为什么设置了Key仍然报401
最常见的问题不是 SDK,而是程序运行在另一个终端、容器或部署环境中。可以检查变量是否存在,但不要输出完整值:
javascript
console.log(Boolean(process.env.OPENAI_API_KEY));如果结果为 false,说明当前进程没有读到环境变量。若为 true 仍报 401,再检查 Key 是否属于正确项目、是否已撤销,以及请求是否发往预期的官方接口。
429是否等于余额不足
不一定。429 可能表示请求频率、Token 速率或用量限制,也可能与账户计费状态有关。应先阅读响应中的错误类型,再查看 Limits、Usage 和 Billing;不要遇到 429 就无限重试。
十、上线前必须补上的安全措施
本地示例能运行,不代表可以直接上线。生产环境至少需要:
- API Key 只保存在服务端密钥管理或加密环境变量中;
- 浏览器和移动端只请求自己的后端,不接触上游 Key;
- 校验登录用户、输入类型、文件大小和请求频率;
- 设置超时、并发限制及有上限的重试;
- 日志中隐藏
Authorization、Cookie、个人资料和完整原文; - 监控 Usage、异常峰值和预算;
- 准备 Key 撤销、轮换和事故排查流程;
- 对外部写入、付款、发送消息等操作保留明确确认。
推荐的请求路径是:
text
浏览器或 App → 你的后端接口 → OpenAI API
↓
服务端环境变量中的 Key十一、第一次调用成功后的学习顺序
- 用短文本掌握
input和output_text。 - 记录用量,比较两种模型对同一任务的质量和成本。
- 加入超时、限速和错误分类。
- 根据业务需要学习流式输出或结构化结果。
- 最后再加入文件、图片和工具调用。
- 上线前做权限、日志、预算和密钥轮换检查。
如果你的目标是让 AI 直接协助修改代码,也可以阅读OpenAI Codex安装与使用教程,区分编程代理权限和 API Key 权限。
常见问题 FAQ
ChatGPT Plus包含OpenAI API额度吗?
不包含。ChatGPT 订阅和 OpenAI API 分别计费,用量页面也不同。
API Key在哪里创建?
登录开发者平台,在正确的项目下打开 API Keys 页面创建。创建后把它保存到服务端环境变量,不要放进前端或公开仓库。
第一次调用应该选哪个模型?
先在官方模型页确认当前项目可用的模型,再根据任务质量、速度和价格选择。教程使用 OPENAI_MODEL 环境变量,就是为了避免把会变化的默认模型写死。
API必须使用官方SDK吗?
可以通过兼容的 HTTP 请求调用,但新手使用官方 SDK 更容易处理认证、请求格式和响应对象。无论哪种方式,都要从当前官方文档核对字段。
为什么网页里能用某个模型,API却提示model not found?
ChatGPT 产品展示名称、API 模型 ID 和账号权限并不一定相同。应从 API 模型列表复制准确 ID,并确认项目具有访问权限。
可以把API Key写在React或Vue环境变量中吗?
只要变量最终打包到浏览器,就可能被用户读取。前端应调用自己的后端,由后端安全保存并使用 Key。
API请求失败会不会收费?
计费行为取决于请求是否被处理、错误类型和具体接口规则。应查看 Usage 与错误响应,不要根据 HTTP 状态码自行推断;程序必须限制自动重试次数。
官方来源
- OpenAI API 文档
- Developer quickstart
- Models:API模型列表
- Responses API:创建响应
- OpenAI API 定价
- Rate limits 指南
- OpenAI Platform:API Keys
以上页面核对日期为 2026 年 9 月 18 日。模型、SDK、价格和限制可能更新,正式接入前请重新核对当前官方文档与项目页面。
继续阅读
站群延伸阅读
总结
第一次调用 OpenAI API 的最短路径是:创建项目 Key、写入服务端环境变量、从官方模型页复制可用模型 ID、安装官方 SDK,再用 Responses API 发送一条短文本。成功后再逐步加入用量监控、限速、重试和生产安全措施。ChatGPT 订阅与 API 计费始终分开核对。