API入门

Gemini API 使用教程:获取 Key 与第一次调用

在 Google AI Studio 的 API keys 页面获取密钥、存进 GEMINI_API_KEY 环境变量,然后用官方的 Google Gen AI SDK 或 REST 接口发一个带 model 和 input 的请求,就完成了第一次调用。AI Studio 是拿密钥和调提示词的地方,真正的调用发生在你自己的服务端。

第一次接入 Gemini API 的完整流程,外加最容易搞混的一件事:AI Studio、Developer API 与企业版平台分别是什么。

AI机场约 5 分钟发布于

开始之前

  • 一个可用的 Google 账号
  • 基本的命令行与 HTTP 请求概念
  • Python 或 Node.js 任一运行环境(只做验证时 curl 即可)

环境要求

系统平台
macOS、Windows、Linux
软件环境
Python 3 与 pip,或 Node.js 与 npm;只验证链路时用 curl 即可
账号
Google 账号;升级到付费层级需要在 AI Studio 开通结算
网络
能访问 aistudio.google.com 与 generativelanguage.googleapis.com
说明
API Key 必须留在服务端。官方明确要求不要把密钥硬编码进网页或移动应用,客户端场景应通过自己的后端代理调用。

快速步骤

  1. 获取 API Key

    用 Google 账号登录 Google AI Studio,打开 API keys 页面复制已有密钥,或新建一个。

    新用户的项目与密钥通常会被自动创建,不需要先手动建项目。

  2. 把密钥写进环境变量

    设置 GEMINI_API_KEY,官方 SDK 会自动读取;Windows 上通过系统环境变量设置并重开终端。

  3. 安装官方 SDK

    Python 用 pip install -U google-genai,JavaScript 用 npm install @google/genai。

  4. 发一个最小请求

    指定 model 与 input 两个参数,确认能拿到输出文本。

  5. 在 AI Studio 里调提示词

    把系统提示与参数在网页里调稳定,再落回代码,比在业务代码里反复试快得多。

  6. 加上错误处理与限流应对

    对 429 做退避重试,并确认自己当前处在哪个用量层级。

  7. 需要时再考虑企业版平台

    只有确实需要 IAM、服务账号这类企业控制时才迁移,SDK 层面只是切换一个参数。

从在 Google AI Studio 获取 API Key、设置环境变量到用官方 SDK 完成第一次调用,讲清 Gemini Developer API 的接口形态、认证方式、限流层级,以及它和 AI Studio、企业版平台之间的边界。

先把三个名字分清楚

搜 “Gemini API” 会同时搜到三样东西,混在一起写的教程会让你越看越糊涂。它们的关系是这样的:

名字是什么怎么认证你在这里做什么
Google AI Studio网页工作台Google 账号登录拿密钥、试提示词、看用量
Gemini Developer API程序调用的接口API Key真正的调用发生在这里
企业版平台(Google Cloud)Cloud 上的同一批模型服务账号与 IAM需要企业级控制时才用

不是三个模型,是同一批模型的三种接入方式。 本文讲的是中间那个——Gemini Developer API,也就是绝大多数开发者第一次接入时该走的路。最后一节会说明什么时候该考虑企业版。

开始之前

  • 一个 Google 账号,不需要额外注册。
  • 一个能跑代码的环境:Python 或 Node.js;只想确认链路的话 curl 就够。
  • 网络能访问 aistudio.google.comgenerativelanguage.googleapis.com

获取 API Key

用 Google 账号登录 Google AI Studio,打开 API keys 页面。

新用户通常不需要先手动建项目——AI Studio 会自动创建一个项目和一把密钥,直接复制即可。也可以点击新建再加一把。

按用途分开建密钥是个好习惯:本地调试一把、生产一把,出问题时可以只撤销受影响的那一个。

密钥安全

官方文档在这一点上写得很直白:不要把密钥硬编码进网页或移动应用,因为编译进客户端代码的密钥可以被用户提取出来。需要在前端使用模型能力时,正确做法是让前端调用你自己的后端,由后端持有密钥去调 Gemini

其余底线和别家一样:不进源码、不进公开仓库、不进截图和聊天记录;怀疑泄露就立刻在 AI Studio 里删除并重建。

设置环境变量

export GEMINI_API_KEY="你的密钥"

Windows 上在系统环境变量里新建 GEMINI_API_KEY保存后重开终端才会生效。

