API란 무엇인가요? Google Gemini API로 배우는 실전 예제
초보자도 터미널에서 바로 실행할 수 있는 Google Gemini API 예제를 통해 API의 개념, 요청·응답 구조, REST 방식, 환경 변수 설정 방법까지 한눈에 정리했습니다.
API는 ‘Application Programming Interface’의 약자로, 서로 다른 프로그램이 데이터를 주고받는 통로입니다. 사용자가 날씨를 확인하거나 AI 챗봇과 대화할 때마다 API가 보이지 않는 곳에서 작동하고 있습니다. 이번 글에서는 API의 개념과 구조를 설명하고, 실제로 Google Gemini API를 실행해보는 방법까지 단계별로 살펴보겠습니다.
1️⃣ API의 기본 개념
API는 두 시스템 간에 데이터를 주고받는 약속된 규칙입니다. 예를 들어 날씨 애플리케이션은 서버에 “서울의 날씨를 알려주세요”라는 요청(Request)을 보내고, 서버는 “현재 23도, 맑음”이라는 응답(Response)을 JSON 형태로 돌려줍니다.
응답: {"city":"Seoul","temperature":"23°C","weather":"Clear"}
이처럼 요청과 응답이 오가는 과정을 통해 서로 다른 프로그램이 협업할 수 있습니다.
2️⃣ REST API 구조
대부분의 웹 서비스는 REST API 구조를 사용합니다. 이는 HTTP 프로토콜을 활용하여 데이터를 주고받는 간단한 방식으로, 네 가지 주요 명령어를 사용합니다.
| 명령어 | 기능 | 예시 |
|---|---|---|
| GET | 데이터 조회 | /users |
| POST | 데이터 생성 | /users |
| PUT | 데이터 수정 | /users/1 |
| DELETE | 데이터 삭제 | /users/1 |
이 구조를 이해하면 대부분의 웹 API를 손쉽게 다룰 수 있습니다.
3️⃣ Google Gemini API 실습
이제 직접 API를 실행해보겠습니다. 아래 예제 코드는 Google의 인공지능 모델인 Gemini API를 활용하여 간단한 텍스트 요청을 보내고 응답을 출력하는 방식입니다.
import requests, json, os
from dotenv import load_dotenv
# ① .env 파일에서 API 키 불러오기
load_dotenv()
API_KEY = os.getenv("GOOGLE_API_KEY")
# ② 요청 URL 및 헤더 설정
url = "https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContent"
headers = {
"Content-Type": "application/json",
"x-goog-api-key": API_KEY
}
# ③ 요청 본문 구성 (질문 내용 입력)
data = {
"contents": [{"parts": [{"text": "API란 무엇인가요?"}]}]
}
# ④ API 호출 및 결과 출력
response = requests.post(url, headers=headers, data=json.dumps(data))
print(json.dumps(response.json(), indent=2, ensure_ascii=False))
✅ 실행 준비 단계
- Google AI Studio(https://aistudio.google.com)에서 로그인 후 API 키를 발급받습니다.
- Python을 설치합니다. (python.org)
- 터미널(명령 프롬프트)을 엽니다.
- 다음 명령으로 필수 라이브러리를 설치합니다.
📄 .env 파일 작성법
API 키는 절대 코드에 직접 입력하지 않아야 합니다. 대신 같은 폴더 내에 .env 파일을 생성하고, 아래와 같이 작성합니다.
이제 코드에서 os.getenv("GOOGLE_API_KEY")를 통해 키를 안전하게 불러올 수 있습니다.
▶️ Python 파일 실행 방법
코드를 gemini_test.py라는 이름으로 저장한 후, 터미널에서 다음 명령을 입력합니다.
잠시 후 터미널에 Gemini API의 응답(JSON 데이터)이 출력됩니다. “API란 무엇인가요?”라는 요청에 대한 인공지능의 설명을 직접 확인할 수 있습니다.
4️⃣ API 키 관리와 보안
API 키는 인증 수단이므로 반드시 안전하게 관리해야 합니다. 깃허브, 블로그 등에 키가 포함된 코드를 업로드할 경우 외부 사용자가 API를 무단으로 호출할 수 있습니다. 따라서 반드시 환경 변수 또는 비공개 설정을 이용하여 키를 보호해야 합니다.
5️⃣ 응용: 자동화와 서비스 확장
API를 이해하면 다양한 자동화 시스템을 구축할 수 있습니다. 예를 들어 Gemini API를 Notion API와 결합하면, AI가 자동으로 일일 노트를 요약하거나 블로그 게시글을 생성할 수 있습니다. 이러한 API 조합은 효율적이고 지능적인 서비스를 만드는 핵심 기술입니다.
핵심 요약
✨ 개념: API는 프로그램 간 데이터를 주고받는 규칙입니다.
🔁 구조: 요청(Request)과 응답(Response)으로 작동합니다.
🤖 실습: Google Gemini API를 Python으로 직접 실행할 수 있습니다.
🔐 보안: API 키는 .env 파일을 사용하여 안전하게 관리합니다.
🚀 확장: 다양한 API를 조합하면 자동화 서비스를 구축할 수 있습니다.
📚 자주 묻는 질문(FAQ)
Q1. Google Gemini API 키는 어디서 발급받을 수 있나요?
A1. Google AI Studio 로그인 후 ‘API Keys’ 탭에서 발급받을 수 있습니다.
Q2. Python이 설치되어 있지 않다면 어떻게 하나요?
A2. Python 공식 사이트에서 설치한 후, 터미널에 python --version을 입력하여 확인할 수 있습니다.
Q3. .env 파일이 인식되지 않습니다.
A3. pip install python-dotenv 명령으로 dotenv 모듈을 설치하고, 코드 상단에 load_dotenv()를 추가해야 합니다.
Q4. JSON 응답이 너무 길게 표시됩니다.
A4. json.dumps(result, indent=2) 옵션을 사용하면 보기 쉽게 정렬된 형태로 출력됩니다.
Q5. 무료로 사용할 수 있나요?
A5. Google Gemini는 무료 크레딧을 제공합니다. 일정 사용량을 초과하면 과금이 적용됩니다.
