Gemini API を使用するには、API キーが必要です。このページでは、Google AI Studio でキーを作成して管理する方法と、コードで使用するための環境を設定する方法について説明します。
API キー
API キーは、Google Cloud APIs を呼び出すときに使用できる暗号化された文字列です。すべての Gemini API キーは、Google AI Studio の [API キー] ページで作成および管理できます。
API キーを取得したら、次のオプションを使用して Gemini API に接続できます。
初期テストでは API キーをハードコードできますが、これは安全ではなく、一時的なものにすぎません。API キーをハードコードする例については、API キーを明示的に指定するをご覧ください。
Google Cloud プロジェクト
Google Cloud プロジェクトは、Google Cloud サービス(Gemini API など)の使用、課金の管理、共同編集者と権限の制御に不可欠です。Google AI Studio は、Google Cloud プロジェクトへの軽量インターフェースを提供します。
プロジェクトをまだ作成していない場合は、新しいプロジェクトを作成するか、Google Cloud から Google AI Studio にプロジェクトをインポートする必要があります。Google AI Studio の [プロジェクト] ページには、Gemini API を使用するのに十分な権限を持つすべてのキーが表示されます。手順については、プロジェクトをインポートするセクションをご覧ください。
プロジェクトをインポートする
Gemini API キーはそれぞれ Google Cloud プロジェクトに関連付けられています。デフォルトでは、Google AI Studio にすべての Cloud プロジェクトが表示されるわけではありません。必要なプロジェクトは、[プロジェクトのインポート] ダイアログで名前またはプロジェクト ID を検索してインポートする必要があります。アクセス権のあるプロジェクトの一覧を表示するには、Cloud Console にアクセスします。
まだプロジェクトをインポートしていない場合は、次の手順で Google Cloud プロジェクトをインポートして鍵を作成します。
- Google AI Studio に移動します。
- 左側のサイドパネルから [ダッシュボード] を開きます。
- [プロジェクト] を選択します。
- [プロジェクト] ページで、[プロジェクトをインポート] ボタンを選択します。
- インポートする Google Cloud プロジェクトを検索して選択し、[インポート] ボタンを選択します。
プロジェクトをインポートしたら、ダッシュボード メニューから API キーページに移動し、インポートしたプロジェクトで API キーを作成します。
制限事項
Google AI Studio での API キーと Google Cloud プロジェクトの管理には、次の制限があります。
- Google AI Studio の [プロジェクト] ページから、一度に最大 10 個のプロジェクトを作成できます。
- プロジェクトとキーの名前を設定したり、変更したりできます。
- [API キー] ページと [プロジェクト] ページには、最大 100 個のキーと 100 個のプロジェクトが表示されます。
- 制限がない API キー、または Generative Language API に制限されている API キーのみが表示されます。
プロジェクトへの追加の管理アクセスについては、Google Cloud コンソールをご覧ください。
API キーを環境変数として設定する
環境変数 GEMINI_API_KEY
または GOOGLE_API_KEY
を設定すると、Gemini API ライブラリのいずれかを使用するときに、API キーがクライアントによって自動的に取得されます。これらの変数のうち 1 つのみを設定することをおすすめしますが、両方が設定されている場合は GOOGLE_API_KEY
が優先されます。
REST API またはブラウザの JavaScript を使用している場合は、API キーを明示的に指定する必要があります。
さまざまなオペレーティング システムで、API キーをローカルで環境変数 GEMINI_API_KEY
として設定する方法は次のとおりです。
Linux/macOS - Bash
Bash は、Linux と macOS の一般的なターミナル構成です。次のコマンドを実行して、構成ファイルがあるかどうかを確認できます。
~/.bashrc
「No such file or directory」という応答が返された場合は、次のコマンドを実行してこのファイルを作成して開くか、zsh
を使用する必要があります。
touch ~/.bashrc
open ~/.bashrc
次に、次のエクスポート コマンドを追加して API キーを設定する必要があります。
export GEMINI_API_KEY=<YOUR_API_KEY_HERE>
ファイルを保存したら、次のコマンドを実行して変更を適用します。
source ~/.bashrc
macOS - Zsh
Zsh は、Linux と macOS で一般的なターミナル構成です。次のコマンドを実行して、構成ファイルがあるかどうかを確認できます。
~/.zshrc
「No such file or directory」という応答が返された場合は、次のコマンドを実行してこのファイルを作成して開くか、bash
を使用する必要があります。
touch ~/.zshrc
open ~/.zshrc
次に、次のエクスポート コマンドを追加して API キーを設定する必要があります。
export GEMINI_API_KEY=<YOUR_API_KEY_HERE>
ファイルを保存したら、次のコマンドを実行して変更を適用します。
source ~/.zshrc
Windows
- 検索バーで「環境変数」を検索します。
- [システム設定] を変更します。この操作を行うことを確認するメッセージが表示されることがあります。
- [システム設定] ダイアログで、[環境変数] というラベルのボタンをクリックします。
- [ユーザー環境変数](現在のユーザーの場合)または [システム環境変数](マシンを使用するすべてのユーザーに適用される場合)で、[新規...] をクリックします。
- 変数名を
GEMINI_API_KEY
として指定します。Gemini API キーを変数値として指定します。 - [OK] をクリックして変更を適用します。
- 新しいターミナル セッション(cmd または Powershell)を開いて、新しい変数を確認します。
API キーを明示的に指定する
場合によっては、API キーを明示的に指定する必要があります。次に例を示します。
- 単純な API 呼び出しを行っており、API キーをハードコードすることを希望している。
- Gemini API ライブラリによる環境変数の自動検出に依存せずに、明示的な制御が必要な場合
- 環境変数がサポートされていない環境(ウェブなど)を使用しているか、REST 呼び出しを行っている。
以下に、API キーを明示的に指定する方法の例を示します。
Python
from google import genai
client = genai.Client(api_key="YOUR_API_KEY")
response = client.models.generate_content(
model="gemini-2.5-flash", contents="Explain how AI works in a few words"
)
print(response.text)
JavaScript
import { GoogleGenAI } from "@google/genai";
const ai = new GoogleGenAI({ apiKey: "YOUR_API_KEY" });
async function main() {
const response = await ai.models.generateContent({
model: "gemini-2.5-flash",
contents: "Explain how AI works in a few words",
});
console.log(response.text);
}
main();
Go
package main
import (
"context"
"fmt"
"log"
"google.golang.org/genai"
)
func main() {
ctx := context.Background()
client, err := genai.NewClient(ctx, &genai.ClientConfig{
APIKey: "YOUR_API_KEY",
Backend: genai.BackendGeminiAPI,
})
if err != nil {
log.Fatal(err)
}
result, err := client.Models.GenerateContent(
ctx,
"gemini-2.5-flash",
genai.Text("Explain how AI works in a few words"),
nil,
)
if err != nil {
log.Fatal(err)
}
fmt.Println(result.Text())
}
Java
package com.example;
import com.google.genai.Client;
import com.google.genai.types.GenerateContentResponse;
public class GenerateTextFromTextInput {
public static void main(String[] args) {
Client client = Client.builder().apiKey("YOUR_API_KEY").build();
GenerateContentResponse response =
client.models.generateContent(
"gemini-2.5-flash",
"Explain how AI works in a few words",
null);
System.out.println(response.text());
}
}
REST
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent" \
-H 'Content-Type: application/json' \
-H "x-goog-api-key: YOUR_API_KEY" \
-X POST \
-d '{
"contents": [
{
"parts": [
{
"text": "Explain how AI works in a few words"
}
]
}
]
}'
API キーを安全に保護する
Gemini API キーはパスワードと同様に扱います。漏洩した場合、他のユーザーがプロジェクトの割り当てを使用したり、料金が発生したり(課金が有効になっている場合)、ファイルなどの非公開データにアクセスしたりする可能性があります。
重大なセキュリティ ルール
API キーをソース コントロールに commit しないでください。API キーを Git などのバージョン管理システムにチェックインしないでください。
クライアント側で API キーを公開しないでください。本番環境のウェブアプリやモバイルアプリで API キーを直接使用しないでください。クライアントサイド コード(JavaScript/TypeScript ライブラリや REST 呼び出しなど)のキーは抽出できます。
ベスト プラクティス
API キーを使用してサーバーサイド呼び出しを行う: API キーを最も安全に使用する方法は、キーを機密情報として保持できるサーバーサイド アプリケーションから Gemini API を呼び出すことです。
クライアントサイド アクセスにエフェメラル トークンを使用する(Live API のみ): Live API へのクライアントサイドの直接アクセスには、エフェメラル トークンを使用できます。セキュリティ リスクが低く、本番環境での使用に適しています。詳しくは、エフェメラル トークンのガイドをご覧ください。
キーに制限を追加することを検討する: API キー制限を追加することで、キーの権限を制限できます。これにより、鍵が漏洩した場合の潜在的な被害を最小限に抑えることができます。
一般的なベスト プラクティスについては、こちらのサポート記事もご覧ください。