这里有个容易踩的坑:SDK 同时认 GEMINI_API_KEYGOOGLE_API_KEY,两个都设置时后者优先。 如果机器上残留着一把旧的 GOOGLE_API_KEY(比如以前用别的 Google 服务留下的),它会静默覆盖你刚配好的密钥,表现出来就是莫名其妙的认证失败。排查认证问题时先把这个变量查一遍。

安装官方 SDK

官方现在提供的是统一的 Google Gen AI SDK:同一个库既能连 Developer API,也能连企业版平台,切换只是一个参数。

Python:

pip install -U google-genai

JavaScript:

npm install @google/genai

注意 Python 的包名是 google-genai,导入时写 from google import genai。网上有不少教程用的是更早的包,装错了会发现文档里的方法都找不到。

第一次请求

Python:

from google import genai

client = genai.Client()

interaction = client.interactions.create(
    model="gemini-3.8-flash",
    input="用一句话解释什么是 API。"
)

print(interaction.output_text)

JavaScript:

import { GoogleGenAI } from "@google/genai";

const ai = new GoogleGenAI({});

const interaction = await ai.interactions.create({
  model: "gemini-3.8-flash",
  input: "用一句话解释什么是 API。",
});

console.log(interaction.output_text);

REST:

curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "gemini-3.8-flash",
    "input": "用一句话解释什么是 API。"
  }'

Client() 不传参数,是因为它自己去读环境变量了。

两个容易出错的地方:认证头是 x-goog-api-key,不是别家常见的 Authorization: Bearer模型名会变,写代码前到官方模型页面确认当前可用的名称,不要照抄旧文章。

关于接口形态

如果你在网上看到的 Gemini 教程写法和上面不一样,多半是因为接口形态换过。

官方当前的默认形态是 Interactions 接口,也是新项目该起步的地方。更早的 generateContent 写法仍然受支持,存量代码不必为了迁移而迁移,但没有理由让新代码从旧形态开始。

这也是为什么本文强调以官方快速开始文档为准:这一块的教程过期速度比其他家更快。

理解 model 参数

model 决定能力上限、响应速度和单价。选型的实际做法:

  • 先用能力较强的模型把功能跑通,确认效果达标。
  • 再往下试更快更便宜的档位,看效果是否仍然可接受。
  • 延迟敏感的场景优先小模型。

本文不列价格表。 模型与单价变动频繁,需要具体数字时看官方定价页面。把模型名做成配置项而不是散落在代码各处的字面量,换模型时会省很多事。

多模态输入

Gemini 是多模态模型,除文本外还能接收图片等其他形式的输入,这也是它常被提到的特点之一。

入门阶段的建议是:先把纯文本调通再加多模态。多模态请求的参数结构比纯文本复杂,而且这部分的写法在版本更替中变动较多,照抄旧教程出错率很高。确认文本链路正常之后,按官方文档补这一段。

Token 与成本

token 是模型处理文本的基本单位,也是计费单位,输入和输出分别计价。

三条实用结论和别家一致:多轮对话每轮都要重发历史,成本随对话长度增长;控制成本最直接的手段是裁剪历史和限制输出长度;上下文窗口是单次请求的总量上限,长对话迟早要做摘要或截断。

限流与用量层级

Gemini API 的限流按几个维度同时计算:

  • RPM:每分钟请求数
  • TPM:每分钟 token 数
  • RPD:每天请求数(按太平洋时间午夜重置)

图像类模型还有每分钟图像数,部分模型另有每天 token 数。

RPD 这个维度值得单独提醒。 别家通常只按分钟限流,Gemini 免费层还有日额度——写个循环跑测试,很可能先把当天的额度用完,而不是撞到每分钟限制。本地调试时降低频率、加上缓存,能省掉不少困惑。

层级从免费层开始,开通结算后进入付费层级,随累计消费与时间自动升级,每一级有对应的花费上限。当前层级和各模型的具体限额可以在 AI Studio 的限流页面查看。

超限时返回 429,错误里会带资源耗尽的标识。处理方式和别家一样:指数退避加随机抖动,不要让多个客户端在同一时刻集体重试。

什么时候该转向企业版平台

Developer API 和企业版平台共用同一套 SDK,切换在代码层面只是一个参数:Python 里给 genai.Client()vertexai=True 加上项目和区域,JavaScript 里传对应的构造参数。

真正的差别在认证与治理:

Developer API企业版平台
认证API KeyGoogle Cloud 服务账号
权限密钥即权限IAM 精细控制
计费AI Studio 结算Google Cloud 账单
适合多数开发者与产品有企业控制或合规要求

