GEMINI LABEN
NANOLITE — Nano Banana 2 Liteが登場しました。Googleで最も速く、最もコスト効率の高いGemini Imageモデルで、軽量な画像生成を安く回したい用途に向いていますOMNIFLASH — Gemini Omni Flashがpublic previewになりました。ネイティブにマルチモーダルなモデルで、企業や開発者が独自の動的な動画ワークフローを構築できますAGENTS — Managed Agentsが拡張されました。background: trueでサーバー側の非同期実行とポーリング、リモートMCPサーバー連携、対話をまたぐ認証情報のリフレッシュに対応しますMEMORY — Memory BankのIngestEvents APIが一般提供になりました。イベントの取り込みとメモリ生成を分離し、コンテンツを継続的にストリームできますTHROUGHPUT — Provisioned Throughputで、同一モデル・同一リージョンに対して最大7件の保留オーダーを提出できるようになりましたDEPRECATE — 画像生成モデルは8月17日に、Gemini Enterprise Agent PlatformのGrok 4.1系は8月20日に停止される予定ですNANOLITE — Nano Banana 2 Liteが登場しました。Googleで最も速く、最もコスト効率の高いGemini Imageモデルで、軽量な画像生成を安く回したい用途に向いていますOMNIFLASH — Gemini Omni Flashがpublic previewになりました。ネイティブにマルチモーダルなモデルで、企業や開発者が独自の動的な動画ワークフローを構築できますAGENTS — Managed Agentsが拡張されました。background: trueでサーバー側の非同期実行とポーリング、リモートMCPサーバー連携、対話をまたぐ認証情報のリフレッシュに対応しますMEMORY — Memory BankのIngestEvents APIが一般提供になりました。イベントの取り込みとメモリ生成を分離し、コンテンツを継続的にストリームできますTHROUGHPUT — Provisioned Throughputで、同一モデル・同一リージョンに対して最大7件の保留オーダーを提出できるようになりましたDEPRECATE — 画像生成モデルは8月17日に、Gemini Enterprise Agent PlatformのGrok 4.1系は8月20日に停止される予定です
記事一覧/API / SDK
API / SDK/2026-06-11中級

Gemini 3.2 API 実装ガイド — 正しいモデルID・3.1 からの移行と本番チェックポイント

Gemini 3.2 を API から呼び出すための正しいモデルID、Gemini 3.1 からの移行時の変更点、Python・TypeScript の実装例、本番環境への移行チェックリストをまとめました。

Gemini 3.26Gemini API191gemini-3.2-proモデル移行7Python38TypeScript8

gemini-3.2-pro を指定したらエラーが出たのですが、正しいモデルIDは何ですか?」

先週、このような質問を開発者コミュニティで何件か見かけました。モデル名を検索すると Gemini 3.2 の一般向け紹介記事がたくさん出てくるのですが、API から呼び出すための具体的な実装ガイドがなかなか見つからないようです。

ここではGemini 3.2 を API 経由で使うために必要なことを実装者視点でまとめます。どのモデルIDを指定すべきか、3.1 からの移行で何が変わるか、そして本番環境に切り替えるときの確認ポイントを整理しています。

Gemini 3.2 のモデルID 一覧

まずはモデルIDの確認から始めましょう。2026 年 5 月時点での Gemini 3.2 系モデルIDは以下の通りです。

# 利用可能な Gemini 3.2 モデルID(2026年5月時点)
MODELS = {
    "pro": "gemini-3.2-pro",           # 最高性能・高コンテキスト処理
    "flash": "gemini-3.2-flash",       # 高速・コスト効率重視
    "flash_lite": "gemini-3.2-flash-lite",  # 軽量・低レイテンシ
}

それぞれの使い分けは次のとおりです。

  • gemini-3.2-pro: 長文分析、複雑な推論、マルチモーダル処理。コンテキストウィンドウ最大
  • gemini-3.2-flash: テキスト生成・分類・チャットなど汎用タスク。速度とコストのバランスが良い
  • gemini-3.2-flash-lite: リアルタイム応答が必要なアプリや高頻度 API 呼び出し向け

gemini-3.2 のような「バージョンのみ」指定は今のところ存在しません。-pro-flash のサフィックスまで含めた正確なIDが必要です。モデルIDの命名規則や latest / stable エイリアスについては、Gemini API のモデルIDを正しく選ぶ — stable / latest / preview / experimental の違いと落とし穴 も参考にしてみてください。

Gemini 3.1 → 3.2 の API 変更点

次に、3.1 からの変更点を実装に影響する範囲で整理します。

① レスポンス構造に変化なし

安心してほしいのですが、レスポンスのデータ構造自体は 3.1 と互換性があります。既存の response.text やトークンカウントの取得方法は変更不要です。

# 3.1 でも 3.2 でも同じコードで動く
response = model.generate_content("簡単な質問")
print(response.text)                  # テキスト取得
print(response.usage_metadata)       # トークン使用量

