Gemini API 키 사용

Gemini API를 사용하려면 API 키가 필요합니다. Google AI Studio에서 몇 번의 클릭만으로 무료로 키를 만들 수 있습니다.

API 키가 있으면 다음과 같은 옵션으로 Gemini API에 연결할 수 있습니다.

초기 테스트에서는 API 키를 하드 코딩할 수 있지만 이는 안전하지 않으므로 임시로만 사용해야 합니다. API 키를 하드 코딩하는 예는 API 키 명시적으로 제공 섹션에서 확인할 수 있습니다.

API 키를 환경 변수로 설정

환경 변수 GEMINI_API_KEY 또는 GOOGLE_API_KEY를 설정하면 Gemini API 라이브러리 중 하나를 사용할 때 클라이언트에서 API 키를 자동으로 선택합니다. 이러한 변수 중 하나만 설정하는 것이 좋지만 두 변수가 모두 설정된 경우 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. 변수를 만들고 export GEMINI_API_KEY=your_key_here를 추가합니다.
  4. 변경사항 적용

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)

자바스크립트

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

자바

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?key=$YOUR_API_KEY" \
  -H 'Content-Type: application/json' \
  -X POST \
  -d '{
    "contents": [
      {
        "parts": [
          {
            "text": "Explain how AI works in a few words"
          }
        ]
      }
    ]
  }'

API 키를 안전하게 보호하기

Gemini API 키를 비밀번호처럼 취급하세요. 보안이 침해되면 다른 사용자가 프로젝트의 할당량을 사용하고, 청구가 사용 설정된 경우 요금이 발생하며, 파일과 같은 비공개 데이터에 액세스할 수 있습니다.

중요 보안 규칙

  • 소스 제어에 API 키를 커밋하지 마세요. Git과 같은 버전 제어 시스템에 API 키를 체크인하지 마세요.

  • 클라이언트 측에서 API 키를 노출하지 마세요. 프로덕션의 웹 또는 모바일 앱에서 API 키를 직접 사용하지 마세요. 클라이언트 측 코드(JavaScript/TypeScript 라이브러리 및 REST 호출 포함)의 키는 추출될 수 있습니다.

권장사항

  • API 키로 서버 측 호출 사용 API 키를 사용하는 가장 안전한 방법은 키를 기밀로 유지할 수 있는 서버 측 애플리케이션에서 Gemini API를 호출하는 것입니다.

  • 클라이언트 측 액세스에 임시 토큰 사용 (Live API만 해당): Live API에 직접 클라이언트 측으로 액세스하려면 임시 토큰을 사용하면 됩니다. 보안 위험이 낮으며 프로덕션에 사용하기에 적합할 수 있습니다. 자세한 내용은 임시 토큰 가이드를 참고하세요.

  • 키에 제한사항 추가 고려: API 키 제한사항을 추가하여 키의 권한을 제한할 수 있습니다. 이렇게 하면 키가 유출될 경우 발생할 수 있는 잠재적 피해를 최소화할 수 있습니다.

일반적인 권장사항은 이 지원 도움말을 참조하세요.