Menggunakan kunci Gemini API

Untuk menggunakan Gemini API, Anda harus mengautentikasi permintaan Anda. Anda dapat melakukan autentikasi menggunakan kunci API standar atau otorisasi.

Membuat atau melihat Kunci Gemini API

Jenis kunci API: standar versus otorisasi

Kunci API memberikan akses ke Gemini API, tetapi karakteristik keamanannya berbeda. Gemini API beralih dari kunci API standar ke kunci otorisasi untuk meningkatkan keamanan:

  • Kunci API standar: Mengaitkan permintaan dengan project Google Cloud untuk tujuan penagihan dan kuota. Kunci standar tidak mengidentifikasi pemanggil, yang membatasi perincian izin dan kontrol akses yang dapat didukungnya.
  • Kunci otorisasi (auth): Terikat langsung ke akun layanan Google Cloud. Saat Anda menggunakan kunci otorisasi, permintaan Anda akan diproses di bawah identitas akun layanan terikat tersebut, sehingga memungkinkan kontrol akses terperinci. Kunci otorisasi dibatasi untuk Generative Language API (Gemini API) secara default dan memberikan penegakan kunci yang bocor dengan cepat yang dengan cepat menghentikan penggunaan kunci yang bocor yang terdeteksi oleh sistem kami.

Untuk memastikan penggunaan yang aman, Gemini API akan beralih dari kunci standar ke kunci autentikasi:

  • Default kunci autentikasi: Mulai 28 Mei 2026, semua kunci API baru yang dibuat di Google AI Studio akan otomatis dibuat sebagai kunci autentikasi.
  • Kunci tanpa batasan ditolak: Gemini API menolak permintaan dari kunci standar tanpa batasan. Kunci API standar yang menerapkan pembatasan eksplisit akan terus berfungsi. Pembatasan ini mencegah penggunaan kunci yang tidak sah yang mungkin dibagikan secara publik atau ditautkan ke layanan lain.

Mengelola kunci API di Google AI Studio

Anda dapat mengelola project dan kunci langsung di Google AI Studio.

Project Google Cloud

Setiap kunci Gemini API dikaitkan dengan project Google Cloud. Project Google Cloud mengelola penagihan, kolaborator, dan izin. Google AI Studio menyediakan antarmuka ringan untuk mengakses project ini.

  • Project default: Jika Anda adalah pengguna baru, Google AI Studio akan otomatis membuat project Google Cloud dan kunci API default setelah Anda menyetujui Persyaratan Layanan. Anda dapat mengganti nama project ini dengan membuka tampilan Projects di dasbor.
  • Project yang sudah ada: Jika Anda sudah memiliki akun Google Cloud, AI Studio tidak akan membuat project default. Sebagai gantinya, Anda harus mengimpor project yang ada.

Mengimpor project

Secara default, Google AI Studio tidak menampilkan semua project Google Cloud Anda. Anda harus mengimpor project yang ingin digunakan:

  1. Buka Google AI Studio.
  2. Buka Dashboard dari panel kiri, lalu pilih Projects.
  3. Klik tombol Import projects.
  4. Telusuri dan pilih project Google Cloud yang ingin Anda impor, lalu klik Import.
  5. Setelah diimpor, buka halaman kunci API di dasbor untuk membuat kunci di project tersebut.

Memecahkan masalah izin pembuatan kunci

Jika tombol Create API key tidak tersedia dan menampilkan pesan: "You do not have permission to create a key in this project", berarti Anda tidak memiliki izin IAM yang diperlukan.

Minta administrator project atau organisasi Google Cloud Anda untuk memberi Anda peran yang berisi izin berikut (seperti Project Editor):

  • resourcemanager.projects.get: Memungkinkan AI Studio memverifikasi project.
  • apikeys.keys.create: Mengizinkan pembuatan kunci.
  • serviceusage.services.enable: Memastikan Generative Language API diaktifkan.
  • iam.serviceAccounts.create: Diperlukan untuk membuat akun layanan tertaut.
  • iam.serviceAccountApiKeyBindings.create: Mengikat akun layanan ke kunci API.

