
Google AI Studio から [Deprecation] Gemini 2.5 Flash redirects to 3.5 Flash-Lite Dec 1 という件名の英語メールが届き、利用中のシステムやスクリプトに影響があるのか心配になっている方も多いのではないでしょうか。
このメールは、Gemini Developer API および Google AI Studio の主力軽量モデルであった gemini-2.5-flash が2026年12月1日をもってスタンドアロン提供を終了し、後継の gemini-3.5-flash-lite へ自動リダイレクトされることを知らせる重要な通知です。
一見すると「自動転送されるなら何もしなくても動くのでは?」と思われがちですが、Gemini 3系への移行に伴い、パラメータや会話履歴の扱いにいくつかの破壊的変更が含まれています。利用している機能によっては、2026年12月1日を迎えた瞬間に API が HTTP 400 エラーを返してシステムが停止するリスクがあります。
この記事では、通知メールの要点、影響を受けるシステムの見分け方、自分のプロジェクト内を調査する具体的なコマンド、そしてコードやクラウド環境変数の安全な修正手順までを実機検証にもとづいて詳しく解説します。
この記事で行うこと
- 通知メールの要点と2026年12月1日以降に起きる自動リダイレクトの仕組みの把握
- 自動転送でそのまま動くケースと事前修正が必須となるケース(4つの破壊的変更)の仕分け
- 自社システムやローカル環境、クラウド環境変数から対象箇所を高速検索する手順
gemini-3.5-flash-liteへの具体的なコード書き換えと非推奨パラメータの削除- Cloud Run などの本番環境変数を更新して再デプロイする実務フロー
前提条件・対象読者
本記事は、2026年11月時点の Google AI Studio 公式ドキュメントおよび仕様にもとづいています。主に以下のような環境・読者を対象としています。
- Google AI Studio で API キーを発行し、Gemini Developer API を利用している開発者・運用者
- Python、Node.js(TypeScript / JavaScript)、REST API 等でモデル名に
gemini-2.5-flashを指定しているシステム - Cloud Run などのクラウド基盤から環境変数経由で Gemini API を呼び出しているバッチや Web アプリ
届いたメールの内容と2026年12月1日以降に起きること
まずは、届いた英語メールの要点を整理します。
自動的に gemini-3.5-flash-lite へ転送される
2026年12月1日以降、API リクエストのエンドポイントやモデル指定に gemini-2.5-flash が含まれている場合、Google 側のルーティング機能により自動的に gemini-3.5-flash-lite へ転送されます。
従来のモデル廃止(期日を過ぎると即座に 404 Not Found エラーになる方式)とは異なり、エンドポイント自体はリダイレクトによって維持されます。ただし、Google AI Studio の Web 画面上からはスタンドアロンモデルとしての gemini-2.5-flash は削除されます。
料金体系の変化
リクエストが gemini-3.5-flash-lite に自動転送された時点(または手動でモデル名を変更した時点)から、課金体系も gemini-3.5-flash-lite の料金が適用されます。
| 項目 | 旧 gemini-2.5-flash | 新 gemini-3.5-flash-lite | 差額・変化 |
|---|---|---|---|
| 入力トークン(テキスト / 画像 / 動画) | $0.30 / 1M | $0.30 / 1M | 同額 |
| 出力トークン(思考トークン含む) | $2.50 / 1M | $2.50 / 1M | 同額 |
| 音声入力トークン | $1.00 / 1M | $0.30 / 1M | 約70%の値下げ |
テキストや画像・動画の入出力コストは完全に据え置きとなっており、音声入力のコストは1Mトークンあたり $1.00 から $0.30 へ大幅に引き下げられます。移行によって予期せぬ請求増になる心配はありません。
移行先は 3.5 Flash-Lite と 3.8 Flash のどちらを選ぶべきか
公式の自動リダイレクト先は gemini-3.5-flash-lite ですが、公式マイグレーションガイドではワークロードの性質に応じて gemini-3.8-flash へのアップグレードも推奨されています。
gemini-3.5-flash-lite が適しているケース
- 大量のデータパースやニュース要約、分類処理などの高スループット処理
- 推論レイテンシとAPIコストを最優先に抑えたい定期実行バッチ処理
- 旧
gemini-2.5-flashとまったく同じ料金帯(入力$0.30/ 出力$2.50)を維持したいシステム
gemini-3.8-flash が適しているケース
- 複数ステップの自律的エージェントや複雑なツール呼び出し(Function Calling)
- 高度なコード生成や複雑なマルチモーダル空間認識
- 推論精度を一段階引き上げたい対話型チャットボット
既存の gemini-2.5-flash で十分な品質が得られていた要約バッチやデータ抽出処理であれば、まずは自動リダイレクト先と同じ gemini-3.5-flash-lite へ移行するのが最も安全かつスムーズです。なお、gemini-3.6-flash や gemini-3.8-flash の詳細な性能・料金比較については、以下の記事で詳しく解説しています。
対応が必要なシステムと不要なシステムの見分け方
今回のモデル移行において最も注意すべき点は、Gemini 3系モデルで導入された「APIバリデーションの厳格化(4つの破壊的変更)」です。
単純な1問1答(標準的な単一ターンのテキスト・マルチモーダル生成)であれば自動転送後もそのまま動作しますが、以下の4つの機能やパラメータを使用している場合は、2026年12月1日までにコードを修正しないと HTTP 400 エラーや精度低下が発生する恐れがあります。
1. サンプリングパラメータの非推奨化
gemini-3.5-flash-lite をはじめとする Gemini 3系モデルでは、以下のサンプリングパラメータが非推奨(deprecated)となり、設定しても無視されます。
temperaturetop_ptop_k
公式ドキュメントでは、将来世代のモデルにおいてこれらのパラメータを送信すると HTTP 400 エラーを返す仕様になるため、すべてのリクエストから削除することが強く推奨されています。出力のフォーマットや決定論性を制御したい場合は、サンプリング値ではなく system_instruction(システム指示)や Structured Outputs(構造化出力)でルールを明示する方式に切り替えます。
2. 思考設定が thinking_budget から thinking_level に変更
モデルの思考(Thinking)を制御するパラメータが、従来の数値によるトークン上限指定 thinking_budget から、4段階のレベル指定 thinking_level に変更されました。
| 設定項目 | gemini-2.5-flash(旧仕様) | gemini-3.5-flash-lite(新仕様) |
|---|---|---|
| パラメータ名 | thinking_budget(数値) | thinking_level(文字列) |
| 指定可能な値 | トークン数(整数) | minimal, low, medium, high |
| デフォルト値 | 動的調整 | minimal |
特に注意したいのが、gemini-3.5-flash-lite のデフォルト思考レベルが最も軽量な minimal に設定されている点です。高負荷なデータ抽出やルーティングでは minimal のままで高速に処理できますが、Function Calling(ツール呼び出し)、コード実行、多段階の推論を行わせる場合は、ツールの早期終了(premature tool termination)を防ぐために medium または high を明示的に指定することが推奨されています。
3. マルチターン会話の thought_signature 保持と Function Calling の厳格化
マルチターンのチャット履歴や Function Calling を自前で構築しているシステムは、以下の2つの厳格な検証ルールが適用されます。
直前ターンの thought_signature(思考シグネチャ)の保持
マルチターンのリクエストでは、過去のモデルターン(role: "model")で返された thought_signature を欠落させずに後続ターンへ引き継ぐ必要があります。クライアント側でテキスト文字列だけを配列に詰め直して送信する独自の履歴管理を行っている場合、検証エラーとなるリスクがあります。公式の Google GenAI SDK のチャット履歴機能、またはサーバー側で状態を管理する Interactions API(previous_interaction_id の指定)を利用すると、このシグネチャ保持は自動的に処理されます。
FunctionResponse の id と name の一致要件
Function Calling を使用する際、モデルに返すすべての FunctionResponse には、モデルが出力した FunctionCall と一致する id(call_id)および name フィールドを必ず含める必要があります。また、マルチモーダルな出力データを返す場合は、関数レスポンスのペイロード内部にネストして配置する必要があります。
4. プリフィル(modelロール終端)と candidate_count の廃止
リクエストの contents 配列の末尾に空でない role: "model" のターンを置いて出力の書き出しを強制する手法(プリフィル / prefilled model turn)や、candidate_count > 1(複数候補の同時生成)は gemini-3.5-flash-lite ではサポートされておらず、送信すると確実に HTTP 400 エラーが返されます。
エラーになる旧仕様の記述例(末尾が model ロール):
{
"contents": [
{"role": "user", "parts": [{"text": "次の文を英語に翻訳してください:こんにちは"}]},
{"role": "model", "parts": [{"text": "Translation:"}]}
]
}
前置きを省かせたい場合や特定の形式で出力させたい場合は、末尾に model ターンを置くのではなく、system_instruction に「前置きや挨拶を含めず、翻訳結果のみを出力してください」と指定する方式へ修正してください。
手順1:自分のサービスに影響があるか調査する方法
まずは、ご自身が管理しているソースコード、設定ファイル、クラウド環境変数に gemini-2.5-flash が残っていないかを網羅的に調査します。
1. Gitリポジトリ・ソースコード内を一括検索する
プロジェクトのルートディレクトリまたは開発フォルダの親ディレクトリで以下のコマンドを実行し、モデル名がハードコードされていないかチェックします。
Windows(PowerShell)で複数プロジェクトを一括検索する場合:
Get-ChildItem -Recurse -File -Include *.py,*.ts,*.js,*.json,*.sh,*.bat,*.ps1,*.env* -ErrorAction SilentlyContinue | Where-Object { $_.FullName -notmatch "node_modules|\.git|\.venv|\.next" } | Select-String -Pattern "gemini-2\.5-flash"
Git 管理されているリポジトリ内で高速に検索する場合:
git grep -in "gemini-2.5-flash"
Linux や macOS(Bash / Zsh)で検索する場合:
grep -rn "gemini-2.5-flash" --exclude-dir={node_modules,.git,.venv,.next} .
2. 見落としやすい .env ファイルとクラウド環境変数を確認する
筆者の環境でも実際にあったケースですが、プログラムのコード内では os.environ.get("GEMINI_MODEL") のように環境変数を参照するように作られているためソースコード検索には引っかからず、.gitignore で除外された .env ファイルやクラウド上の環境変数に gemini-2.5-flash が残っているパターンが非常に多く見られます。
ローカルの環境変数ファイルの確認
プロジェクト内の .env、.env.local、.env.production などのファイルに GEMINI_MODEL=gemini-2.5-flash が定義されていないか確認します。PowerShell では以下のコマンドで .env 系ファイルだけを抽出・検査できます。
Get-ChildItem -Filter ".env*" -Recurse -File -ErrorAction SilentlyContinue | Where-Object { $_.FullName -notmatch "node_modules|\.venv" } | Select-String -Pattern "gemini-2\.5-flash"
Google Cloud Run などのコンテナ環境変数の確認
Cloud Run にバッチや Web API をデプロイしている場合、デプロイ時の --set-env-vars によってクラウド側に gemini-2.5-flash が設定されていることがあります。以下の gcloud コマンドで現在稼働中のコンテナの環境変数を直接確認できます。
gcloud run services describe <サービス名> --region asia-northeast1 --format="yaml(spec.template.spec.containers[0].env)"
出力結果の中に name: GEMINI_MODEL として value: gemini-2.5-flash が表示された場合は、Cloud Run 側の環境変数更新が必要です。
対象外となるモデルの切り分け
検索時に gemini-2.5 などで広く検索すると、他の関連モデルがヒットすることがあります。以下の表の通り、モデル名に「2.5」が含まれていても今回の2026年12月1日廃止・自動リダイレクトの対象外となるものがあるため、混同して不要な修正を行わないよう切り分けてください。
| モデルID | 主な用途 | 2026年12月1日の廃止対象か・提供状況 |
|---|---|---|
gemini-2.5-flash | テキスト・マルチモーダル生成 | 対象(2026年12月1日に gemini-3.5-flash-lite へ自動転送) |
gemini-2.5-flash-image | 画像生成・画像編集 | 対象外(画像生成モデルのため今回のリダイレクト対象外) |
gemini-2.5-pro | 高度な推論・コーディング | 対象外(現時点でシャットダウン日は未発表。新規開発は gemini-4-argon 推奨) |
gemini-embedding-001 | テキスト埋め込み(ベクトル化) | 対象外(2028年5月14日まで継続提供。後継は gemini-embedding-2) |
なお、過去に画像生成モデルの廃止メール(Imagen 4 の廃止通知)を受け取ったことがある方は、以下の記事もあわせて確認しておくと安心です。
手順2:パターン別のコード修正・移行方法
影響箇所を特定できたら、システムの実装パターンに合わせてコードと環境変数を修正し、12月1日を迎える前に自分のスケジュールでテストを行います。代表的な3つのパターン別に手順を解説します。
パターンA:REST API・定期バッチ処理の修正(Python)
毎朝のニュース要約やデータ分類などを generateContent エンドポイントへの REST API リクエストで実行しているバッチ処理の例です。モデル名を gemini-3.5-flash-lite に更新し、非推奨となった temperature を削除します。
修正前のコード例(旧モデル+非推奨パラメータあり):
import os
import requests
GEMINI_API_KEY = os.environ.get("GEMINI_API_KEY", "")
# 修正前:廃止対象の旧モデル
GEMINI_MODEL = os.environ.get("GEMINI_MODEL", "gemini-2.5-flash")
url = f"https://generativelanguage.googleapis.com/v1beta/models/{GEMINI_MODEL}:generateContent?key={GEMINI_API_KEY}"
payload = {
"contents": [{"parts": [{"text": "本日の主要ITニュースを300文字程度で要約してください。"}]}],
"generationConfig": {
"temperature": 0.5, # Gemini 3.5 Flash-Lite では非推奨・無視される
"maxOutputTokens": 4096,
}
}
response = requests.post(url, json=payload, timeout=30)
修正後のコード例(新モデル+パラメータ整理済み):
import os
import requests
GEMINI_API_KEY = os.environ.get("GEMINI_API_KEY", "")
# 修正後:環境変数優先にしつつデフォルトを gemini-3.5-flash-lite に変更
GEMINI_MODEL = os.environ.get("GEMINI_MODEL", "gemini-3.5-flash-lite")
url = f"https://generativelanguage.googleapis.com/v1beta/models/{GEMINI_MODEL}:generateContent?key={GEMINI_API_KEY}"
payload = {
"contents": [{"parts": [{"text": "本日の主要ITニュースを300文字程度で要約してください。"}]}],
"generationConfig": {
# 非推奨の temperature を削除し、必要な maxOutputTokens のみを指定
"maxOutputTokens": 4096,
}
}
response = requests.post(url, json=payload, timeout=30)
パターンB:マルチターンチャット・ツール呼び出しの修正(SDK / Interactions API)
マルチターンチャット(RAG チャットボット等)や Google 検索グラウンディング、Function Calling を使用している場合は、「既存コードを最小限の修正で動かす方法」と「公式推奨の最新 Interactions API へアップグレードする方法」の2通りがあります。
1. 既存の SDK コードを最小限の変更で更新する場合(Node.js / TypeScript)
すでに稼働中のアプリで @google/generative-ai などを使用している場合、まずはモデル指定を gemini-3.5-flash-lite に変更し、startChat や検索ツール(googleSearch)が正常に応答するかテストします。
const { GoogleGenerativeAI } = require("@google/generative-ai");
const apiKey = process.env.GEMINI_API_KEY;
const genAI = new GoogleGenerativeAI(apiKey);
// 環境変数 GEMINI_MODEL があれば優先し、なければ gemini-3.5-flash-lite を使用
const modelName = process.env.GEMINI_MODEL || "gemini-3.5-flash-lite";
const model = genAI.getGenerativeModel({
model: modelName,
tools: [{ googleSearch: {} }]
});
2. 公式推奨の Interactions API へ移行する場合(Python / google-genai SDK)
今回の通知メールでも強く推奨されている通り、旧来の generateContent エンドポイントで複雑なマルチターン履歴や thought_signature を手動管理する代わりに、最新の公式 SDK(Python は google-genai、JavaScript は @google/genai)の Interactions API へ移行すると、previous_interaction_id を指定するだけでサーバー側で会話状態と思考シグネチャが自動保持されます。
最新 SDK のインストール・更新コマンド:
pip install --upgrade google-genai
Interactions API で thinking_level とマルチターン会話を扱うコード例:
from google import genai
client = genai.Client()
# 1ターン目:ツール呼び出しや複数ステップ推論を行う場合は thinking_level に medium 以上を指定
first_turn = client.interactions.create(
model="gemini-3.5-flash-lite",
input="日本の最新の半導体産業の動向をWeb検索して3点にまとめてください。",
tools=[{"type": "google_search"}],
config={"thinking_level": "medium"},
)
print(first_turn.output_text)
# 2ターン目:previous_interaction_id を渡すだけで履歴と thought_signature が自動保持される
second_turn = client.interactions.create(
model="gemini-3.5-flash-lite",
previous_interaction_id=first_turn.id,
input="その中でも特にエンジニアの採用市場に影響が大きいものはどれですか?",
)
print(second_turn.output_text)
パターンC:Cloud Run の環境変数更新と再デプロイ
ローカルの .env とコードを修正したら、Cloud Run などの本番環境にも変更を反映させます。
コンテナ内のコード変更がなく、Cloud Run に設定された環境変数 GEMINI_MODEL だけを更新したい場合は、以下の gcloud run services update コマンドで素早く切り替えられます。
gcloud run services update <サービス名> \
--region asia-northeast1 \
--update-env-vars GEMINI_MODEL="gemini-3.5-flash-lite"
temperature の削除などソースコード自体の修正も含めてコンテナを再ビルド・デプロイする場合は、gcloud run deploy を実行します。
gcloud run deploy <サービス名> \
--source . \
--region asia-northeast1 \
--platform managed \
--update-env-vars GEMINI_MODEL="gemini-3.5-flash-lite"
デプロイ完了後、サービスのヘルスチェック用エンドポイント(/health 等)やテスト実行を行い、ステータス 200 OK で正常にレスポンスが返ることを確認してください。Cloud Run と Gemini API を組み合わせたサーバーレス構築の基礎については、以下の記事も参考にしてください。
AIコーディングエージェントを活用した自動移行
メールの末尾でも案内されている通り、Antigravity、Gemini CLI、Claude Code、Cursor などのエージェントスキル対応ツールを利用している場合は、Google 公式の gemini-api-dev スキルを導入してコードベースの調査・書き換えを自動化できます。
公式スキルのインストールコマンド:
npx skills add google-gemini/gemini-skills --skill gemini-api-dev --global
エージェントのチャット欄で実行するマイグレーション指示プロンプト:
/gemini-api-dev migrate my app from gemini-2.5-flash to gemini-3.5-flash-lite
複数ファイルにまたがるモデル文字列の置換や、非推奨パラメータ(temperature、thinking_budget 等)の洗い出しを一括で行いたい場合に非常に便利です。
うまくいかない場合の確認ポイント・元に戻す方法
移行テスト中にエラーや意図しない挙動が発生した場合は、以下のポイントを確認してください。
HTTP 400 エラーが発生する場合
- リクエストの
contents配列の末尾がrole: "model"(プリフィル)になっていないか確認する generationConfig内にcandidate_count: 2などの複数候補指定が含まれていないか確認する- 思考設定に数値の
thinking_budgetを渡していないか確認し、文字列のthinking_level(minimal/low/medium/high)へ変更する - マルチターン会話で過去の
modelターンからthought_signatureが欠落していないか、またはFunctionResponseにidとnameが含まれているか確認する
ツール呼び出しや推論が浅く途中で止まる場合
gemini-3.5-flash-liteのデフォルト思考レベルはminimalです。複雑なツール連携やコード実行を行わせる場合は、thinking_levelを"medium"または"high"に変更して再テストしてください。
安全に元に戻す方法(ロールバック設計)
コード修正時はモデル名を直接文字列リテラルで埋め込まず、os.environ.get("GEMINI_MODEL", "gemini-3.5-flash-lite")(Python)や process.env.GEMINI_MODEL || "gemini-3.5-flash-lite"(Node.js)のように環境変数で外部から注入できる設計にしておきます。これにより、2026年12月1日までのテスト期間中に万が一問題が見つかった場合や、将来さらに新しいモデル(gemini-3.8-flash 等)へ切り替える場合でも、コードを書き換えることなく環境変数の変更だけで即座に切り戻し・移行が可能になります。
よくある質問(FAQ)
Q1. 2026年12月1日までに何もしないとシステムは完全に止まりますか?
単一ターンの単純なテキスト生成・要約・翻訳などの API 呼び出しであれば、2026年12月1日以降も Google 側で自動的に gemini-3.5-flash-lite にリダイレクトされるため、直ちにシステムが全停止するわけではありません。ただし、カスタム履歴を用いたマルチターンチャットや Function Calling、プリフィル等を使っている場合はバリデーション厳格化により HTTP 400 エラーで停止するリスクがあるため、期限前の明示的な移行と動作確認を強く推奨します。
Q2. gemini-2.5-flash-image や gemini-2.5-pro も12月1日に廃止されますか?
いいえ、今回の自動リダイレクト通知の対象はテキスト・マルチモーダルモデルの gemini-2.5-flash のみです。画像生成モデルの gemini-2.5-flash-image や上位モデルの gemini-2.5-pro、埋め込みモデルの gemini-embedding-001 は対象外です。
Q3. temperature パラメータを削除すると出力が毎回ばらつきませんか?
Gemini 3世代のモデルは推論アーキテクチャが刷新されており、従来のサンプリングパラメータ調整に頼らずとも安定した出力が得られるよう設計されています。JSON 形式の厳守や定型フォーマットでの出力を求めたい場合は、temperature ではなく system_instruction で出力ルールを明記するか、Structured Outputs(JSON スキーマ指定)を使用してください。
まとめ
Google AI Studio から届いた gemini-2.5-flash の廃止通知メールについて、確認すべき影響範囲と移行手順を解説しました。
- 2026年12月1日をもって
gemini-2.5-flashの単独提供が終了し、gemini-3.5-flash-liteへ自動リダイレクトされる - 料金はテキスト・画像・動画で同額(入力
$0.30/1M、出力$2.50/1M)、音声入力は約70%値下げされる temperature等のサンプリングパラメータ削除、thinking_budgetからthinking_levelへの変更、プリフィルの廃止など4つの破壊的変更に注意する- ソースコード内だけでなく、
.envファイルや Cloud Run 等のクラウド環境変数に古いモデル名が残っていないか必ず点検する
12月1日の自動切り替え当日に思わぬエラーで慌てることがないよう、余裕をもって手元の環境で gemini-3.5-flash-lite への切り替えと動作テストを済ませておきましょう。
次に読むおすすめ記事
生成AIの最新モデル比較やAIエージェント(Antigravity / Codex)、コーディング支援ツールの活用法を体系的に学びたい方は、以下の完全ガイドもあわせて参考にしてください。

