如何获取 LLM API:申请 API Key 到首次调用
简答:想尽快获取 LLM API:进入 OpenAI、Anthropic 或 Gemini 的开发者控制台,创建 API Key,按平台要求完成项目或账单设置,再把 Key 放进环境变量,用本文对应的 curl 命令验证。ChatGPT、Claude 或 Gemini 网页版订阅不等于 API 余额,开发 API 通常需要单独的账户、Key、用量和计费设置。
定义:LLM API 是程序通过 HTTP 或 SDK 调用大语言模型的接口;API Key 用于认证,模型名决定调用对象,端点和协议决定请求发送到哪里以及请求体如何组织。
先看结论:去哪里申请 LLM API
只想尽快调通:选择一家模型厂商的开发者控制台,创建 Key,完成需要的项目或账单设置,再运行对应的最小请求。不同平台的申请入口、认证头、模型名和计费规则并不完全相同,不能只替换一个 Base URL 就假设所有接口兼容。
本站为第三方指南,非 OpenModel 官方,以其官网为准。下表按截至2026年10月23日可核验的公开文档整理;页面名称、模型列表、账单要求和地区可用性变化时,应以各平台当前控制台和官方文档为准。
| 平台 | 申请入口 | 创建 Key 的位置 | 认证头 | 推荐环境变量 | 计费与适合人群 |
|---|---|---|---|---|---|
| OpenAI API | API Platform | 项目设置中的 API Keys 页面,点击创建 Secret Key | Authorization: Bearer $OPENAI_API_KEY | OPENAI_API_KEY | 按 API 平台的项目、用量和账单规则处理;适合直接使用 OpenAI 模型或官方 SDK 的开发者 |
| Claude API | Claude Console | API keys 页面 | x-api-key 加 anthropic-version;官方也支持 Authorization: Bearer | ANTHROPIC_API_KEY | 按 Claude Console 的账户、工作区和 API 规则处理;适合需要 Claude Messages API 的开发者 |
| Gemini API | Google AI Studio | AI Studio 的 API keys 页面,可创建或查看 Key | x-goog-api-key: $GEMINI_API_KEY | GEMINI_API_KEY | Key 关联 Google Cloud 项目;免费层、付费层、Cloud Billing、预付余额和限速以官方当前规则为准 |
OpenAI 官方说明 API Key 在 API Platform 的项目设置中创建,完整密钥只在创建时显示;Anthropic 官方文档说明 Key 在 Claude Console 的 API keys 页面创建;Google 官方文档说明新用户可以在 AI Studio 获取或创建 Gemini API Key。具体入口和权限请以OpenAI 项目与 API Key 说明、Claude API Key 说明和Gemini API 入门文档为准。
先弄清:网页订阅不等于 API 余额
Plus、Pro 或网页聊天订阅 ≠ API 余额。网页聊天产品和开发 API 可能使用不同的账户体系、账单页面、Key、模型权限和用量统计。OpenAI 已明确说明 ChatGPT 与 API 平台使用独立的账单系统,开发 API 需要到 API 平台单独查看账单和付款设置,详见ChatGPT 与 API 平台账单说明。
Claude 用户需要进入 Claude Console 创建 API Key;仅登录聊天网页并不能据此推断已经拥有 Claude API 权限。Anthropic 当前文档显示,创建 Key 时可以按照 Console 当前页面选择密钥类型、有效期、关联账户或工作区;如果按钮不可用,可能是组织角色或权限不足,应联系管理员或检查当前工作区设置。
Gemini API Key 与 Google Cloud 项目关联。Google 文档说明,AI Studio 可以为新用户自动创建项目和 Key,也可以在 API keys 页面创建新的 Key;升级到付费层需要设置 Cloud Billing。免费额度、预付余额、付款方式、模型资格和限速可能变化,不应把“能创建 Key”理解为“所有模型都免费”。
Google 还说明,Gemini API 正在从标准 API Key 迁移到授权 Key;截至2026年10月23日,新的 Key 类型和不受限制 Key 的处理方式应以Gemini API Key 官方说明及当前 AI Studio 页面为准。
三大厂商的申请步骤与最小 curl 请求
OpenAI API:项目设置 → API Keys → Bearer 认证
- 登录 OpenAI API Platform,选择已有项目或按权限创建项目。
- 进入项目设置中的 API Keys 页面,创建新的 Secret Key,并在弹窗中立即保存完整 Key。
- 检查项目的模型访问、用量、账单和支出限制;具体权限以当前项目页面为准。
- 把 Key 保存到服务端环境变量,不要放进浏览器、移动端安装包、公开仓库或日志。
export OPENAI_API_KEY="替换为你的_OPENAI_API_KEY"
export OPENAI_MODEL="替换为模型列表中确认存在的模型名"
printf 'Key 是否存在:'
[ -n "$OPENAI_API_KEY" ] && echo yes || echo no
curl -i https://api.openai.com/v1/responses \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d "{\"model\":\"$OPENAI_MODEL\",\"input\":\"请用一句话解释什么是 LLM API。\"}"OpenAI 官方 API 使用 Bearer 认证,并建议从环境变量或密钥管理服务加载 Key。模型名不要照抄示例中的固定文本,应从当前模型列表或项目可用模型中确认后再填入 OPENAI_MODEL,可参考OpenAI API 认证说明。
Anthropic Claude API:API keys → Messages → x-api-key
- 登录 Claude Console,打开 API keys 页面。
- 点击创建 Key,按当前 Console 页面填写名称、有效期、关联账户或工作区。
- 创建完成后复制完整 Key;Anthropic 文档说明完整 Key 只在创建时显示一次,丢失后应创建新的 Key。
- 使用 Messages API 时,同时确认模型名、
anthropic-version、max_tokens和messages请求体。
export ANTHROPIC_API_KEY="替换为你的_ANTHROPIC_API_KEY"
export ANTHROPIC_MODEL="替换为 Claude Console 中确认存在的模型名"
printf 'Key 是否存在:'
[ -n "$ANTHROPIC_API_KEY" ] && echo yes || echo no
curl -i https://api.anthropic.com/v1/messages \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d "{\"model\":\"$ANTHROPIC_MODEL\",\"max_tokens\":256,\"messages\":[{\"role\":\"user\",\"content\":\"请用一句话解释什么是 LLM API。\"}]}"Anthropic 当前认证文档说明,直接请求可以使用 Authorization: Bearer,旧的 x-api-key 方式仍受支持;使用未绑定工作区的 Key 时,可能还需要按 Console 设置补充 anthropic-workspace-id。因此遇到 400 或 403 时,要同时检查 Key 类型、工作区和请求头,而不只是重新复制 Key。可查看Claude Authentication 官方文档。
Gemini API:AI Studio → API keys → x-goog-api-key
- 登录 Google AI Studio,打开 API keys 页面。
- 新用户可按页面提示使用自动创建的项目和 Key,也可以点击创建新的 API Key。
- 将 Key 保存到
GEMINI_API_KEY环境变量,并检查关联的 Google Cloud 项目。 - 根据当前模型列表替换 URL 中的模型名;Gemini 原生 REST 请求使用
models/{model}:generateContent路径。
export GEMINI_API_KEY="替换为你的_GEMINI_API_KEY"
export GEMINI_MODEL="替换为模型列表中确认存在的模型名"
printf 'Key 是否存在:'
[ -n "$GEMINI_API_KEY" ] && echo yes || echo no
curl -i "https://generativelanguage.googleapis.com/v1beta/models/$GEMINI_MODEL:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-X POST \
-d '{
"contents": [
{
"parts": [
{"text": "请用一句话解释什么是 LLM API。"}
]
}
]
}'Gemini 官方 API 参考要求请求带有 x-goog-api-key 认证头,原生文本生成端点为 models.generateContent。如果你看到的控制台模型名与示例不同,应使用当前模型列表中的准确标识符,不要把示例模型名直接当作永久值,详见Gemini generateContent API 参考。
如果不想直连:聚合网关与本地模型怎么选
直连厂商适合只使用一家模型、需要原生能力或希望直接查看该厂商账单和限额的场景。优点是文档、模型权限和计费关系更直接;缺点是每家平台的认证头、请求协议和模型名可能不同。
聚合网关适合希望用一个 API Key 切换多个模型或减少客户端改动的场景,但必须确认网关的模型列表、协议映射、余额、配额和错误格式。以 OpenModel 为例,其公开认证文档列出了 Responses、Anthropic 和 Gemini 风格请求的不同认证头和路径;这只能说明其文档所述接口规则,具体模型、价格、可用性和转发行为仍应以其控制台和文档为准。可查看OpenModel 认证文档,不要把聚合网关的错误码映射当成所有直连厂商的通用规律。
本地模型服务通常不需要云端 API Key,也不自动产生云端 API 余额。以 LM Studio 为例,官方文档说明可以在 Developer 页面启动本地服务器,使用 localhost 或局域网地址提供 REST、OpenAI 兼容或 Anthropic 兼容接口;本地服务的模型文件、硬件、端口和认证开关由本机环境决定。启用局域网访问时,应设置认证并限制访问范围,避免把本地模型端点直接暴露给不可信网络。LM Studio 的本地服务说明见LM Studio API Server 文档。
| 方式 | 是否通常需要云端 Key | 适合场景 | 首先确认什么 |
|---|---|---|---|
| 直连厂商 | 需要 | 单一厂商、原生功能、直接查看用量 | 开发者控制台、账单、模型访问权限和认证方式 |
| 聚合网关 | 需要网关 Key | 多模型切换、统一入口、兼容客户端 | 支持的模型、协议、Base URL、配额和费用规则 |
| 本地服务 | 通常不需要云端 Key | 本机测试、离线推理、内部开发 | 模型是否已下载、服务是否启动、端口和认证配置 |
Python 最小调用:以 OpenAI 兼容接口为例
如果你选择的入口明确提供 OpenAI 兼容接口,可以使用 OpenAI Python SDK,并通过 base_url 指向该入口。这里不把任何具体网关地址写死,避免把某个服务的配置误认为所有平台都适用。
pip install openaiimport os
from openai import OpenAI
api_key = os.environ["LLM_API_KEY"]
base_url = os.environ["LLM_BASE_URL"]
model = os.environ["LLM_MODEL"]
client = OpenAI(
api_key=api_key,
base_url=base_url,
)
response = client.responses.create(
model=model,
input="请用一句话解释什么是 LLM API。",
)
print(response.output_text)运行前至少设置:
export LLM_API_KEY="替换为当前入口的_API_KEY"
export LLM_BASE_URL="替换为文档规定的兼容接口根地址"
export LLM_MODEL="替换为当前入口模型列表中的准确名称"如果入口只支持 Anthropic Messages 或 Gemini 原生协议,就不要直接套用上面的 Responses 请求。协议、路径、认证头、请求体和响应解析必须成套匹配。
首次调用失败:按错误字段而不是只看状态码排查
错误码不是所有平台的统一字典。OpenModel 的公开文档对其代理端点列出了 402 余额不足、429 频率限制等映射,但直连平台可能有不同表现;例如某些平台会把额度不足放在 429 响应的错误字段中。因此排查时应同时记录 HTTP 状态码、错误类型、错误消息和请求使用的端点。
| 现象 | 优先检查 | 处理方法 |
|---|---|---|
| 400 Bad Request | JSON 结构、必填字段、协议和字段名 | 缩减为官方最小请求,删除未确认支持的参数 |
| 400 unsupported_parameter | 当前模型或协议是否支持该参数 | 删除该字段,或改用当前协议规定的参数名;不要混用不同 SDK 的字段 |
| 401 Unauthorized | Key 是否为空、过期、复制错误或认证头错误 | 只验证变量是否存在,不输出完整 Key;必要时创建新 Key |
| 403 Forbidden | 项目、组织、工作区、API 权限或 Key 限制 | 检查 Key 绑定范围、目标 API 是否启用以及当前账号角色 |
| 404 Not Found | Base URL、路径和模型名 | 确认是否重复拼接版本路径,并从当前模型列表复制名称 |
| 405 Method Not Allowed | HTTP 方法与端点是否匹配 | 确认该地址要求 POST 还是 GET;方法不对时服务器可能返回 405 |
| 429 Too Many Requests | 频率限制、并发、Token 限额,也可能是额度不足 | 查看错误字段;限速时降低并发并使用指数退避,额度不足时检查账单和配额 |
| 402 或余额不足 | 平台是否使用 402 表示余额问题 | 以该平台错误文档和控制台余额为准,不要把 402 当作所有厂商的固定规则 |
| 超时或流式中断 | 网络、超时设置、代理、流式读取逻辑 | 先关闭流式验证普通请求,再增加超时、重试上限和断线处理 |
首次验证建议只发送短文本,不要一开始就叠加长上下文、流式输出、工具调用、文件和复杂 JSON。先确认 Key、端点、模型名和协议都正确,再逐项增加功能。
API Key 安全:创建后马上做这五件事
- 只放在服务端。不要把长期 Key 放进前端 JavaScript、浏览器扩展、移动端安装包或公开网页。OpenAI 官方安全建议指出,客户端暴露的 Key 可能被他人提取并代用。
- 不要提交到 Git。使用环境变量、
.env加忽略规则,或使用 Secret Manager;日志、截图和异常上报中也不要输出完整 Key。 - 按项目或用途拆分。开发、测试、生产尽量使用不同 Key,团队成员不要共用一个无限权限密钥。
- 设置有效期和权限边界。平台支持时设置过期时间、项目范围、API 限制、消费配额或用量告警。具体选项以当前控制台为准。
- 怀疑泄露就立即轮换。先停用或删除旧 Key,再创建新 Key,更新服务端配置,并检查用量和账单。OpenAI 的 API Key 安全建议可参考官方 Key 安全文档。
验证 Key 时只输出“是否存在”,不要使用 echo $OPENAI_API_KEY 把完整密钥打印到终端或 CI 日志。Windows PowerShell 的 $env: 变量通常只对当前会话有效,例如:
$env:OPENAI_API_KEY = "替换为你的_OPENAI_API_KEY"
$env:OPENAI_MODEL = "替换为当前项目确认存在的模型名"
Write-Host "Key 是否存在:" -NoNewline
if ($env:OPENAI_API_KEY) { Write-Host "yes" } else { Write-Host "no" }
获取 LLM API 的完整流程清单
- 明确需求:直连一家厂商、多模型切换、云平台托管,还是本地运行。
- 进入开发者控制台,而不是只停留在网页聊天产品。
- 确认项目、工作区、账单、付款方式、免费层和地区规则;这些内容以官方当前页面为准。
- 创建 API Key,并在创建完成时复制保存。
- 设置有效期、权限、消费配额或用量告警。
- 把 Key、Base URL 和模型名分别放进环境变量。
- 使用与平台匹配的认证头、端点和请求体运行最小 curl。
- 收到成功响应后,再接入 SDK、流式输出、工具调用或客户端。
- 失败时按 Key、URL、模型、协议、账单和限速顺序排查,并保留错误字段。
最重要的判断是:API Key 只是认证凭证,不代表已经获得所有模型权限;模型名只是请求目标,不代表该模型在所有入口可用;Base URL 只是地址,也不代表对应接口接受相同协议。每次更换供应商或聚合入口,都应重新核对三项配置。
常见问题
ChatGPT、Claude 或 Gemini 网页版订阅能直接调用 API 吗?
不能直接这样推断。网页订阅和开发 API 可能使用不同账户体系、账单和额度;应进入对应开发者控制台,单独创建 API Key 并查看 API 用量与账单。OpenAI 已明确说明 ChatGPT 与 API 平台分开计费。
获取 LLM API 一定要付费吗?
不一定,但免费额度、付款方式、地区、模型资格和限速可能变化。能创建 API Key 不代表所有模型都免费,也不代表已经开通付费层;应以当前平台账单和用量页面为准。
OpenAI、Anthropic 和 Gemini 的 API Key 可以互换吗?
通常不能。每个平台的 Key、认证头、端点和模型名都可能不同。OpenAI 使用 Bearer 认证,Anthropic 使用 Claude API 规定的认证头和 Messages 协议,Gemini 原生 REST 请求使用 x-goog-api-key 和 generateContent 路径。
为什么网页聊天正常,但 API 返回 401 或 403?
网页聊天和 API 可能不是同一个权限体系。先确认使用的是开发者平台创建的 Key,再检查项目、工作区、认证头、模型访问权限和账单状态;不要直接把网页登录状态当成 API 凭证。
429 一定表示请求太频繁吗?
不一定。429 常见于频率、并发或 Token 限制,但部分平台也可能把额度不足放在 429 响应的错误字段中。应同时查看错误类型和消息,再决定是降低并发重试,还是检查账单和配额。
本地模型 API 需要申请 Key 吗?
本地服务通常不需要云端 API Key,但是否启用本地 API Token取决于运行工具的设置。以 LM Studio 为例,可以在本机启动 OpenAI 兼容或其他兼容接口;使用局域网访问时,应按官方设置启用认证并限制访问范围。
相关阅读
参考资料
- OpenAI Help Center:Managing projects in the API platform
- OpenAI API Reference:Authentication
- OpenAI Help Center:Managing billing for ChatGPT and the API platform
- OpenAI Help Center:Best practices for API key safety
- Claude Platform Docs:Get your Claude API key(platform.claude.com)
- Claude Platform Docs:Authentication(platform.claude.com)
- Google AI for Developers:Getting started with Gemini API
- Google AI for Developers:Using Gemini API keys
- Google AI for Developers:Generating content
- OpenModel:认证(docs.openmodel.ai)
- LM Studio:LM Studio as a Local LLM API Server(lmstudio.ai)