Jika tidak bisa mendapatkan akses administratif, Anda dapat membuat project Google Cloud baru yang tidak terkait dengan organisasi untuk membuat kunci.

Kunci yang tidak diketahui di halaman Penggunaan

Halaman Usage di Google AI Studio mengelompokkan permintaan yang tidak dapat dicocokkan dengan kunci API bernama dalam project di bagian (unknown keys). Hal ini mencakup kunci yang dihapus lebih dari 30 hari yang lalu, kunci tanpa nama tampilan, dan permintaan yang dibuat dengan kredensial lain, seperti OAuth.

Membuat kunci di Konsol Google Cloud

Google AI Studio hanya menampilkan kunci yang tidak dibatasi atau dibatasi untuk Gemini API. Jika Anda tidak dapat menggunakan AI Studio, atau ingin mengelola semua kunci API di satu tempat, ikuti dokumentasi Cloud tentang cara membuat kunci API. Pembuatan kunci API Gemini memerlukan pengikatan ke akun layanan.

Menyiapkan lingkungan Anda

Setelah Anda memiliki kunci, konfigurasikan lingkungan Anda untuk menggunakannya dengan aman di aplikasi Anda.

Opsi 1: Menggunakan variabel lingkungan (direkomendasikan)

Tetapkan variabel lingkungan GEMINI_API_KEY atau GOOGLE_API_KEY. Library klien Gemini API otomatis mendeteksi dan menggunakan variabel ini. Jika keduanya ditetapkan, GOOGLE_API_KEY akan diprioritaskan.

Pilih sistem operasi Anda untuk menetapkan variabel:

Linux/macOS - Bash

Verifikasi apakah Anda memiliki file konfigurasi bash:

~/.bashrc

Jika belum, buat dan buka:

touch ~/.bashrc && open ~/.bashrc

Tambahkan perintah ekspor di akhir file:

export GEMINI_API_KEY=<YOUR_API_KEY_HERE>

Simpan file, lalu terapkan perubahan:

source ~/.bashrc

macOS - Zsh

Verifikasi apakah Anda memiliki file konfigurasi zsh:

~/.zshrc

Jika belum, buat dan buka:

touch ~/.zshrc && open ~/.zshrc

Tambahkan perintah ekspor:

export GEMINI_API_KEY=<YOUR_API_KEY_HERE>

Simpan file, lalu terapkan perubahan:

source ~/.zshrc

Windows

  1. Telusuri "Variabel Lingkungan" di kotak penelusuran Windows.
  2. Klik Variabel Lingkungan di dialog System Properties.
  3. Di bagian User variables atau System variables, klik New....
  4. Tetapkan nama variabel ke GEMINI_API_KEY dan nilai ke kunci API Anda.
  5. Klik Oke untuk menyimpan. Buka sesi terminal baru untuk memuat variabel.

Opsi 2: Memberikan kunci API secara eksplisit dalam kode

Anda dapat meneruskan kunci API secara eksplisit saat melakukan inisialisasi klien. Lakukan ini hanya jika Anda tidak dapat menggunakan variabel lingkungan.

Python

from google import genai

client = genai.Client(api_key="YOUR_API_KEY")

interaction = client.interactions.create(
    model="gemini-3.8-flash",
    input="Explain how AI works in a few words"
)
print(interaction.output_text)

JavaScript

import { GoogleGenAI } from "@google/genai";

const ai = new GoogleGenAI({ apiKey: "YOUR_API_KEY" });

async function main() {
  const interaction = await ai.interactions.create({
    model: "gemini-3.8-flash",
    input: "Explain how AI works in a few words",
  });
  console.log(interaction.output_text);
}

main();

Java

import com.google.genai.Client;
import com.google.genai.gaos.models.interactions.CreateModelInteraction;
import com.google.genai.gaos.models.interactions.Interaction;
import com.google.genai.gaos.models.interactions.InteractionsInput;
import com.google.genai.gaos.models.interactions.Model;
import com.google.genai.gaos.models.operations.CreateInteractionRequestBody;