thinking_budget パラメータの動作変化

3.1 Pro では thinking_budget を設定しない場合、デフォルトで 8,000 トークン相当の思考が走っていました。3.2 Pro では同じ省略時の挙動が少し変わり、タスクの複雑さを自動判定して思考深度を動的に調整 するようになっています。

シンプルな質問では余分な思考トークンを消費せず、複雑な質問では自動的に深く考えるようになったため、コストと精度のバランスが取りやすくなりました。もし 3.1 と同じ固定の思考予算を維持したい場合は明示的に指定します。

import google.generativeai as genai
 
genai.configure(api_key="YOUR_GEMINI_API_KEY")
 
# 3.2 Pro — thinking_budget を明示的に設定する場合
model = genai.GenerativeModel(
    model_name="gemini-3.2-pro",
    generation_config=genai.GenerationConfig(
        temperature=0.7,
        max_output_tokens=4096,
    )
)
 
# thinking_budget を固定したい場合(省略すると自動調整)
response = model.generate_content(
    "この設計の問題点を論理的に分析してください: ...",
    generation_config={
        "thinking_config": {
            "thinking_budget": 10000  # 明示的に設定
        }
    }
)

③ Function Calling のスキーマ検証が厳格に

3.1 では曖昧な型定義("type": "string" に数値が渡されるなど)を暗黙的に許容していましたが、3.2 ではスキーマ不整合をエラーとして明示するようになっています。

既存の Function Calling 実装を 3.2 に切り替えたとき、INVALID_ARGUMENT エラーが増えた場合は、ツールのパラメータ定義を見直すのが先決です。

# 型定義を厳密にする例(3.2 対応)
weather_tool = {
    "name": "get_weather",
    "description": "指定した都市の天気情報を取得する",
    "parameters": {
        "type": "object",
        "properties": {
            "city": {
                "type": "string",          # 文字列型を明示
                "description": "都市名(日本語または英語)"
            },
            "days": {
                "type": "integer",         # 整数型を明示("number" ではなく)
                "description": "予報日数(1〜7)",
                "minimum": 1,
                "maximum": 7
            }
        },
        "required": ["city"]
    }
}

Python 実装例(最小構成)

実際に動くコードをひとつ示します。これが Gemini 3.2 Pro を呼び出す最小の実装です。

import google.generativeai as genai
import os
 
# APIキーの設定(環境変数から取得を推奨)
genai.configure(api_key=os.environ["GEMINI_API_KEY"])
 
# モデル初期化
model = genai.GenerativeModel("gemini-3.2-pro")
 
def ask_gemini(prompt: str) -> str:
    """Gemini 3.2 Pro にテキストを送信して応答を取得する"""
    try:
        response = model.generate_content(prompt)
        return response.text
    except genai.types.BlockedPromptException as e:
        # セーフティフィルターによるブロック
        print(f"コンテンツがブロックされました: {e}")
        return ""
    except Exception as e:
        # その他のエラー(レート制限・ネットワークエラー等)
        print(f"エラー: {e}")
        raise
 
# 実行例
result = ask_gemini("Python でファイルを安全に読み込む方法を教えてください")
print(result)
 
# 期待する出力例:
# Pythonでファイルを安全に読み込むには、with 文を使うのが基本です...

エラーハンドリングの詳細については Gemini API エラーハンドリング&リトライ完全ガイド で掘り下げています。

TypeScript / JavaScript 実装例

Node.js や Next.js から呼び出す場合の実装です。

import { GoogleGenerativeAI } from "@google/generative-ai";
 
const genAI = new GoogleGenerativeAI(process.env.GEMINI_API_KEY!);
 
// Gemini 3.2 Flash(速度重視のタスクに)
const model = genAI.getGenerativeModel({ model: "gemini-3.2-flash" });
 
async function generateText(prompt: string): Promise<string> {
  try {
    const result = await model.generateContent(prompt);
    const response = result.response;
    return response.text();
  } catch (error) {
    // エラーの種類を判別してログに残す
    if (error instanceof Error) {
      console.error(`Gemini API エラー: ${error.message}`);
    }
    throw error;
  }
}
 
// チャット形式(マルチターン)の場合
async function chatWithGemini() {
  const chat = model.startChat({
    history: [
      {
        role: "user",
        parts: [{ text: "TypeScript の型推論について教えてください" }],
      },
      {
        role: "model",
        parts: [{ text: "TypeScript の型推論は..." }],
      },
    ],
  });
 
  const response = await chat.sendMessage("具体的なコード例も見せてください");
  console.log(response.response.text());
}

3.1 からの移行であれば、モデル名を "gemini-3.1-flash" から "gemini-3.2-flash" に変えるだけで動作します。SDK のバージョンが古い場合は @google/generative-ai を最新版に更新しておきましょう。

# パッケージ更新
npm install @google/generative-ai@latest
# または
pip install google-generativeai --upgrade

本番環境への移行チェックリスト

