use-case
AI API 快速入门:从 API Key 到第一次调用
直接答案调用 AI API 需要匹配的 Base URL、API Key、模型名和端点;先用最小 curl 请求跑通,再处理错误、费用与密钥安全。
更新 · 审核信息
开始前先认识四个名词
Base URL 是 API 服务地址,API Key 是访问凭证,模型名决定调用哪个能力,端点决定请求采用哪种协议。四者必须配套;只替换模型名,不能把 OpenAI、Anthropic 和 Gemini 的请求体随意混用。聊天网页会员通常也不等于开发者 API 凭证。
第一步:准备三个变量
在本站准备一枚 API Key,到模型广场复制一个支持目标端点的精确模型 ID,并确认账户余额或配额可用。密钥只放在服务端环境变量或密钥管理器中,不要写入网页、移动端安装包、Git 仓库、截图和普通日志。
本文示例使用本站推荐的 Authorization: Bearer。为兼容原生 SDK,本站 /v1/messages 也接受本站密钥形式的 x-api-key,Gemini /v1beta/models/... 路径也接受 x-goog-api-key。直连 Anthropic 还必须发送 anthropic-version,直连 Google 使用 x-goog-api-key;调用本站时始终使用本站创建的密钥,不要混用厂商密钥。
export BASE_URL="https://你的服务地址"
export API_KEY="你的本站密钥"
export MODEL_NAME="从模型广场复制的精确模型名"
BASE_URL 在本文中不包含末尾的 /v1。如果 SDK 配置已经带有 /v1,不要重复拼接成 /v1/v1。
第二步:发送最小请求
初次排查优先使用 curl,因为它能排除 SDK 版本、代理和自动重试带来的干扰。下面的 Chat Completions 请求只发送一个用户消息:
curl "$BASE_URL/v1/chat/completions" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d "{\"model\":\"$MODEL_NAME\",\"messages\":[{\"role\":\"user\",\"content\":\"只回复:连接成功\"}]}"
HTTP 200 且响应中出现模型文本,说明域名、密钥、模型和基础协议已经连通。不要一开始就加入图片、工具、长上下文或十几个可选参数;每增加一种能力,都应单独验证。
第三步:读懂成功响应
Chat Completions 的正文通常位于 choices[0].message.content,finish_reason 表示停止原因,usage 记录输入和输出用量。若停止原因表示长度上限,答案可能被截断;若正文为空,还要检查工具调用、拒绝、安全拦截或协议特有的内容块。
{
"choices": [
{
"message": {"role": "assistant", "content": "连接成功"},
"finish_reason": "stop"
}
],
"usage": {"prompt_tokens": 12, "completion_tokens": 3, "total_tokens": 15}
}
示例数字只用于解释字段,实际响应以目标模型与渠道为准。记录 HTTP 状态、请求 ID、返回 model、停止原因、用量和耗时,比只保存最终文字更利于排障和计费核对。
第四步:选择正确协议
- 需要广泛 SDK 兼容和
messages结构时,阅读 OpenAI 兼容 API 指南。 - 需要 Claude 原生内容块和工具语义时,阅读 Anthropic Messages API 指南。
- 需要本站已适配的 Gemini GenerateContent 多模态
parts时,阅读 Gemini API 指南。
OpenAI 官方为新项目优先介绍 Responses API;Google 已为新项目推荐 Interactions API,但本站当前公开的 Gemini 原生兼容路径确定是 generateContent 与 streamGenerateContent,不包含 /v1beta/interactions。厂商“推荐接口”与网关“已适配接口”不是一回事,迁移前必须做字段级测试。
从其他 OpenAI 兼容服务迁移
先保持 /v1/chat/completions、messages 和最小请求体不变,只替换 SDK 的 base_url、本站 API Key 与模型广场中的精确模型 ID。若 SDK 的 base_url 已包含 /v1,不要再追加一次。最小文本请求通过后,再逐项回归流式事件、工具调用、图片输入、结构化输出、停止原因和用量字段;本站不保证复刻原服务的每个扩展参数,也不要只改模型名就切换到 Responses、Anthropic 或 Gemini 原生协议。
第五步:按状态码排错
400 多为 JSON、字段或上下文问题;401 检查密钥;403 检查权限;404 检查 Base URL、路径和模型名;413 表示请求体过大;429 可能是临时限流,也可能是余额或配额问题。5xx 要先读错误正文再分类:过载可能是临时故障,但 Gemini GenerateContent 的输入或上下文过长也可能表现为 500 或 504。先保留脱敏后的错误类型、消息和请求 ID,再查阅 API 报错排查指南。
只有临时 429、网络错误和部分 5xx 适合有限重试。优先遵循 Retry-After,否则使用带随机抖动的指数退避,并同时限制最大次数与总时长。400、401、403 和余额不足不会因为高频重试自动恢复。
第六步:控制费用与密钥风险
为单个用户设置并发、每分钟请求、每日用量和最大输出限制;开发环境从低成本模型和短输入开始。不要把完整请求和响应无界写入日志,尤其是图片 Base64、音频、文件、个人数据和工具结果。密钥泄露后应立即撤销并轮换。
上线前检查清单
- 固定已经验证的模型 ID、端点和必要参数,保存可回归的请求样本。
- 为连接、首字节和总请求设置合理超时,流式响应按完整 SSE 事件解析。
- 对临时失败做有限重试,对非幂等写操作使用幂等键或业务去重。
- 记录请求 ID、状态码、停止原因、用量和延迟,但对密钥与个人数据脱敏。
- 设置用户级费用上限、异常告警和降级模型,并定期核对官方弃用公告。
适用场景
- 第一次调用 AI API
- 从其他 OpenAI 兼容服务迁移
- 上线前检查认证、费用与重试
API 协议
/v1/chat/completions/v1/responses/v1/messages/v1beta/models/{model}:generateContent/v1beta/models/{model}:streamGenerateContent
FAQ
已经购买聊天产品会员,还需要 API Key 吗?
通常需要。聊天产品与开发者 API 往往是不同产品,账号、余额和配额也可能分开;调用本站接口时请使用本站创建的 API Key。
Base URL 后面要不要加 /v1?
取决于客户端填写方式。本文把 BASE_URL 当作站点根地址,并在请求路径中写出 /v1;如果 SDK 的 base_url 已包含 /v1,就不要重复拼接。
为什么返回 401?
本文推荐本站统一的 Authorization: Bearer;本站对应原生路径也兼容 Anthropic 的 x-api-key 和 Gemini 的 x-goog-api-key。确认请求头与路径匹配,密钥完整且未过期或撤销;不要在工单中发送完整密钥。
为什么返回 404 或“模型不存在”?
常见原因是模型名、端点或 Base URL 不匹配。复制模型广场中的精确模型 ID,并确认该模型支持正在调用的协议。
收到 429 应该一直重试吗?
不应该。临时限流可按 Retry-After 或带随机抖动的指数退避进行有限重试;余额、配额或消费上限问题必须先处理账户状态。
怎样知道一次调用消耗了多少?
保存端点实际返回的 usage 或对应协议用量字段,再结合模型广场的当前计费说明核算。流式用量是否出现、位于哪个事件以及是否要显式开启取决于端点和渠道,不能假设一定有统一的最终 usage 事件。
关联指南
官方来源
- OpenAI Developer Quickstart Official
- Migrate to the Responses API Official
- Anthropic Get Started Official
- Claude Authentication Official
- Gemini API Getting Started Official
- Gemini Interactions API Overview Official
- Gemini API Key Best Practices Official
兔子API