Google AI Studio無料版、限界と有料移行の判断基準
ホーム Askiveデイリー

Askiveデイリー #28 ・ 2026-05-29

Google AI Studio無料版、限界と有料移行の判断基準

無料で触れるAIツールが増えた結果、現場では奇妙な逆転が起きている。「とりあえず無料で試す」が長期化し、本来1ヶ月で判断すべき有料移行を半年引きずる。Google AI Studioもその典型で、Gemini 2.5 Proが無料で叩けてしまうがゆえに、限界線が見えにくい。

ここでは、Google AI Studio無料版を業務自動化に使う前提で、どこまで動くか・どこで詰まるか・いつ有料に切り替えるかを、実装手順に沿って整理する。

何を作るのか

題材は「社内問い合わせメールを分類し、要約を返すスクリプト」。中小企業の現場で頻度が高く、かつ無料枠の限界を測りやすい題材だ。

入力は受信メール本文(最大2,000字想定)、出力はカテゴリ(5種)と100字以内の要約。1日200通を処理することを目標にする。これをGoogle AI Studio無料版のAPI経由で回し、どこで頭打ちになるかを観察する。

必要なもの

  • Googleアカウント(個人で可)
  • Python 3.10以上、もしくはGoogle Apps Script(GAS)が動く環境
  • google-generativeai ライブラリ
  • 処理対象のメールデータ(Gmail APIまたはCSVエクスポート)

スキル前提は「Pythonの基本構文が読める」程度。コードは全て後述する。

無料版の制限を先に押さえる

Google AI Studio(aistudio.google.com、2026-05-20時点)の無料枠は、Geminiモデルごとに 1分あたりのリクエスト数(RPM)・1日あたりのリクエスト数(RPD)・1分あたりのトークン数(TPM) の3軸で制限される。

2026年5月時点の主な目安は以下(Google AI for Developers公式、2026-05-22時点):

  • Gemini 2.5 Pro 無料枠:5 RPM / 25 RPD / 250,000 TPM
  • Gemini 2.5 Flash 無料枠:10 RPM / 250 RPD / 250,000 TPM
  • Gemini 2.5 Flash-Lite 無料枠:15 RPM / 1,000 RPD / 250,000 TPM

ここで早速、1日200通という目標がGemini 2.5 ProのRPD 25では不可能であることが判明する。Flash-Liteなら1,000件まで叩けるが、分類精度が落ちる可能性がある。この見極めが本記事の本題だ。

なお、無料枠で送信したデータはGoogleのモデル改善に利用される(Google公式利用規約、2026-05-22時点)。社外秘・個人情報を扱う業務では、この時点で無料枠は選択肢から外れる。判断基準の1つ目はここに置く。

実装手順

ステップ1:APIキー取得と環境構築

aistudio.google.comにログインし、左メニューの「Get API key」から無料キーを発行する。クレジットカード登録なしで即発行される。

pip install google-generativeai python-dotenv

.env に以下を記述:

GOOGLE_API_KEY=取得したキー

ここで詰まりやすい点:複数のGoogleアカウントを使っている場合、AI Studioが意図しないアカウントに紐づくことがある。発行画面の右上アイコンで、想定したアカウントになっているかを必ず確認する。

ステップ2:基本の分類スクリプト

import google.generativeai as genai
import os
from dotenv import load_dotenv

load_dotenv()
genai.configure(api_key=os.getenv("GOOGLE_API_KEY"))

model = genai.GenerativeModel("gemini-2.5-flash-lite")

PROMPT = """以下のメールを分類し、要約してください。

カテゴリ: [見積依頼/技術質問/クレーム/請求関連/その他]
出力形式(JSON):
{"category": "...", "summary": "100字以内"}

メール本文:
"""

def classify(mail_body: str) -> dict:
    response = model.generate_content(
        PROMPT + mail_body,
        generation_config={"response_mime_type": "application/json"}
    )
    return response.text

ここで詰まりやすい点response_mime_type を指定しないと、Markdownのコードブロックで包まれたJSONが返り、後続パースで失敗する。最初からJSONモードを明示するのが安全。

ステップ3:レート制限への対応

無料枠は 15 RPM(Flash-Lite)なので、1リクエスト4秒間隔が下限になる。素朴に回すとすぐ 429 Resource Exhausted を食らう。

