Gemini APIキーは、Google AI Studioにログインして「Create API key」を押せば無料で取得できます。ただし2026年5月にキーの仕様が変わり、5月28日以降に作るキーはすべてサービスアカウントに紐づく「auth key」になりました。本記事では、AI Studioでの発行手順と権限エラーの対処、環境変数GEMINI_API_KEYの設定とPython・curlでの確認、Gemini API専用の制限とIP制限、漏洩したときに旧キーを止める順番までを、公式ドキュメント(2026年10月25日時点)をもとに整理します。
まとめ:Gemini APIキーは無料で即発行・本番前に制限と保管先を決める
取得そのものは数分で終わります。AI Studioに初めてログインすると、プロジェクトとAPIキーが自動で作られるからです。費用がかかるのは課金を有効にしたプロジェクトで呼んだときだけで、キーを作る行為に料金は発生しません。
手間がかかるのは発行の後です。キーは環境変数に置き、コードとリポジトリに書かない。サーバーから呼ぶキーにはIPアドレス制限を付け、ブラウザやスマホのアプリには埋め込まない。漏れたら新しいキーを先に配備し、動作を確かめてから古いキーを無効にする。この3点を本番公開の前に決めておきます。
2026年5月以前に作ったキーが急に通らなくなった場合は、制限なしの標準キーが拒否されている可能性が高く、AI Studioで作り直せば解決します。Gemini APIそのものの全体像は、親記事のGemini APIとは?できること・料金・始め方とInteractions APIの最小コードで扱っています。
Gemini APIキーの仕組み:2026年5月以降のauth keyと無料発行の範囲
手順に入る前に、いま発行されるキーがどういうものかを押さえます。古い解説記事の画面説明と食い違う部分は、ほぼこの仕様変更が原因です。
auth keyと標準キーの違いと2026年5月28日以降に作られるキーの仕様
APIキーの公式ページ(2026年10月6日更新)は、キーを2種類に分けています。標準キーはGoogle Cloudのプロジェクトに紐づき、課金とクォータの単位になりますが、呼び出し元までは識別しません。auth key(認証キー)はサービスアカウントに直接紐づき、リクエストはそのサービスアカウントの権限で処理されます。作成時点でGemini API(Generative Language API)だけに制限されているのも特徴です。
| 日付 | 変更内容 | 利用者への影響 |
|---|---|---|
| 2026年5月7日 | 長期間使われていない制限なしキーをブロック | AI StudioでBlockedのタグが付く |
| 2026年5月28日 | AI Studioの新規キーはauth key | 新規発行は自動でGemini API専用になる |
| 現在 | 制限なしの標準キーのリクエストを拒否 | 明示的に制限を付けた標準キーは使える |
いまAI Studioで作るキーは、最初から他のGoogle APIに流用できません。auth keyのリクエストはサービスアカウントの使用量の指標に記録されないので、利用状況はAI StudioのUsage画面や請求の画面で追います。
無料で発行できるキーと有料枠への切り替えで変わるのはプロジェクト
「無料のキー」「有料のキー」という区別はありません。無料か有料かを決めるのはキーが属するプロジェクトで、課金アカウントを紐づけていないプロジェクトのキーは無料枠、紐づけて最低5ドルを前払いしたプロジェクトのキーは有料枠として扱われます。同じキーのまま、プロジェクト側の設定だけで切り替わります。
レート制限も同じ考え方です。レート制限のページによると、上限はAPIキーではなくプロジェクト単位で数えられます。キーを何本作っても、1分あたりのリクエスト数が増えることはありません。
無料枠で送った入力と出力は、料金ページの表でGoogleの製品改善に使われる扱いです。顧客データを送るキーは、有料枠のプロジェクトで発行したものに限ります。単価と課金の始め方はGemini APIの料金と無料枠:モデル別単価・課金設定・費用の計算コードにまとめています。
Google AI StudioでGemini APIキーを発行する手順と権限エラーの対処
発行の経路はAI StudioとGoogle Cloudコンソールの2つがあります。Gemini APIだけに使うなら、AI Studioで完結させるのが手早く、制限も自動で付きます。
AI StudioのCreate API keyからキーをコピーするまでの4ステップ
個人のGoogleアカウントで試す場合の流れです。会社のGoogle Workspaceアカウントでは、次のh3の権限エラーが出ることがあります。
- Google AI Studio(aistudio.google.com)にGoogleアカウントでログインし、初回は利用規約に同意する
- 左パネルのDashboardを開き、API Keysのページを選ぶ
- 「Create API key」を押し、キーを作るプロジェクトを選ぶ(初回は自動作成されたプロジェクトがある)
- 表示されたキーをコピーし、次章の手順で環境変数に保存する
新規ユーザーは規約に同意した時点で、既定のプロジェクトとキーが1本ずつ作られています。プロジェクト名はProjectsの画面で変えられるので、「検証用」「本番用」のように用途がわかる名前にしておくと、あとで有料枠を紐づけるときに取り違えません。
既存のGoogle CloudプロジェクトをImport projectsで取り込む手順
会社ですでにGoogle Cloudのプロジェクトと請求先アカウントを持っているなら、新しいプロジェクトを増やさず、既存のプロジェクトにキーを作ります。DashboardのProjectsを開き、「Import projects」で対象のプロジェクトを検索して「Import」を押すと、API Keysのページでそのプロジェクトを選べるようになります。Projectsの画面から一度に作れるプロジェクトは最大10個です。
AI Studioでキーの作成が拒否されたときに確認する5つのIAM権限
「You do not have permission to create a key」と表示され、Create API keyのボタンが押せない場合は、プロジェクトに対するIAM権限が足りていません。公式ページが挙げる必要な権限は次の5つです。
resourcemanager.projects.getapikeys.keys.createserviceusage.services.enableiam.serviceAccounts.createiam.serviceAccountApiKeyBindings.create
auth keyはサービスアカウントを作って紐づけるので、後ろの2つが不足しがちです。管理者にProject Editorなどのロールを付けてもらうのが正攻法で、それが難しいときは組織に属さない新しいプロジェクトを作ってキーを発行する手もあります。なおGoogle CloudのAPIキー管理のページによると、キーをサービスアカウントに紐づける操作は既定の組織ポリシーで禁止されていますが、Gemini APIだけに制限したキーはその対象外です。組織ポリシーの変更までは不要です。
Gemini APIキーの環境変数設定とPython・curlでの疎通確認
設定する環境変数名はGEMINI_API_KEYです。コピーしたキーは、コードに直接書かずに環境変数へ置きます。公式SDKは環境変数を自動で読むので、コード側にキーの文字列が一度も出てこない形にできます。
macOS・Linux・Windows別のGEMINI_API_KEY設定例
macOSの既定のシェル(zsh)なら、~/.zshrcの末尾に1行足して読み込み直します。bashなら~/.bashrcに同じ行を書きます。
# macOS(zsh)。bash の場合は ~/.bashrc に置き換える
echo 'export GEMINI_API_KEY="AI Studioでコピーしたキー"' >> ~/.zshrc
source ~/.zshrc
# 設定できたかを確認(キー全体を画面に出さず、末尾4文字だけ表示)
echo "${GEMINI_API_KEY: -4}"
Windowsは、検索バーで「環境変数」を検索してシステムのプロパティを開き、ユーザー環境変数に名前GEMINI_API_KEY、値にキーを登録します。登録後は新しいターミナルを開かないと反映されません。PowerShellから設定するならsetx GEMINI_API_KEY "キー"でも同じ結果になります。
google-genaiのClient()とGOOGLE_API_KEY優先の注意点
Python SDKのgoogle-genai(PyPIの最新は2026年10月23日公開の2.33.0)は、引数なしのgenai.Client()で環境変数からキーを読みます。SDKのREADMEには「GEMINI_API_KEYとGOOGLE_API_KEYの両方が設定されていればGOOGLE_API_KEYが優先される」と書かれています。
ここが落とし穴です。Google Mapsなど別のAPI用にGOOGLE_API_KEYを設定した開発機では、GEMINI_API_KEYを正しく入れても別のキーで送られ、エラーになるか、意図しないプロジェクトに請求が立ちます。次のコードは、どちらの変数が効いているかを確かめてから1回だけ呼び出します。SDKの導入方法はGoogle Gen AI SDKとは?google-genaiの導入と旧SDK移行を参照してください。
# 事前に: pip install -U google-genai
import os
from google import genai
# どちらの環境変数が使われるかを先に表示する(キー本体は出さない)
for name in ("GOOGLE_API_KEY", "GEMINI_API_KEY"):
value = os.environ.get(name)
print(name, f"設定あり(末尾 {value[-4:]})" if value else "未設定")
if os.environ.get("GOOGLE_API_KEY") and os.environ.get("GEMINI_API_KEY"):
print("注意: 両方あるため GOOGLE_API_KEY が使われます")
client = genai.Client() # 環境変数からキーを読む
interaction = client.interactions.create(
model="gemini-3.8-flash",
input="疎通確認です。OKとだけ返してください",
)
print(interaction.output_text)
引数のgenai.Client(api_key=...)でも渡せますが、公式が勧めるのは環境変数です。
curlのx-goog-api-keyヘッダーで疎通を確かめるリクエスト例
SDKを入れる前にキーが有効かだけ確かめたいときは、curlで/v1beta/interactionsを直接呼びます。キーはURLのクエリではなくx-goog-api-keyヘッダーで送ると、プロキシやサーバーのアクセスログにキーが残りにくくなります。
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "Content-Type: application/json" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-d '{"model": "gemini-3.8-flash", "input": "疎通確認です。OKとだけ返してください"}'
応答のJSONに生成結果が入っていればキーは有効です。403が返った場合は、後半のエラー別の表で原因を切り分けます。
Gemini APIキーの専用化・IP制限とSecret Managerでの保管
発行直後のキーは、持っている人なら誰でもどこからでも呼べます。本番で使う前に、呼べる範囲と保管場所を絞ります。
AI StudioのUnrestrictedキーをGemini API専用に絞る手順
2026年5月より前に作った標準キーには、AI StudioでUnrestrictedのラベルが付いていることがあります。このままではGemini APIに拒否されるので、制限を付けるか作り直します。
- AI StudioのAPI Keysのページで、Unrestrictedのラベルが付いたキーを探す
- ラベルにカーソルを合わせ、表示されたダイアログで「Add restrictions」を押す
- 「Restrict to Gemini API only」を選び、「Restrict key」で確定する
この操作にはapikeys.keys.updateの権限が要ります(API Keys AdminかEditorのロールに含まれます)。Google Mapsなど他のAPIと共有していたキーは他のAPI専用に絞り、Gemini API用には別のキーを作り直すのが公式の手順です。
サーバーから呼ぶキーにIPアドレス制限をgcloudで付けるコマンド例
固定のIPアドレスを持つサーバーからだけ呼ぶなら、アプリケーション制限としてIPアドレスを指定します。Google CloudのAPIキー管理のページによると、サービスアカウントに紐づくキーで使えるアプリケーション制限はIPアドレスだけで、HTTPリファラーやAndroid・iOSアプリの制限は付けられません。
# プロジェクト内のキーを一覧し、対象のキーIDを確認する
gcloud services api-keys list --project=PROJECT_ID
# 本番サーバーの送信元IP(例: 203.0.113.10)からの呼び出しだけを許可する
gcloud services api-keys update KEY_ID \
--project=PROJECT_ID \
--allowed-ips="203.0.113.10"
# 反映された制限を確認する
gcloud services api-keys describe KEY_ID --project=PROJECT_ID
Cloud RunやLambdaのように送信元IPが固定されない実行環境では、Cloud NATなどで出口のIPを固定しない限りこの制限は使えません。その場合は次のh3の保管方法と、課金アラートでの監視で補います。
.envとSecret Managerでキーをリポジトリとフロントエンドに出さない構成
ローカル開発では.envファイルにキーを書き、.gitignoreに.envを足してからコミットします。順番を逆にすると、最初のコミットにキーが入り、履歴から消すのに手間がかかります。
本番は、公式ページが勧めるとおりSecret Managerなどのシークレットストアに置き、実行時に環境変数として注入します。
# 標準入力からキーを読み込んでシークレットを作る(シェル履歴にキーを残さない)
gcloud secrets create gemini-api-key --replication-policy="automatic" --data-file=-
# Cloud Run のサービスに環境変数 GEMINI_API_KEY として渡す
gcloud run services update my-api --region=asia-northeast1 \
--set-secrets=GEMINI_API_KEY=gemini-api-key:latest
ブラウザやスマホのアプリにキーを埋め込むのは、本番では禁止です。公式ページは、クライアントに置いたキーは抜き取られるとして、バックエンドのプロキシ経由で呼ぶよう求めています。サーバーを持たずにアプリから直接Geminiを呼びたい場合は、Firebase AI LogicとApp Checkによる構成を検討してください。
Gemini APIキーが漏洩・停止したときの失効手順とエラー別の切り分け
キーの事故は「漏れた」と「止まった」の2種類です。どちらも、慌てて古いキーを消すと本番まで止まります。
新しいキーを先に配備してから旧キーを無効化するローテーション順序
公式ページが示す漏洩時の手順は次の順番です。旧キーの削除を最後に回しているのは、新しいキーが行き渡る前に止めるとサービスが落ちるからです。
- AI StudioかCloudコンソールで新しいキーを作る
- 新しいキーを使うようにアプリケーションを配備し直す(Secret Managerなら新しいバージョンを追加する)
- 新しいキーで動いていることを確かめてから、漏れたキーを無効にする
- Cloudコンソールで課金のログとAPIの利用状況を見て、不正利用の有無を確かめる
公開リポジトリにキーを含めてしまった場合は、手順1の前から不正利用が始まっている前提で動きます。Google Cloudの課金アラートは、漏洩に気づく前から設定しておく備えです。キーの棚卸しやローテーションの周期の決め方はAPIキー管理とは?発行・保管・失効とローテーションの実装で詳しく扱っています。
403 PERMISSION_DENIED・402・Blockedの原因別対応表
キーが通らないときのエラーを、トラブルシューティングの公式ページ(2026年10月23日更新)と課金の公式ページの記述から整理しました。
| 症状 | 主な原因 | 対処 |
|---|---|---|
| 403・キー漏洩の報告 | キーの漏洩を検知された | 新しいキーに差し替える |
| 403・プロジェクトのアクセス拒否 | 無料枠の利用不可・支払いの保留 | 課金を紐づける・未払いを解消する |
| 402 Payment Required | Prepayの残高が0ドル | クレジットを購入する |
| AI StudioでBlocked | 休眠していた制限なしキー | 新しいキーを作る |
| 429 RESOURCE_EXHAUSTED | プロジェクトのレート上限 | 指数バックオフで再試行する |
表の1行目は「API key was reported as leaked」、2行目は「project has been denied access」という403のメッセージに対応します。見落としやすいのは2行目です。プロジェクト自体のアクセスが拒否されているので、同じプロジェクトで新しいキーを作っても直りません。公式は、400・402・403はクライアント側の問題なので再試行しないよう求めています。再試行してよいのは429と503だけで、残りはリトライ処理から外しておきます。
Gemini APIキーを個人で発行してよい場面と会社のプロジェクトで管理する判断
キーは誰でも数分で作れるため、社内で「各自が個人アカウントで発行して使う」状態が自然に生まれます。どこまでを許し、どこから会社のプロジェクトに寄せるかを先に決めます。
個人の無料キーで試してよい条件と業務データを送る前に移す合図
個人のアカウントで発行した無料枠のキーで試してよいのは、公開済みの文書やダミーデータだけを送る試作の段階です。キーの持ち主が退職したり、個人のアカウントを消したりしても困らない用途に限ります。
次のどれかに当たった時点で、会社のプロジェクトで発行した有料枠のキーへ移します。顧客や取引先のデータを1件でも入力に含める。複数人で同じキーを使い始めた。社内の別システムからそのキーを呼ぶようになった。1つ目は無料枠の入力が製品改善に使われるためで、後ろの2つは、退職や異動でキーの持ち主が不在になったとき、誰も失効させられない状態を生みます。
可用性を顧客に約束するサービスや、データの処理場所を監査で説明する業務は、APIキーではなくGoogle Cloudの認証で呼ぶVertex AI(現Gemini Enterprise Agent Platform)が向きます。違いはVertex AIとGemini APIの違い:認証・SLA・データ所在地・料金を比較で整理しています。
キーの管理を抱えずにGemini連携のバックエンドごと任せる判断
本番ではキーの発行に加えて、バックエンドのプロキシ、Secret Managerでの保管、IP制限、課金アラート、ローテーションの手順書がひとまとまりで要ります。社内に常駐のインフラ担当がいないと、ここが抜けたままキーだけが配られ、漏洩時に誰も止められません。
業務システムに組み込む段階でこの一式を設計できる人がいなければ、キーの運用を含めて外部に任せる方が安く済みます。既存の業務システムへのGemini組み込みを、キーと権限の設計から相談したい場合は、一創の生成AI開発・AI受託開発で要件整理から受けています。
Gemini APIキーの取得と管理に関するよくある質問と回答
キーの取得と運用について、検索の多い質問に公式ドキュメントの記述をもとに答えます。
Gemini APIキーは無料で取得できますか?
無料で取得できます。AI Studioでキーを作る操作に料金はかからず、課金アカウントを紐づけていないプロジェクトのキーは無料枠で呼べます。無料枠で使えるモデルは限られ、2026年10月時点ではgemini-4-argonやgemini-3.1-pro-previewは対象外です。料金がかかるのは、プロジェクトに課金を設定して有料枠で呼んだときだけです。
APIキーを複数作ればレート制限の上限は増えますか?
増えません。Gemini APIのレート制限は、キーではなくプロジェクト単位で数えられます。同じプロジェクトでキーを10本作っても、1分あたりのリクエスト数や1日あたりの上限は1本のときと同じです。上限を上げたいときは、キーを増やすのではなく、プロジェクトに課金を設定して有料枠のティアを上げます。
以前に作ったGemini APIキーが急に使えなくなったのはなぜですか?
2026年5月の仕様変更が原因の可能性が高いです。5月7日から、長く使われていない制限なしのキーはブロックされ、AI StudioでBlockedのタグが付きます。制限なしの標準キーのリクエストも拒否されるようになりました。AI Studioで新しいキーを作るか、既存のキーに「Restrict to Gemini API only」の制限を付ければ解消します。
作ったはずのAPIキーがAI Studioの一覧に出てこないのはなぜですか?
AI StudioのAPI Keysのページに出るのは、制限なしのキーとGemini API専用に制限したキーだけです。Google Mapsなど他のAPI向けの制限を付けたキーは表示されません。表示件数にもキー100本・プロジェクト50個の上限があります。見当たらない場合は、Google Cloudコンソールの認証情報の画面で探してください。
Vertex AIで使う場合もこのAPIキーが必要ですか?
Vertex AI(Gemini Enterprise Agent Platform)経由で呼ぶ場合は、AI StudioのAPIキーではなく、Google Cloudのプロジェクトとリージョンを指定した認証で呼ぶのが基本です。google-genaiでは、GOOGLE_GENAI_USE_ENTERPRISE、GOOGLE_CLOUD_PROJECT、GOOGLE_CLOUD_LOCATIONの環境変数で切り替えます。同じSDKのまま、キーを使うDeveloper APIと行き来できます。
関連記事
- Gemini APIとは?できること・料金・始め方とInteractions APIの最小コード【2026年10月】:本記事の親。APIの定義と最初のリクエストの書き方。
- Gemini APIの料金と無料枠:モデル別単価・課金設定・費用の計算コード【2026年10月】:キーを有料枠で使うときの単価と課金の手順。
- APIキー管理とは?発行・保管・失効とローテーションの実装を解説:Gemini以外も含めたAPIキーの管理の一般論。
- Vertex AIとGemini APIの違い:認証・SLA・データ所在地・料金を比較【2026年10月】:APIキーを使わない認証へ移る判断。
- Anthropic API(Claude API)の料金とAPIキー取得方法|モデル別単価・無料枠・月額上限【2026年10月】:他社APIのキー取得と比べるときに。