Client client = Client.builder().apiKey("YOUR_API_KEY").build();

CreateModelInteraction params =
    CreateModelInteraction.builder()
        .model(Model.of("gemini-3.8-flash"))
        .input(InteractionsInput.of("Explain how AI works in a few sentences."))
        .build();

Interaction interaction =
    client.interactions.create(CreateInteractionRequestBody.of(params)).interaction().get();

System.out.println(interaction.outputText().orElse(""));

Go

package main

import (
    "context"
    "fmt"
    "log"

    "google.golang.org/genai"
    "google.golang.org/genai/interactions/models/interactions"
    "google.golang.org/genai/interactions/models/operations"
)

func main() {
    ctx := context.Background()
    client, err := genai.NewClient(ctx, &genai.ClientConfig{
        APIKey: "YOUR_API_KEY",
    })
    if err != nil {
        log.Fatal(err)
    }

    res, err := client.Interactions.Create(ctx, operations.CreateInteractionRequest{
        Body: operations.NewCreateInteractionRequestBody(interactions.CreateModelInteraction{
            Model: interactions.Model("gemini-3.8-flash"),
            Input: interactions.NewInteractionsInput("Explain how AI works in a few sentences."),
        }),
    })
    if err != nil {
        log.Fatal(err)
    }
    if res.Interaction.OutputText != nil {
        fmt.Println(*res.Interaction.OutputText)
    }
}

REST

curl "https://generativelanguage.googleapis.com/v1beta/interactions" \
  -H 'Content-Type: application/json' \
  -H "x-goog-api-key: YOUR_API_KEY" \
  -X POST \
  -d '{
    "model": "gemini-3.8-flash",
    "input": "Explain how AI works in a few words"
  }'

Pengelolaan keamanan dan secret

Perlakukan kunci Gemini API Anda seperti sandi. Jika disusupi, orang lain dapat menggunakan kuota project Anda, menimbulkan biaya penagihan yang tidak terduga, dan mengakses resource pribadi.

Aturan keamanan penting

  • Jaga kerahasiaan kunci: Jangan pernah memasukkan kunci API ke dalam sistem kontrol sumber seperti Git.
  • Jangan pernah mengekspos kunci di sisi klien dalam produksi: Jangan melakukan hardcode kunci API langsung di aplikasi web atau seluler. Kunci yang dikompilasi dalam kode sisi klien dapat diekstrak oleh pengguna. Untuk mengamankan aplikasi sisi klien, jalankan server proxy backend untuk melakukan panggilan API yang sebenarnya.

Praktik terbaik pengelolaan secret

  • Variabel lingkungan: Membaca kunci dari variabel lingkungan, bukan file konfigurasi.
  • Secret Manager: Untuk produksi, simpan kunci Anda di penyimpanan rahasia yang aman seperti Google Cloud Secret Manager.
  • Notifikasi penagihan: Siapkan notifikasi penagihan di Konsol Google Cloud untuk memberi tahu Anda jika penggunaan atau biaya melonjak.

Checklist respons kebocoran

Jika Anda menduga kunci API Anda telah bocor:

  1. Buat kunci baru: Buat kunci pengganti di Google AI Studio atau Konsol Cloud.
  2. Perbarui aplikasi Anda: Deploy kode Anda menggunakan kunci baru.
  3. Nonaktifkan atau hapus kunci yang telah disusupi: Nonaktifkan kunci yang bocor di Konsol Cloud setelah kunci baru diverifikasi. Jangan hapus kunci lama hingga kunci baru aktif sepenuhnya untuk menghindari periode nonaktif aplikasi.
  4. Mengaudit penggunaan: Periksa log penagihan dan penggunaan API di Konsol Google Cloud untuk mengidentifikasi aktivitas yang tidak sah.

Membatasi dan mengamankan kunci Anda