官方的建议很明确:多数开发者用 Developer API 就够,除非确实需要特定的企业级控制。 不要因为”企业版听起来更正式”就一上来选它——它会把 Google Cloud 项目、IAM、结算这一整套复杂度提前引入你的入门流程。

顺带说明:本文讲的是 Gemini API,不是 Google Cloud 教程。企业版平台的完整配置是另一个话题。

AI Studio 该怎么用

拿到密钥之后,AI Studio 还有两个实际用途:

调提示词。 系统提示、生成参数的迭代速度在网页界面里远高于改代码。把它调稳定再落回项目,比在业务代码里反复试快得多。

看用量。 密钥管理、用量监控、当前层级都在这里。

它不是运行环境——生产调用应该发生在你自己的服务端,由服务端持有密钥、做错误处理与限流应对。AI Studio 的详细用法见 Google AI Studio 入门

下一步

参考资料

常见故障与解决方法

提示密钥无效或未提供

可能原因环境变量没设置、终端没重开,或请求头名字写错。

解决方法REST 调用的认证头是 x-goog-api-key,不是 Authorization;用 SDK 时确认程序真的读到了 GEMINI_API_KEY。注意如果同时设置了 GOOGLE_API_KEY,它的优先级更高,可能覆盖你以为在用的那把。

本地调试时很快就报 429

可能原因免费层除了每分钟请求数,还有每天请求数这个维度,写循环测试时很容易先把日额度用完。

解决方法确认当前层级和各维度的具体限额;调试时降低频率或加缓存;确实需要更高额度就在 AI Studio 开通结算升级层级。

照着旧教程写的代码跑不通

可能原因接口形态和 SDK 都有过更替,网上大量教程停留在旧写法。

解决方法以官方快速开始文档为准。当前默认形态是 Interactions 接口,SDK 是统一的 Google Gen AI SDK;旧的 generateContent 写法仍然可用,但不是新项目该起步的地方。

分不清该用 Developer API 还是企业版平台

可能原因两者共用同一套 SDK,文档入口也相邻,容易混。

解决方法按认证方式判断:用 API Key 就是 Developer API,用 Google Cloud 服务账号与项目就是企业版平台。多数开发者用前者,需要企业级控制时再迁移。

模型名报错说找不到

可能原因模型名会随版本更替变化,旧名称可能已经下线。

解决方法到官方模型页面确认当前可用的名称;代码里把模型名做成配置项,而不是散落在各处的字面量。

常见问题

Gemini API、Google AI Studio、企业版平台分别是什么?

Google AI Studio 是网页工作台,用来试提示词、管理密钥、看用量;Gemini Developer API 是你程序真正调用的接口,用 API Key 认证;企业版平台是 Google Cloud 上的那一套,用服务账号与 IAM 认证、走 Cloud 计费。三者不是三个模型,是同一批模型的三种接入方式。

有免费额度吗?

有免费层级,但它同时受每分钟请求数、每分钟 token 数和每天请求数限制,具体数值按模型不同。开通结算后会进入付费层级,额度随累计消费自动提升。具体数字以官方限流页面为准,这类数值变化较快。

API Key 能放在前端吗?

不能。官方文档明确写了不要把密钥硬编码进网页或移动应用,因为编译进客户端的密钥可以被用户提取出来。正确做法是让前端调用你自己的后端,由后端持有密钥。

GEMINI_API_KEY 和 GOOGLE_API_KEY 有什么区别?

两个变量名 SDK 都认。如果两个都设置了,GOOGLE_API_KEY 优先。这一点值得注意——机器上残留的旧 GOOGLE_API_KEY 会静默覆盖你刚设好的那把密钥,表现出来就是莫名其妙的认证失败。

可以处理图片和文件吗?

可以,Gemini 是多模态模型,除文本外还能接收图片等其他形式的输入。入门阶段建议先把纯文本调通,再按官方文档补上多模态的请求格式——这部分的参数结构比文本调用复杂,照抄旧教程容易出错。

什么时候该迁到企业版平台?

需要用 Google Cloud 的 IAM 做权限管理、需要服务账号而不是长期有效的 API Key、需要把账单并进 Cloud,或者有特定合规要求时。官方的说法是:多数开发者用 Developer API 就够,除非确实需要企业控制。SDK 层面迁移成本不高,主要是换认证方式。

和 OpenAI、Anthropic 的接口差别大吗?

概念一致(密钥、模型、输入输出、token 计费),差别在具体形式:认证头不同,SDK 的调用方法名不同,多模态与工具调用的参数结构各家都不一样。三家都用过之后你会发现,真正花时间的不是接口本身,而是各自的限流与计费口径。