正しいモデル・正しいリージョン — 404エラーを二度と出さない
SECTION 16 — OVERVIEW
Gemini APIはモデルによってリージョンが異なる。
2.5系を global リージョンで呼ぶと 404。
3.x系を us-central1 で呼んでも 404。
モデル名の入力ミスでも静かに 404 が返る。
SECTION 16 — OVERVIEW
ScriptApp.getOAuthToken() でGCPの認証が自動で通るため、APIキーの管理が不要です。SECTION 16 — ACCESS METHODS
ai.google.dev でキーを発行。環境変数 GEMINI_API_KEY に設定するだけで利用開始。
GCPプロジェクト不要。素早く試せる。無料枠があり、学習・検証コストが低い。
3.x系プレビューモデルにいち早くアクセス可能。新機能の検証に向いている。
SECTION 16 — ACCESS METHODS
GCPのIAMロールで細かく権限管理。誰がどのモデルを使えるか組織レベルで制御可能。
リクエストを特定リージョン内に閉じられる。日本法令・社内ポリシーへの対応が容易。
稼働率保証・テクニカルサポートあり。2.5系(安定版)と3.x系(最新)の両方に対応。
GASは Google アカウントで動作するため、
ScriptApp.getOAuthToken() を使うと
APIキーなしでVertex AIに接続できる。
認証情報の管理が大幅に簡略化される。
SECTION 16 — COMPARISON
| 項目 | Google AI Studio(APIキー) | Vertex AI(GCPプロジェクト) |
|---|---|---|
| 認証方式 | APIキー(HTTP ヘッダー) | サービスアカウント / OAuth / GAS自動 |
| セキュリティ | 低 キー流出リスクあり | 高 IAM で組織管理 |
| 対応モデル | 3.x系のみ(2.5系は非対応) | 2.5系 + 3.x系 の両方 |
| データ処理地域 | 指定不可 | リージョン指定可 |
| SLA | なし | エンタープライズSLA あり |
| 料金 | 無料枠あり / 従量課金 | $300クレジット / 従量課金 |
| GASとの統合 | PropertiesServiceにキー保存が必要 | OAuthToken で自動認証 |
| 推奨用途 | 個人開発・プロトタイプ・学習 | 業務システム・本番運用 |
2.5系 vs 3.x系 — 何が違い、どこで動くのか
SECTION 16 — MODEL FAMILIES
SECTION 16 — REGION MATRIX
| モデル名 | APIキー AI Studio |
Vertex AI global |
Vertex AI us-central1 |
|---|---|---|---|
| gemini-2.5-flash | — | — | |
| gemini-2.5-flash-lite | — | — | |
| gemini-2.5-pro | — | — | |
| gemini-3-flash-preview | |||
| gemini-3.1-pro-preview | |||
| gemini-3.1-flash-lite-preview |
SECTION 16 — REGION RULES
Vertex AI の us-central1 リージョンを使用
Vertex AI の global リージョンを使用
またはAPIキー(AI Studio)
3.x系を us-central1 で呼ぶ → 404 / 2.5系を global で呼ぶ → 404
「モデルが存在しない」ように見えるが、実際は「そのリージョンにモデルが配置されていない」のが原因
SECTION 16 — TROUBLESHOOTING
| エラーメッセージ | 原因 | 対策 |
|---|---|---|
| 404 NOT_FOUND Publisher Model | リージョンが違う(最多) | 2.5系 → us-central1 3.x系 → global |
| 404 Model not found | モデルIDのスペルミス | models.list() でモデル名を確認 |
| API key not valid | APIキーが無効・環境変数未設定 | 環境変数 GEMINI_API_KEY を確認 |
| 403 Permission denied | IAMロールが不足 | Vertex AI ユーザーロールをサービスアカウントに付与 |
client.models.list() で最新名を確認しましょう。Google Apps Script で Vertex AI を正しく呼び出す
SECTION 16 — GAS CONNECTION
SECTION 16 — GAS CONNECTION
global の場合はホスト名の先頭にリージョン名が入りません。この違いを間違えると 404 になります。
SECTION 16 — GAS SETUP
Vertex AI をGASから呼ぶには、appsscript.json に 適切な OAuth スコープを追加する必要があります。
GASエディタの「プロジェクトの設定」→「appsscript.json ファイルをエディタで表示する」をオン
左のコードを参考に2つのスコープを追加して保存
「プロジェクトの設定」→「Google Cloud Platform(GCP)プロジェクト」にプロジェクト番号を入力
GCPコンソールで「Vertex AI API」を有効化
google-genai SDK を使った 2.5系・3.x系の接続パターン
SECTION 16 — PYTHON SDK
SECTION 16 — PYTHON SDK
用途・コスト・精度から最適なモデルを選ぶ
SECTION 16 — MODEL SELECTION
SECTION 16 — IMAGE MODELS
| モデル名 | APIキー | Vertex global | Vertex us-c1 |
|---|---|---|---|
| gemini-3.1-fast-image | — | — | |
| gemini-3.1-pro-image | — | — | |
| gemini-3.1-flash-image-preview | — |
高速生成。アイコン・サムネイルなど大量生成向け
高品質生成。マーケティング素材・詳細なイラスト向け
プレビュー版。APIキーで手軽に試せる
SECTION 16 — COST
| モデル | 入力 ($/1M token) | 出力 ($/1M token) | 速度感 |
|---|---|---|---|
| gemini-2.5-flash-lite | 最安 | 最安 | 最速 |
| gemini-2.5-flash | 低 | 低 | 速い |
| gemini-3-flash-preview | 低〜中 | 低〜中 | 速い |
| gemini-3.1-flash-lite-preview | 低 | 低 | 速い |
| gemini-2.5-pro | 中〜高 | 中〜高 | 普通 |
| gemini-3.1-pro-preview | 高 | 高 | 普通 |
3 つの演習でリージョンの違いを体で覚える
SECTION 16 — HANDS-ON 1
GASエディタで新しいプロジェクトを作成
YOUR_PROJECT_ID を自分のGCPプロジェクトIDに変更
appsscript.json に OAuthスコープを追加(スライド15参照)
実行して「Hello Vertex AI」が返ってくることを確認
Hello Vertex AI が表示されることSECTION 16 — HANDS-ON 2
2.5系との差分のみを確認してください。変更点は2箇所だけです。
location を us-central1 のまま、モデルを gemini-3-flash-preview に変えて実行すると、404 NOT_FOUND Publisher Model が返ってくることを確認。
→ 成功。レスポンスが返る
→ 404 NOT_FOUND Publisher Model
→ 404 NOT_FOUND Publisher Model
SECTION 16 — HANDS-ON 3
pip install google-genai
gcloud auth application-default login
YOUR_PROJECT_ID を自分のIDに変更して実行
SECTION 16 — MAINTENANCE
-preview が外れるハードコードを避け、設定ファイルやPropertiesServiceで一元管理
models.list() で現在のモデル状態を確認
Google Cloud のリリースノートを定期購読
SECTION 16 — SUMMARY
ScriptApp.getOAuthToken() で認証する-preview まで正確に入力するmodels.list() でモデル名の変更を確認するリージョンの選択ミスはコードが正しくても 404 を引き起こす。2.5系 → us-central1 / 3.x系 → global — このルールを覚えれば、エラーの9割は防げる。
正しいモデル × 正しいリージョン × 正しい認証方式で、
堅牢な Gemini API 連携を実現しましょう。