Menambahkan batasan ke kunci API akan meminimalkan potensi kerusakan jika kunci disusupi.

Menerapkan pembatasan asal permintaan

Pembatasan origin membatasi alamat IP, situs, atau aplikasi yang dapat menggunakan kunci Anda.

  1. Buka halaman kredensial konsol Google Cloud.
  2. Pilih project Anda, lalu klik nama kunci API yang ingin Anda batasi.
  3. Di bagian Application restrictions, pilih alamat IP (atau jenis pembatasan yang sesuai untuk lingkungan Anda).
  4. Tentukan alamat atau rentang IP yang diizinkan, lalu klik Simpan.

Mengamankan kunci API standar yang tidak dibatasi

Untuk terus menggunakan Gemini API, Anda harus mengamankan kunci yang tidak dibatasi.

Metode A: Membatasi kunci hanya untuk Gemini API (AI Studio)

Jika Anda hanya menggunakan kunci untuk Gemini API, amankan kunci tersebut langsung di AI Studio:

  1. Di halaman API Keys di Google AI Studio, temukan kunci yang ditandai dengan label Unrestricted.
  2. Arahkan kursor ke label dan klik Tambahkan batasan dalam dialog.
  3. Pilih Restrict to Gemini API only.
  4. Klik Restrict key untuk mengonfirmasi.

Metode B: Membatasi kunci untuk layanan lain (Konsol Google Cloud)

Jika kunci dibagikan ke Google API lain (tidak direkomendasikan), batasi kunci tersebut di Konsol Cloud. Catatan: Permintaan Gemini API yang menggunakan kunci ini akan gagal setelah pembatasan ini diterapkan.

  1. Buka halaman kredensial konsol Google Cloud.
  2. Pilih project dan kunci API.
  3. Di bagian API restrictions, gunakan drop-down Select API restrictions untuk memilih API yang ingin diakses oleh kunci ini. Jangan pilih Generative Language API.
  4. Klik Simpan. Buat kunci terpisah yang dibatasi di AI Studio untuk terus menggunakan Gemini API.

Kunci tidak aktif yang diblokir

Mulai 7 Mei 2026, Gemini API akan memblokir kunci API tanpa batasan yang telah tidak aktif selama jangka waktu yang lama. Kunci ini menampilkan tag Blocked di AI Studio. Anda harus membuat kunci baru atau menggunakan kunci yang dibatasi yang ada untuk melanjutkan.

Bermigrasi ke kunci autentikasi

Ikuti langkah-langkah berikut untuk membuat kunci API autentikasi baru dan mengupdate aplikasi Anda:

  1. Buka halaman Kunci API AI Studio.
  2. Periksa kolom Key Type untuk mengidentifikasi kunci yang tercantum sebagai Standard.
  3. Klik Create API key untuk membuat kunci API baru. Semua kunci baru yang dibuat di AI Studio otomatis dibuat sebagai kunci autentikasi.
  4. Salin kunci API autentikasi baru.
  5. Update kode aplikasi, variabel lingkungan, dan konfigurasi deployment apa pun untuk menggunakan kunci API autentikasi baru.
  6. Uji aplikasi Anda untuk mengonfirmasi bahwa aplikasi berfungsi dengan benar menggunakan kunci baru.
  7. Setelah diverifikasi, hapus atau cabut kunci traffic lama Anda untuk mencegah penyalahgunaan.

Batasan

Google AI Studio menerapkan batasan pengelolaan project dan kunci berikut:

  • Anda dapat membuat maksimum 10 project sekaligus dari halaman Projects di Google AI Studio.
  • Halaman kunci API dan Projects menampilkan maksimum 100 kunci dan 50 project.
  • Hanya kunci API yang tidak dibatasi atau dibatasi secara khusus untuk Generative Language API (Gemini API) yang ditampilkan.

Untuk pengelolaan project lanjutan atau untuk mengubah kunci dengan batasan lain, gunakan halaman kredensial Konsol Google Cloud.