Gemini API キーを使用する

Gemini API を使用するには、API キーが必要です。このページでは、Google AI Studio でキーを作成して管理する方法と、コードで使用するための環境を設定する方法について説明します。

Gemini API キーを作成または表示する

API キー

すべての 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 を使用するのに十分な権限を持つすべてのキーが表示されます。手順については、プロジェクトをインポートするをご覧ください。

デフォルトのプロジェクト

初めてご利用になる場合は、利用規約に同意すると、Google AI Studio によってデフォルトの Google Cloud プロジェクトと API キーが作成され、すぐに使用を開始できます。このプロジェクトの名前を変更するには、Google AI Studio の [ダッシュボード]で [プロジェクト]ビューに移動し、プロジェクトの横にあるその他アイコンをクリックして [プロジェクトの名前を変更]を選択します。既存のユーザーや、すでに Google Cloud アカウントをお持ちのユーザーには、デフォルトのプロジェクトは作成されません。

プロジェクトをインポート

各 Gemini API キーは、Google Cloud プロジェクトに関連付けられています。デフォルトでは、Google AI Studio にすべての Cloud プロジェクトが表示されるわけではありません。[プロジェクトをインポート] ダイアログで名前またはプロジェクト ID を検索して、必要なプロジェクトをインポートする必要があります。アクセスできるプロジェクトの完全なリストを表示するには、Cloud コンソールにアクセスしてください。

プロジェクトをまだインポートしていない場合は、次の手順で Google Cloud プロジェクトをインポートしてキーを作成します。

  1. Google AI Studio に移動します。
  2. 左側のサイドパネルから [ダッシュボード] を開きます。
  3. [プロジェクト] を選択します。
  4. [プロジェクト] ページで [プロジェクトをインポート] ボタンを選択します。
  5. インポートする Google Cloud プロジェクトを検索して選択し、[インポート] ボタンを選択します。

プロジェクトをインポートしたら、[ダッシュボード] メニューから [API キー] ページに移動し、インポートしたプロジェクトに API キーを作成します。

制限事項

Google AI Studio での API キーと Google Cloud プロジェクトの管理には、次の制限があります。

  • Google AI Studio の [プロジェクト] ページから一度に作成できるプロジェクトは最大 10 個です。
  • プロジェクトとキーの名前を変更できます。
  • [API キー] ページと [プロジェクト] ページには、最大 100 個のキーと 50 個のプロジェクトが表示されます。
  • 制限のない API キー、または Generative Language API に制限されている API キーのみが表示されます。

API キーの変更や 制限など、プロジェクトへの追加の管理アクセスについては、 Google Cloud コンソールの認証情報ページをご覧ください。 Cloud コンソールでプロジェクトを選択し、既存の API キーをクリックして、Generative Language API に制限できます。

API キーを環境変数として設定する

環境変数 GEMINI_API_KEY または GOOGLE_API_KEY を設定すると、 API キーは、 Gemini 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

  1. 検索バーで「環境変数」を検索します。
  2. [システム設定] を変更します。これを行うことを確認する必要がある場合があります。
  3. システム設定ダイアログで、[環境変数] というラベルのボタンをクリックします。
  4. [ユーザー変数](現在のユーザーの場合)または [システム変数](マシンを使用するすべてのユーザーに適用)で、[新規...] をクリックします。
  5. 変数名を GEMINI_API_KEY として指定します。Gemini API キーを変数値として指定します。
  6. [OK] をクリックして変更を適用します。
  7. 新しいターミナル セッション(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-3-flash-preview", 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-3-flash-preview",
    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-3-flash-preview",
        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-3-flash-preview",
            "Explain how AI works in a few words",
            null);

    System.out.println(response.text());
  }
}

REST

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3-flash-preview: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 キーはパスワードと同様に扱います。侵害されると、他のユーザーがプロジェクトの割り当てを使用したり、料金が発生したり(課金が有効になっている場合)、ファイルなどの非公開データにアクセスしたりする可能性があります。

重要なセキュリティ ルール

  • キーを機密情報として保持する: Gemini の API キーは、アプリケーションが依存するセンシティブ データにアクセスする可能性があります。

    • API キーをソース管理にコミットしないでください。Git などのバージョン管理システムに API キーをチェックインしないでください。

    • クライアントサイドで API キーを公開しないでください。本番環境のウェブアプリやモバイルアプリで API キーを直接使用しないでください。クライアントサイド コード(JavaScript/TypeScript ライブラリや REST 呼び出しなど)のキーは抽出できます。

  • アクセスを制限する: 可能であれば、API キーの使用を特定の IP アドレス、HTTP リファラー、Android/iOS アプリに制限します。

  • 使用を制限する: 各キーに必要な API のみ有効にします。

  • 定期的な監査を実施する: API キーを定期的に監査し、定期的にローテーションします 。

ベスト プラクティス

  • API キーでサーバーサイド呼び出しを使用する API キーを使用する最も安全な方法は、キーを機密情報として保持できるサーバーサイド アプリケーションから Gemini API を呼び出すことです。

  • クライアントサイド アクセスにエフェメラル トークンを使用する(Live API のみ): Live API にクライアントサイドから直接アクセスする場合は、エフェメラル トークンを使用できます。セキュリティ リスクが低く、本番環境での使用に適しています。詳細については、 エフェメラル トークンのガイドをご覧ください。

  • キーに制限を追加することを検討する: API キー制限を追加することで、キーの権限を制限できます。これにより、キーが漏洩した場合の潜在的な損害を最小限に抑えることができます。

一般的なベスト プラクティスについては、こちらの サポート記事もご覧ください。

API キーの作成に関するトラブルシューティング

Google AI Studio で、[API キーを作成] ボタンが使用できず、 「このプロジェクトでキーを作成する権限がありません」というメッセージが表示されることがあります。

これは、新しいキーを生成するために必要な権限がプロジェクト内にない場合に発生します。

  • resourcemanager.projects.get: AI Studio がプロジェクトの存在を確認できるようにします。
  • apikeys.keys.create: API キー自体の生成を許可します。
  • serviceusage.services.enable: Gemini API がプロジェクトでアクティブであることを確認するために必要です。

権限を修正するには、プロジェクト管理者に依頼して、上記の権限を持つロール(プロジェクト編集者や カスタムロールなど)を付与してもらいます。プロジェクトが組織に属している場合は、組織の 管理者に依頼してください。

プロジェクトに対する管理アクセス権がない場合は、組織に関連付けられていない新しいプロジェクトを作成してキーを生成できます。