自動化ツールで毎朝の要約を作らせているのに、どのモデルを使っているのかを聞かれて、答えられなかった夜がありました。画面を開いても「Gemini」としか書かれておらず、モデル名の欄がどこにあるのかすら分からなかったのです。
お伝えしたいのは、**期日が来る前にやるべきことは、移行ではなく「自分の名前の置き場所を数えること」**だという点です。2.5 系の自動振り替えは 12 月 1 日、音声系 preview の停止は 11 月 17 日。残りはそれぞれ 20 日と 6 日です(2026 年 11 月 11 日時点)。置き場所を3つの型に分けて辿る手順を、書き残します。
何が、いつ変わるのか
公式の deprecations ページ(2026 年 11 月 11 日に私が確認しました)から、今回の話に関わる行だけを抜き出します。
| モデル名 | 日付 | 何が起きるか |
|---|---|---|
| gemini-2.5-pro | 2026-12-01 | API の呼び出しが gemini-3.8-flash へ自動で振り替わり、料金も 3.8 Flash になる |
| gemini-2.5-flash | 2026-12-01 | gemini-3.5-flash-lite へ自動で振り替わり、料金も 3.5 Flash-Lite になる |
| gemini-3.1-flash-live-preview ほか Live 系 2 種 | 2026-11-17 | 停止。移行先は gemini-3.8-live |
| TTS 系 preview 3 種 | 2026-11-17 | 停止。移行先は gemini-3.8-flash-tts または gemini-3.8-flash-lite-tts |
大事なのは、2.5 系は「止まる」のではなく「別のモデルに替わって動き続ける」点です。動くぶん、気づきにくいのです。公式ページには、振り替えの前に移行ガイドで破壊的な変更を確認するよう書かれています。出力の長さや形が変わっても、画面にエラーは出ません。
名前の置き場所は、だいたい3つの型に分かれます
個人開発のアプリで画像の分類に Gemini API を使っております。モデル名はコードの中の1か所だけにある、と思い込んでいました。実際に洗い出すと、コードの外にも名前を置いている場所があり、コードだけ直しても変わらない構成でした。
読んでくださる方の環境でも、置き場所はおおよそ次の3つに収まります。
| 型 | よくある場所 | 見つけ方 |
|---|---|---|
| 設定画面 | 自動化ツールのシナリオ、AI Studio のプロンプト、チャットボット作成画面のモデル選択欄 | Gemini を呼んでいる部品を開き、「モデル」「Model」と書かれた欄を探す |
| 環境変数 | サーバーやホスティングの設定画面、.env ファイル | GEMINI_MODEL、MODEL_NAME のような名前の変数を探す |
| ノーコード・表計算 | スプレッドシートの拡張コード(Apps Script)、フォームの連携、外注先が作った仕組み | 「gemini-」で始まる文字列を検索する |
順番は、設定画面、環境変数、ノーコードの順をお勧めします。目で見て分かる場所から始めると、手が止まりません。
設定画面で見つからないとき
「モデル」の欄がない部品もあります。その場合は、部品の説明に「既定のモデルを使用」といった表記がないかを見ます。既定のモデルに任せている場合、名前は自分の手元にはなく、サービス側が決めています。この型は、自分の作業としては何もなく、サービスの告知を待つことになります。
私がこの型で失敗したのは、「見つからない=存在しない」と判断したことでした。見つからなかった部品は、名前の欄が別の画面に隠れていただけでした。探して見つからなかったものは、「無い」ではなく「未確認」として台帳に残すことにしています。
見つけた名前を、期日と並べる
置き場所が分かったら、一覧にします。表計算ソフトで次の4列を作り、CSV で保存してください。
| 列 | 書くこと |
|---|---|
| place | 設定画面・環境変数・ノーコードのどれか |
| where | どのツールの、どの部品か |
| model | 書かれているモデル名そのまま |
| owner | 直せる人(自分・外注先・サービス側) |
この一覧と期日の表を突き合わせて、残り日数の少ない順に並べるのが次のスクリプトです。外部ライブラリは使いません。解決したいのは「どれから手をつけるか」を、勘ではなく日数で決めることです。
import csv
import sys
from datetime import date
# 期日の表。公式の deprecations ページで確認できた日付だけを入れます。
DEADLINES = {
"gemini-2.5-pro": (date(2026, 12, 1), "gemini-3.8-flash へ自動で振り替え(料金も 3.8 Flash)"),
"gemini-2.5-flash": (date(2026, 12, 1), "gemini-3.5-flash-lite へ自動で振り替え(料金も同じく移る)"),
"gemini-3.1-flash-live-preview": (date(2026, 11, 17), "停止。移行先は gemini-3.8-live"),
"gemini-2.5-flash-native-audio-preview-12-2025": (date(2026, 11, 17), "停止。移行先は gemini-3.8-live"),
"gemini-3.1-flash-tts-preview": (date(2026, 11, 17), "停止。移行先は gemini-3.8-flash-tts など"),
"gemini-2.5-flash-preview-tts": (date(2026, 11, 17), "停止。移行先は gemini-3.8-flash-tts など"),
"gemini-2.5-pro-preview-tts": (date(2026, 11, 17), "停止。移行先は gemini-3.8-flash-tts など"),
}
def main(path, today=None):
today = today or date.today()
rows = []
with open(path, newline="", encoding="utf-8") as f:
for r in csv.DictReader(f): # 列: place, where, model, owner
model = r["model"].strip()
if model in DEADLINES:
due, note = DEADLINES[model]
rows.append(((due - today).days, r, due, note))
else:
# 期日表にない名前は、安全とは限りません。末尾に回して確認対象にします
rows.append((9999, r, None, "期日表に載っていない名前。公式で確認"))
for left, r, due, note in sorted(rows, key=lambda x: x[0]):
when = f"{due} まで残り{left}日" if due else "期日不明"
print(f"[{r['place']}] {r['where']} / {r['model']} / 担当 {r['owner']} → {when}: {note}")
if __name__ == "__main__":
main(sys.argv[1])たとえば次の3行の CSV を渡すと、期日の近い順に並びます。
place,where,model,owner
設定画面,自動化ツールのシナリオ「毎朝の要約」,gemini-2.5-flash,自分
環境変数,アプリのサーバー設定 GEMINI_MODEL,gemini-2.5-pro,自分
ノーコード,Sheets 連携の Apps Script,gemini-3.1-flash-tts-preview,外注先2026 年 11 月 11 日に実行すると、先頭に出るのは「ノーコード」の行で、11 月 17 日まで残り 6 日です。その次が 12 月 1 日までの2行(残り 20 日)でした。画面で見ていたときは、設定画面の行がいちばん急ぎに見えていました。期日で並べ替えるまで、外注先の行が先だとは気づけませんでした。
なぜ「期日表にない名前」を末尾に回すのか
表に載っていない名前は、安全なのではなく、未確認です。たとえば gemini-2.5-flash-lite は、公式ページで非推奨とされていません。一方で、載っていないモデルが別の理由で使えなくなる可能性もあります。判定を断定せず、「期日不明」として目に入る場所に残す作りにしています。
自分で直せないとき
owner が「外注先」や「サービス側」の行は、自分では直せません。この場合にできることは、2つです。
- 外注先には、モデル名・場所・期日の3点を1通のメッセージでお伝えします。画面の写真があれば添えます
- サービス側が名前を決めている場合は、告知ページの更新日を確認する日を、カレンダーに入れておきます
直接直せない行を放っておくと、期日の朝に気づくことになります。私自身も、外注先に任せた部分を最後まで確認しなかったことがありました。いま思えば、任せたのではなく、見ないことにしていたのかもしれません。いまは、直せない行ほど最初に連絡するようにしています。
次にやること
まず設定画面を1つだけ開いて、モデル名の欄があるかを見てください。見つかった名前は、そのまま CSV の1行目に写します。名前の読み方に迷ったら、モデル名を4つに分けて読む手順が助けになります。コードの中にある名前を機械で数えたい方は、自分のフォルダから数え上げる方法をご覧ください。自動で別のモデルに替わったあとに、実際に何が返っていたかを確かめる記録の付け方は、要求したモデルと返ったモデルの記録に書きました。
台帳が1行でもあれば、12 月 1 日の朝を落ち着いて迎えられます。この線引きだけは、忙しい週でも崩さないようにしています。