import time
from google.api_core.exceptions import ResourceExhausted

def classify_with_retry(mail_body: str, max_retries: int = 3):
    for attempt in range(max_retries):
        try:
            result = classify(mail_body)
            time.sleep(4.5)  # 15 RPM対策
            return result
        except ResourceExhausted:
            wait = 60 * (attempt + 1)
            print(f"レート制限。{wait}秒待機")
            time.sleep(wait)
    return None

ここで詰まりやすい点:RPMだけでなくTPMも独立して効く。長文メールを連続で投げるとTPM側で先に詰まる。1リクエストのトークン数を事前に model.count_tokens() で見積もる癖をつける。

ステップ4:1日200件をどう捌くか

Flash-LiteのRPD 1,000件なら数字上は余裕だが、4.5秒間隔だと200件で約15分かかる。実運用では夜間バッチ化が現実解。

import json
import csv

def batch_process(input_csv: str, output_csv: str):
    with open(input_csv) as f_in, open(output_csv, "w") as f_out:
        reader = csv.DictReader(f_in)
        writer = csv.writer(f_out)
        writer.writerow(["id", "category", "summary"])

        for i, row in enumerate(reader):
            result = classify_with_retry(row["body"])
            if result:
                data = json.loads(result)
                writer.writerow([row["id"], data["category"], data["summary"]])
            if i % 50 == 0:
                print(f"{i}件処理完了")

ここで詰まりやすい点:途中で落ちると先頭からやり直しになる。output_csv に書いたIDを毎回読み込んで skip する再開機構を最初から仕込む方が、結果的に早い。

動作確認とコスト試算

100件のテストデータで検証した想定値(中小企業の実問い合わせメールを使った場合の目安):

  • Flash-Liteの分類精度:定型カテゴリで85〜92%、曖昧な「その他」を含むと70%台に落ちる
  • Pro無料枠での精度:90〜95%だが、25 RPDで打ち止め
  • 1件あたりの所要時間:4.5秒(待機込み)

ここで有料移行の損益分岐を計算する。Gemini 2.5 Flashの有料枠は入力100万トークンあたり$0.30、出力$2.50(Google AI for Developers価格表、2026-05-22時点、為替155円換算で約47円〜388円)。

1日200件・1件平均1,000入力トークン/200出力トークンとすると、月間6,000件で 入力180万トークン・出力36万トークン。コストは月$0.54 + $0.90 = 約$1.44(約220円)

つまり月220円で無料枠の制限から完全に解放される。この数字が見えた時点で、業務利用なら有料移行を躊躇する理由はほぼ消える。

運用に乗せる前のチェックリスト

無料版のまま継続するか、有料に切り替えるかの判断は、以下5項目で決める。

  • [ ] 扱うデータに社外秘・個人情報が含まれないか(含まれるなら無料枠は不可)
  • [ ] 1日の処理件数がFlash-Lite 1,000件、Flash 250件、Pro 25件の枠内に収まるか
  • [ ] 精度要求が90%以上か(Proが必要なら有料一択)
  • [ ] バッチ処理を夜間に分散できる業務か、即時応答が必要か
  • [ ] 月間処理量×単価が月3,000円以下に収まるか(収まるなら有料移行で工数解放を優先)

経験上、「無料で粘る期間が1ヶ月を超えたら、ほぼ確実に有料に上げた方が早い」。レート制限の回避コードを書く時間、再開機構を整える時間、精度のブレを許容する説明コスト——これらを足し算すると、中堅社員の半日分はあっさり溶ける。月220円との比較にすらならない。

今日の総括

Google AI Studio無料版は、プロトタイプ作成と精度検証には十分すぎる性能を持つ。一方、業務自動化として日次運用に乗せようとした瞬間、RPDとデータ利用規約の2点で壁にぶつかる。

判断基準を一文に圧縮すれば、「社外秘を扱う、または1日25件超のPro品質が必要になった時点で有料に切り替える」。それ以外の用途、たとえば社内の議事録要約や公開情報の整理なら、無料枠でも実務に耐える。

便利な無料枠は、判断を先送りさせる装置にもなる。月220円の見積もりが出た時点で、迷う対象は技術ではなく決裁フローだと割り切るのが、結局いちばん早い。

本記事はAI編集を経たのち、編集長が事実確認と品質チェックを実施しています。