3.1 から 3.2 に切り替える前に確認しておくことをまとめました。

移行前の確認:

  • [ ] 開発環境で gemini-3.2-pro / gemini-3.2-flash どちらを使うか確定しているか
  • [ ] Function Calling を使っている場合、ツールのパラメータ型定義が正確か
  • [ ] thinking_budget を明示的に設定しているか(自動調整で問題ない場合は省略可)
  • [ ] SDK が最新版に更新されているか(google-generativeai / @google/generative-ai

移行後の確認:

  • [ ] 同じプロンプトで 3.1 と 3.2 の応答を比較し、品質・形式が期待通りか
  • [ ] エラー率・レイテンシをモニタリングして異常値がないか
  • [ ] トークン消費量に大きな変化がないか(usage_metadata で確認)
  • [ ] Function Calling の成功率が低下していないか

レート制限周りの注意点は Gemini API レート制限・クォータ管理の完全実装ガイド で詳しく説明しています。

一般ユーザー向けの Gemini 3.2 の機能や特徴については、Gemini 3.2 完全ガイド — 何が変わったか・実際の使用感・前モデルとの違い が参考になります。


2026年5月 最新情報

この記事公開後に把握した情報を補足します。

Gemini 2.0 Flash の廃止スケジュール(6月1日)

2026年6月1日をもって Gemini 2.0 Flash が廃止されます。もし既存のプロジェクトで gemini-2.0-flash を指定していれば、早めに gemini-2.5-flash または gemini-3.2-flash への切り替えを進めてください。廃止後はモデルが応答しなくなります。移行の具体的な手順はGemini 2.0 Flash が6月1日に廃止されます — 今すぐ 2.5 Flash へ移行する手順にまとめています。

5月の Gemini API 変更点

5月は Gemini API にいくつかの変更がありました。本番環境を運用している方は、Gemini API 開発者向け 2026年5月アップデート — 今月何が変わり、何をすべきかを一度確認しておくことをお勧めします。特に Function Calling とストリーミングレスポンス周りの挙動に関するアップデートが含まれています。

2026年6月 追記 — I/O 2026 で Gemini 3.5 が登場

この記事は Gemini 3.2 を前提に書いていますが、2026年5月19日の Google I/O 2026 で次世代の Gemini 3.5 Flash が発表されました。フラッグシップ級の知能を Flash の速度で提供し、コーディングやエージェント系のベンチマークで 3.1 Pro を上回るとされ、長時間タスクのコストも大きく下がっています。Gemini 3.5 Pro も社内先行のうえ、翌月の一般展開が予告されました。

とはいえ、本文で扱った 3.1 → 3.2 の移行作法(モデルID の差し替えを起点に、Function Calling とストリーミングの差分を確認する進め方)は 3.5 への移行でもそのまま使えます。まず 3.2 で構成を固め、3.5 の一般提供が安定してきた段階でモデルID を切り替えて回帰テストする、という順序が安全だと考えています。あわせて、1回の API 呼び出しで隔離環境を確保できる Managed Agents も I/O で発表されているので、エージェント的な処理を組んでいる方は移行のタイミングで検討する価値があります。

まず試してほしい一歩

今日できる具体的なアクションをひとつだけ示すとすれば、既存プロジェクトのモデルIDを gemini-3.2-flash に変更してテスト実行してみること です。

3.1 Flash で動いているコードであれば、モデルIDを 1 行変えるだけで 3.2 の挙動を体感できます。Function Calling を使っていない汎用テキスト処理なら、ほぼ無修正でそのまま動くはずです。まずは開発環境でサクッと切り替えてみて、応答品質の変化を確認してみてください。

Gemini の API 開発について体系的に

シェア

お読みいただきありがとうございます

Gemini Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

もしこの記事がお役に立ちましたら、チップ(¥150)で応援いただけると大変励みになります。広告なしでの運営を続けるため、皆さまのご支援が大きな力になっています。

関連記事

API / SDK2026-05-11
Gemini 3.2 API に切り替えたら動かなくなった — 私が実際にぶつかったエラーパターンと対処法
Gemini 3.2 API への移行後に頻発するエラー5種を実例コード付きで解説。モデルID誤り・レート制限・コンテキスト超過・ストリーミング断裂・Function Calling スキーマ違反の診断と修正方法を紹介します。
API / SDK2026-04-27
Gemini API のストリーミング応答をユーザー操作で中止する — AbortController と asyncio の正しい使い方
チャットUIの『停止』ボタンを押したのに Gemini API のストリーミングが裏で動き続けている — そんな見落としを防ぐための、AbortController と asyncio.CancelledError を使った安全な中止処理の実装方法をまとめます。
API / SDK2026-03-11
Gemini API クイックスタート — Python/TypeScriptで始める
Gemini APIをPythonとTypeScriptで実装する方法を詳しく解説。SDKのインストールから応答処理まで、実装に必要な全知識をカバーします。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →