Gemini API anahtarlarını kullanma

Gemini API'yi kullanmak için isteklerinizin kimliğini doğrulamanız gerekir. Standart veya yetkilendirme API anahtarı kullanarak kimliğinizi doğrulayabilirsiniz.

Gemini API anahtarı oluşturma veya görüntüleme

API anahtarı türleri: standart ve yetkilendirme

API anahtarları, Gemini API'ye erişim sağlar ancak güvenlik özellikleri farklıdır. Gemini API, güvenliği artırmak için standart API anahtarlarından yetkilendirme anahtarlarına geçiş yapıyor:

  • Standart API anahtarları: Faturalandırma ve kota amacıyla istekleri bir Google Cloud projesiyle ilişkilendirin. Standart anahtarlar arayanı tanımlamadığından destekleyebilecekleri izinlerin ve erişim denetiminin ayrıntı düzeyi sınırlıdır.
  • Yetkilendirme (auth) anahtarları: Doğrudan bir Google Cloud hizmet hesabına bağlıdır. Yetkilendirme anahtarı kullandığınızda istekleriniz, bu bağlı hizmet hesabının kimliği altında işlenir ve ayrıntılı erişim kontrolü sağlanır. Yetkilendirme anahtarları varsayılan olarak Generative Language API (Gemini API) ile sınırlıdır ve sistemlerimiz tarafından algılanan sızdırılmış anahtarların kullanımını hızlı bir şekilde durduran, hızlı etkili sızdırılmış anahtar zorunluluğu sağlar.

Gemini API, güvenli kullanımı sağlamak için Standart anahtarlardan Kimlik Doğrulama anahtarlarına geçiş yapacak:

  • Varsayılan kimlik doğrulama anahtarları: Google AI Studio'da oluşturulan tüm yeni API anahtarları otomatik olarak kimlik doğrulama anahtarı olarak oluşturulur.
  • Kısıtlanmamış anahtarlar reddedildi: Gemini API, kısıtlanmamış standart anahtarlardan gelen istekleri reddeder. Açık kısıtlamalar uygulanmış standart API anahtarları çalışmaya devam eder. Bu kısıtlama, herkese açık olarak paylaşılan veya diğer hizmetlere bağlanan anahtarların yetkisiz kullanımını engeller.
  • Eylül 2026'da: Gemini API, standart anahtarlardan gelen istekleri reddedecek. Hizmet kesintisi yaşamamak için bu tarihten önce kimlik doğrulama anahtarlarına geçiş yapmanız gerekir. Eylül 2026'dan önce kimlik doğrulama anahtarlarına geçiş yapmayı unutmayın.

Google AI Studio'da API anahtarlarını yönetme

Projelerinizi ve anahtarlarınızı doğrudan Google AI Studio'da yönetebilirsiniz.

Google Cloud projeleri

Her Gemini API anahtarı bir Google Cloud projesiyle ilişkilendirilir. Google Cloud projeleri faturalandırmayı, ortak çalışanları ve izinleri yönetir. Google AI Studio, bu projelere erişmek için basit bir arayüz sunar.

  • Varsayılan proje: Yeni bir kullanıcıysanız Google AI Studio, Hizmet Şartları'nı kabul ettikten sonra otomatik olarak varsayılan bir Google Cloud projesi ve API anahtarı oluşturur. Kontrol panelinizdeki Projeler görünümüne giderek bu projeyi yeniden adlandırabilirsiniz.
  • Mevcut projeler: Google Cloud hesabınız varsa AI Studio varsayılan bir proje oluşturmaz. Bunun yerine mevcut projelerinizi içe aktarmanız gerekir.

Projeleri içe aktarma

Google AI Studio, varsayılan olarak Google Cloud projelerinizin tümünü göstermez. Kullanmak istediğiniz projeleri içe aktarmanız gerekir:

  1. Google AI Studio'ya gidin.
  2. Soldaki panelden Kontrol Paneli'ni açın ve Projeler'i seçin.
  3. Projeleri içe aktar düğmesini tıklayın.
  4. İçe aktarmak istediğiniz Google Cloud projesini arayıp seçin ve İçe aktar'ı tıklayın.
  5. İçe aktarma işlemi tamamlandıktan sonra kontrol panelindeki API Anahtarları sayfasına giderek ilgili projede anahtar oluşturun.

Anahtar oluşturma izinleriyle ilgili sorunları giderme

API anahtarı oluştur düğmesi kullanılamıyorsa ve şu mesajı gösteriyorsa: "Bu projede anahtar oluşturma izniniz yok", gerekli IAM izinlerine sahip değilsinizdir.

Google Cloud projenizin veya kuruluş yöneticinizin size aşağıdaki izinleri içeren bir rol (ör. Proje Düzenleyicisi) vermesini isteyin:

  • resourcemanager.projects.get: AI Studio'nun projeyi doğrulamasını sağlar.
  • apikeys.keys.create: Anahtar oluşturmaya izin verir.
  • serviceusage.services.enable: Generative Language API'nin etkinleştirilmesini sağlar.
  • iam.serviceAccounts.create: Bağlı hizmet hesabını oluşturmak için gereklidir.
  • iam.serviceAccountApiKeyBindings.create: Hizmet hesabını API anahtarına bağlar.

Yönetim erişimi alamıyorsanız anahtarlarınızı oluşturmak için bir kuruluşla ilişkilendirilmemiş yeni bir Google Cloud projesi oluşturabilirsiniz.

Ortamınızı kurma

Anahtarınız olduğunda ortamınızı, uygulamalarınızda güvenli bir şekilde kullanacak şekilde yapılandırın.

1. seçenek: Ortam değişkenlerini kullanın (önerilir)

GEMINI_API_KEY veya GOOGLE_API_KEY ortam değişkenini ayarlayın. Gemini API istemci kitaplıkları bu değişkenleri otomatik olarak algılar ve kullanır. İkisi de ayarlanırsa GOOGLE_API_KEY öncelikli olur.

Değişkeni ayarlamak için işletim sisteminizi seçin:

Linux/macOS - Bash

Bir bash yapılandırma dosyanızın olup olmadığını doğrulayın:

~/.bashrc

Yoksa bir tane oluşturup açın:

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

Dosyanın sonuna dışa aktarma komutunu ekleyin:

export GEMINI_API_KEY=<YOUR_API_KEY_HERE>

Dosyayı kaydedin ve değişiklikleri uygulayın:

source ~/.bashrc

macOS - Zsh

zsh yapılandırma dosyanızın olup olmadığını doğrulayın:

~/.zshrc

Yoksa bir tane oluşturup açın:

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

Dışa aktarma komutunu ekleyin:

export GEMINI_API_KEY=<YOUR_API_KEY_HERE>

Dosyayı kaydedin ve değişiklikleri uygulayın:

source ~/.zshrc

Windows

  1. Windows arama çubuğunda "Environment Variables" (Ortam Değişkenleri) ifadesini arayın.
  2. Sistem Özellikleri iletişim kutusunda Ortam Değişkenleri'ni tıklayın.
  3. Kullanıcı değişkenleri veya Sistem değişkenleri altında Yeni... seçeneğini tıklayın.
  4. Değişken adını GEMINI_API_KEY, değeri ise API anahtarınız olarak ayarlayın.
  5. Kaydetmek için Tamam'ı tıklayın. Değişkeni yüklemek için yeni bir terminal oturumu açın.

2. seçenek: API anahtarını kodda açıkça belirtin

İstemciyi başlatırken API anahtarını açıkça iletebilirsiniz. Bu işlemi yalnızca ortam değişkenlerini kullanamıyorsanız yapın.

Python

from google import genai

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

interaction = client.interactions.create(
    model="gemini-3.6-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.6-flash",
    input: "Explain how AI works in a few words",
  });
  console.log(interaction.output_text);
}

main();

Go

package main

import (
    "context"
    "fmt"
    "log"
    "google.golang.org/genai"
    "google.golang.org/genai/interactions"
)

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)
    }

    interaction, err := client.Interactions.NewModel(ctx, interactions.NewModelParams{
        Model: "gemini-3.6-flash",
        Input: interactions.Input{
            String: "Explain how AI works in a few words",
        },
    })
    if err != nil {
        log.Fatal(err)
    }

    for _, step := range interaction.Steps {
        if step.ModelOutput != nil {
            for _, content := range step.ModelOutput.Content {
                if content.Text != nil {
                    fmt.Println(content.Text.Text)
                }
            }
        }
    }
}

Java

package com.example;

import com.google.genai.Client;
import com.google.genai.interactions.models.interactions.CreateModelInteractionParams;
import com.google.genai.interactions.models.interactions.Interaction;

public class GenerateTextFromTextInput {