← 返回文章列表 / Back to list
usage

Gemini API 免费层调用

Calling the Gemini API Free Tier

简介

Google AI Studio 提供 Gemini API 免费层,主力对话模型约每分钟 15 次请求、每天 1500 次,足够个人项目和原型验证。2026-08-22 起 Gemini 渠道正式加入 APIShare 免费渠道池:10 个对话模型进主榜(gemini-3.6-flash 为当前旗舰,gemini-3.6-flash 为官方推荐稳定款),全系统一 1M token 输入 / 64K 输出(gemma-4 双子 256K)。本篇演示文本、多模态、流式、结构化输出四种调用。

架构图

flowchart LR A[AI Studio: aistudio.google.com] --> B[Create API Key] B --> C[pip install google-genai] C --> D[Call gemini-3.6-flash] D --> E[15 RPM / 1500 req/day] E --> F[1M context window]

申请 Key

  1. 访问 https://aistudio.google.com ,用 Google 账号登录。
  2. 点击左侧 Get API KeyCreate API key
  3. 复制 AIza... 开头的字符串。

安装 SDK

pip install -U google-genai

注意:请使用新版 google-genai SDK(旧 google-generativeai 已停止演进),API 更简洁。

文本对话

import os
from google import genai

client = genai.Client(api_key=os.environ["GEMINI_API_KEY"])

resp = client.models.generate_content(
    model="gemini-3.6-flash",
    contents="用一句话解释什么是反向索引",
)
print(resp.text)

⚠️ thinking 注意事项:3.x 系列默认生成思维链,思考内容同样消耗输出额度。请将 max_output_tokens ≥256,否则会出现"只见思考、不见回答"的空回复。

多模态调用

from pathlib import Path
from google import genai

client = genai.Client(api_key=os.environ["GEMINI_API_KEY"])

# 图像理解
img = Path("chart.png").read_bytes()
resp = client.models.generate_content(
    model="gemini-3.6-flash",
    contents=[
        {"mime_type": "image/png", "data": img},
        "请用中文描述这张图表的关键趋势",
    ],
)
print(resp.text)

流式输出

for chunk in client.models.generate_content_stream(
    model="gemini-3.6-flash",
    contents="写一首关于秋天的五言绝句",
):
    print(chunk.text or "", end="", flush=True)
print()

结构化输出(JSON)

from pydantic import BaseModel
from google import genai

class Person(BaseModel):
    name: str
    title: str
    company: str

client = genai.Client(api_key=os.environ["GEMINI_API_KEY"])
resp = client.models.generate_content(
    model="gemini-3.6-flash",
    contents="抽取:张三是阿里巴巴的高级工程师。",
    config={"response_mime_type": "application/json",
            "response_schema": Person},
)
print(resp.parsed)  # Person(name='张三', title='高级工程师', company='阿里巴巴')

安全与配额

免费层不需要绑卡,但有这些限制:

  • RPM:约 15(Flash 系);gemma-4 双子更低,以控制台为准
  • 每日请求数:约 1500(Flash 系)
  • 输入 token 上限:1M/分钟
  • 数据被用于训练:免费层数据可能被 Google 用于改进模型,生产环境请用付费层(Gemini API paid tier on Google Cloud)。

模型选型

当前渠道池主榜 10 个对话模型怎么选:

  • gemini-3.7-flash:最新旗舰,复杂任务首选;
  • gemini-3.6-flash:官方对新项目的推荐稳定款,21:57 实测 chat 200,高频调用首选;
  • gemini-3.5-flash:稳定代次;
  • gemini-3.1-flash-lite / -preview:轻量流水线、低成本批量处理;
  • gemini-flash-latest / gemini-flash-lite-latest:自动跟随最新 Flash/Lite 的别名,不想追版本号可用;
  • gemma-4-31b-it / gemma-4-26b-a4b-it:开源系双子(256K ctx),实测可用。

⚠️ 切勿使用 gemini-2.5-* 系列——对新用户 API Key 已 404 下线;专项任务(图像、TTS、视频、音乐、embedding)免费层配额为 0、未入池,请走付费层。

文件上传与长上下文

对于大文件(如视频、长 PDF),先用 client.files.upload() 上传,返回的 URI 在 contents 里引用,这样不用每次请求都重传。Flash 系支持最大 2GB 文件与 1M token 上下文,适合做整本书总结或长视频分析。

常见问题

  • 429 RESOURCE_EXHAUSTED:触顶限速,等 60 秒重试或升级到付费层。
  • 404 model not found:用了已下线型号(如 gemini-2.5-*),换 gemini-3.6-flash
  • block_reason: SAFETY:触发安全过滤,调整 prompt 或降低 temperature
  • 想用 function callingtools 参数传函数 schema,Gemini 会返回调用参数。

Gemini 免费层是体验多模态的最便宜路径。

最佳实践

  • 15 RPM 是硬限:本地用 token bucket 限速到 12 RPM 留 buffer。
  • 1M 上下文实测 800K 左右:超过 800K token 容易触发内部限制,长文档先 chunk。
  • 图片输入直接传 bytes:SDK 支持 Path.read_bytes() 带 mime_type 直传,避免手动 base64。
  • 旧版迁移gemini-2.5-* 对新用户已 404 下线,更早的 gemini-1.5-*gemini-2.0-flash 也已退出免费层清单,历史代码建议迁移至 gemini-3.6-flash 及以上。

相关文章 / Related

在本地 IDE 中集成免费 APIOpenRouter API Key 申请与费率OpenCode 接入免费模型实战DeepSeek API 接入步骤免费 OCR 与文档解析 API 实战