Gemini API 키 사용

Gemini API를 사용하려면 API 키가 필요합니다. 이 페이지에서는 Google AI Studio에서 키를 만들고 관리하는 방법과 코드에서 키를 사용하도록 환경을 설정하는 방법을 설명합니다.

API 키

API 키는 Google Cloud API를 호출할 때 사용할 수 있는 암호화된 문자열입니다. Google AI Studio API 키 페이지에서 모든 Gemini 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에는 모든 클라우드 프로젝트가 표시되지 않습니다. 프로젝트 가져오기 대화상자에서 이름 또는 프로젝트 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개의 키와 100개의 프로젝트가 표시됩니다.
  • 제한이 없거나 생성형 언어 API로 제한된 API 키만 표시됩니다.

프로젝트에 대한 추가 관리 액세스 권한을 부여하려면 Google Cloud 콘솔을 방문하세요.

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. 시스템 설정 대화상자에서 환경 변수라는 버튼을 클릭합니다.
  4. 사용자 변수 (현재 사용자용) 또는 시스템 변수 (머신을 사용하는 모든 사용자에게 적용)에서 새로 만들기...를 클릭합니다.
  5. 변수 이름을 GEMINI_API_KEY로 지정합니다. Gemini API 키를 변수 값으로 지정합니다.
  6. 확인을 클릭하여 변경사항을 적용합니다.
  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-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" \
  -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 키가 유출되면 다른 사용자가 프로젝트의 할당량을 사용하고, 청구가 사용 설정된 경우 요금이 발생하며, 파일과 같은 비공개 데이터에 액세스할 수 있습니다.

중요 보안 규칙

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

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

권장사항

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

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

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

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