AI API 입문 가이드 - ChatGPT Claude Gemini API 키 발급부터 첫 호출까지
AI API, 왜 직접 사용해야 할까?
ChatGPT 웹사이트에서 대화하는 것과 API를 직접 호출하는 것은 완전히 다른 경험입니다. 웹 인터페이스는 편리하지만, API를 사용하면 자동화, 대량 처리, 커스텀 애플리케이션 개발이 가능해집니다. 고객 문의 자동 응답 시스템, 문서 요약 파이프라인, AI 기반 콘텐츠 생성 도구 등 실무에서 AI를 진짜로 활용하려면 API는 필수입니다.
이 가이드는 프로그래밍 경험이 조금이라도 있는 분들을 대상으로 합니다. Python 기초 문법을 알고 있다면 충분합니다. 가이드를 끝까지 따라하면 OpenAI(ChatGPT), Anthropic(Claude), Google(Gemini) 세 가지 주요 AI API의 키를 발급받고, 각각 첫 번째 API 호출을 성공적으로 완료할 수 있습니다.
예상 소요 시간은 약 30~60분이며, 난이도는 초급입니다. 각 API 플랫폼의 무료 크레딧을 활용하면 비용 부담 없이 시작할 수 있습니다. 2026년 3월 기준 OpenAI는 신규 가입 시 $5 크레딧, Anthropic은 $5 크레딧, Google은 Gemini API 무료 티어를 제공합니다.
사전 준비 사항
- Python 3.8 이상 설치 (터미널에서
python —version으로 확인) - pip 패키지 매니저 (Python 설치 시 기본 포함)
- 텍스트 에디터 — VS Code, PyCharm 등 아무거나
- 신용카드 또는 체크카드 — OpenAI와 Anthropic 가입 시 결제 수단 등록 필요 (무료 크레딧 범위 내 사용 시 실제 과금 없음)
- Google 계정 — Gemini API용
- 인터넷 연결
비용 범위: 이 가이드의 예제를 모두 실행해도 $0.01 미만입니다. 각 플랫폼의 무료 크레딧으로 충분히 커버됩니다.
단계별 가이드: API 키 발급부터 첫 호출까지
Step 1: Python 가상환경 설정
프로젝트별로 패키지를 격리하기 위해 가상환경을 먼저 만듭니다. 터미널을 열고 다음을 실행하세요.
mkdir ai-api-tutorial
cd ai-api-tutorial
python -m venv venv
Windows
venv\Scripts\activate
macOS/Linux
source venv/bin/activate
가상환경이 활성화되면 프롬프트 앞에 (venv)가 표시됩니다. 이 상태에서 필요한 라이브러리를 설치합니다.
pip install openai anthropic google-genai
**팁:** requirements.txt 파일을 만들어 버전을 고정해두면 나중에 재현하기 쉽습니다.
Step 2: OpenAI API 키 발급 (ChatGPT)
- platform.openai.com에 접속하여 회원가입 또는 로그인합니다.
- 우측 상단 프로필 아이콘 → “API keys” 메뉴로 이동합니다.
- “Create new secret key” 버튼을 클릭합니다.
- 키 이름을 입력합니다 (예:
tutorial-key). - 생성된 키를 즉시 복사하여 안전한 곳에 저장합니다. 이 키는 다시 확인할 수 없습니다.
주의: API 키는 비밀번호와 같습니다. GitHub에 올리거나, 코드에 직접 하드코딩하지 마세요. 환경변수를 사용하는 것이 표준 방법입니다.
# .env 파일 생성 (프로젝트 루트)
OPENAI_API_KEY=sk-proj-여기에_키_붙여넣기
Step 3: OpenAI API 첫 호출
test_openai.py 파일을 만들고 다음 코드를 작성합니다.
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ.get(“OPENAI_API_KEY”)
)
response = client.chat.completions.create(
model=“gpt-4o-mini”,
messages=[
{“role”: “system”, “content”: “당신은 친절한 한국어 도우미입니다.”},
{“role”: “user”, “content”: “파이썬에서 리스트와 튜플의 차이를 간단히 설명해주세요.”}
],
max_tokens=500
)
print(response.choices[0].message.content)
print(f”\n사용 토큰: {response.usage.total_tokens}”)
실행 방법:
# Windows
set OPENAI_API_KEY=sk-proj-여기에_키
python test_openai.py
macOS/Linux
export OPENAI_API_KEY=sk-proj-여기에_키
python test_openai.py
정상적으로 실행되면 GPT-4o-mini가 리스트와 튜플의 차이를 한국어로 설명하는 응답이 출력됩니다. 사용 토큰 정보도 함께 확인하세요 — 이것이 과금의 기준입니다.
비용 참고: GPT-4o-mini는 입력 100만 토큰당 $0.15, 출력 100만 토큰당 $0.60입니다. 위 예제 한 번 실행에 약 $0.0003 정도 소요됩니다.
Step 4: Anthropic API 키 발급 (Claude)
- console.anthropic.com에 접속하여 가입합니다.
- 좌측 메뉴에서 **“API Keys”**를 클릭합니다.
- **“Create Key”**를 클릭하고 이름을 입력합니다.
- 생성된 키(
sk-ant-로 시작)를 복사하여 저장합니다. - Settings → Billing에서 결제 수단을 등록합니다 (무료 크레딧 사용 가능).
팁: Anthropic 콘솔에서는 Workspace 기능으로 프로젝트별 키를 분리 관리할 수 있습니다. 프로덕션과 개발 환경의 키를 분리하는 것을 추천합니다.
Step 5: Claude API 첫 호출
test_claude.py 파일을 만듭니다.
import os
import anthropic
client = anthropic.Anthropic(
api_key=os.environ.get(“ANTHROPIC_API_KEY”)
)
message = client.messages.create(
model=“claude-sonnet-4-20250514”,
max_tokens=500,
messages=[
{“role”: “user”, “content”: “JSON과 YAML의 차이점을 비교 표로 만들어주세요.”}
]
)
print(message.content[0].text)
print(f”\n입력 토큰: {message.usage.input_tokens}”)
print(f”출력 토큰: {message.usage.output_tokens}”)
실행:
export ANTHROPIC_API_KEY=sk-ant-여기에_키
python test_claude.py
Claude는 OpenAI와 약간 다른 응답 구조를 가집니다. message.content가 리스트 형태이고, 각 요소에 type과 text가 있습니다. Claude의 응답 구조에는 system 메시지를 별도 파라미터로 전달하는 점도 OpenAI와 다릅니다.
비용 참고: Claude Sonnet 4는 입력 100만 토큰당 $3, 출력 100만 토큰당 $15입니다. 위 예제 실행 비용은 약 $0.005 이하입니다.
Step 6: Google AI Studio에서 Gemini API 키 발급
- aistudio.google.com에 Google 계정으로 로그인합니다.
- 좌측 메뉴에서 “API keys” 또는 상단의 **“Get API key”**를 클릭합니다.
- **“Create API key”**를 클릭합니다.
- 기존 Google Cloud 프로젝트를 선택하거나 새 프로젝트를 생성합니다.
- 생성된 키를 복사합니다.
장점: Gemini API는 무료 티어가 넉넉합니다. 분당 15 요청, 하루 1,500 요청까지 무료로 사용할 수 있어서 개인 프로젝트나 학습용으로 매우 적합합니다.
Step 7: Gemini API 첫 호출
test_gemini.py 파일을 만듭니다.
import os
from google import genai
client = genai.Client(
api_key=os.environ.get(“GEMINI_API_KEY”)
)
response = client.models.generate_content(
model=“gemini-2.0-flash”,
contents=“REST API와 GraphQL의 장단점을 비교해주세요.”
)
print(response.text)
실행:
export GEMINI_API_KEY=여기에_키
python test_gemini.py
Gemini API는 세 가지 중 가장 간단한 인터페이스를 제공합니다. contents에 문자열을 바로 전달할 수 있어서 빠르게 프로토타이핑하기 좋습니다.
Step 8: 환경변수 통합 관리
세 개의 API 키를 매번 터미널에 입력하는 것은 번거롭습니다. python-dotenv 패키지를 사용해 .env 파일로 관리하세요.
pip install python-dotenv
프로젝트 루트에 .env 파일을 만듭니다:
OPENAI_API_KEY=sk-proj-…
ANTHROPIC_API_KEY=sk-ant-…
GEMINI_API_KEY=AI…
코드에서 사용:
from dotenv import load_dotenv
load_dotenv() # .env 파일의 변수를 환경변수로 로드
**반드시** .gitignore에 .env를 추가하세요:
echo “.env” >> .gitignore
Step 9: 세 API를 비교하는 통합 스크립트
같은 질문을 세 API에 동시에 보내서 응답을 비교해봅시다.
import os
import time
from dotenv import load_dotenv
from openai import OpenAI
import anthropic
from google import genai
load_dotenv()
question = “Python의 async/await를 초보자에게 설명해주세요.”
OpenAI
start = time.time()
oai = OpenAI(api_key=os.environ.get(“OPENAI_API_KEY”))
oai_resp = oai.chat.completions.create(
model=“gpt-4o-mini”,
messages=[{“role”: “user”, “content”: question}],
max_tokens=300
)
oai_time = time.time() - start
Anthropic
start = time.time()
ant = anthropic.Anthropic(api_key=os.environ.get(“ANTHROPIC_API_KEY”))
ant_resp = ant.messages.create(
model=“claude-sonnet-4-20250514”,
max_tokens=300,
messages=[{“role”: “user”, “content”: question}]
)
ant_time = time.time() - start
Gemini
start = time.time()
gem = genai.Client(api_key=os.environ.get(“GEMINI_API_KEY”))
gem_resp = gem.models.generate_content(
model=“gemini-2.0-flash”,
contents=question
)
gem_time = time.time() - start
print(”=” * 60)
print(f”[OpenAI GPT-4o-mini] ({oai_time:.2f}s)”)
print(oai_resp.choices[0].message.content[:200])
print(“\n” + ”=” * 60)
print(f”[Anthropic Claude Sonnet] ({ant_time:.2f}s)”)
print(ant_resp.content[0].text[:200])
print(“\n” + ”=” * 60)
print(f”[Google Gemini Flash] ({gem_time:.2f}s)”)
print(gem_resp.text[:200])
이 스크립트를 실행하면 동일한 질문에 대한 세 AI의 응답 스타일, 속도, 분량 차이를 직접 체감할 수 있습니다.
세 API 핵심 비교
| 항목 | OpenAI (ChatGPT) | Anthropic (Claude) | Google (Gemini) |
|---|---|---|---|
| 가입 URL | platform.openai.com | console.anthropic.com | aistudio.google.com |
| 키 접두사 | sk-proj- | sk-ant- | AI... |
| 무료 크레딧 | $5 (신규) | $5 (신규) | 무료 티어 상시 |
| 경량 모델 | GPT-4o-mini | Claude Haiku 4.5 | Gemini 2.0 Flash |
| 고성능 모델 | GPT-4o / o3 | Claude Opus 4.6 | Gemini 2.5 Pro |
| Python SDK | openai | anthropic | google-genai |
| Rate Limit (무료) | 분당 3 요청 | 분당 5 요청 | 분당 15 요청 |
| 최대 컨텍스트 | 128K 토큰 | 200K 토큰 | 1M+ 토큰 |
| 강점 | 생태계, 플러그인 | 안전성, 긴 문맥 | 무료 티어, 멀티모달 |
흔한 실수와 해결법
1. API 키를 코드에 직접 하드코딩
가장 위험한 실수입니다. api_key=“sk-proj-abc123”처럼 코드에 키를 직접 적으면, Git에 커밋하는 순간 키가 노출됩니다. OpenAI는 GitHub에 푸시된 키를 자동으로 감지하여 즉시 비활성화합니다.
대신 이렇게 하세요: python-dotenv와 .env 파일을 사용하고, .gitignore에 반드시 .env를 추가하세요.
2. 모델명 오타 또는 접근 권한 없는 모델 호출
model=“gpt-4”를 사용했는데 404 에러가 나는 경우가 흔합니다. 무료 크레딧 계정은 일부 모델에 접근이 제한될 수 있습니다.
대신 이렇게 하세요: 먼저 경량 모델(gpt-4o-mini, claude-haiku-4-5-20251001, gemini-2.0-flash)로 시작하세요. 비용도 저렴하고 접근 제한도 적습니다.
3. max_tokens 설정 누락
max_tokens를 설정하지 않으면 모델이 불필요하게 긴 응답을 생성하여 예상보다 많은 비용이 발생할 수 있습니다. 특히 반복 호출하는 스크립트에서 위험합니다.
대신 이렇게 하세요: 용도에 맞게 max_tokens를 항상 명시하세요. 간단한 답변은 200500, 긴 글은 10002000 정도가 적당합니다.
4. 에러 처리 없이 API 호출
네트워크 문제, 서버 과부하(429 에러), 잘못된 요청(400 에러) 등 다양한 이유로 API 호출이 실패할 수 있습니다. try-except 없이 호출하면 프로그램이 그냥 멈춥니다.
대신 이렇게 하세요: 기본적인 에러 처리를 추가하세요.
try:
response = client.chat.completions.create(…)
except openai.RateLimitError:
print(“요청 한도 초과. 잠시 후 다시 시도하세요.”)
except openai.APIError as e:
print(f”API 에러: {e}“)
5. 과금 한도 미설정
테스트 중 무한 루프에 빠지거나 대량 요청을 실수로 보내면 예상치 못한 비용이 발생합니다.
대신 이렇게 하세요: 각 플랫폼 대시보드에서 월별 사용 한도(Usage Limit)를 반드시 설정하세요. OpenAI는 Settings → Limits, Anthropic은 Settings → Spend Limits에서 설정 가능합니다.
자주 묻는 질문 (FAQ)
Q1: API 키가 유출되면 어떻게 하나요?
즉시 해당 플랫폼 대시보드에서 키를 비활성화(revoke)하고 새 키를 생성하세요. OpenAI는 platform.openai.com → API keys에서, Anthropic은 console.anthropic.com → API Keys에서 삭제할 수 있습니다. GitHub에 키가 커밋된 경우, 단순히 새 커밋으로 삭제해도 Git 히스토리에 남아있으므로 키 자체를 반드시 재발급 받아야 합니다.
Q2: 무료 크레딧이 소진되면 비용은 얼마나 드나요?
경량 모델 기준으로 일반적인 개인 프로젝트에서 월 $15 수준입니다. GPT-4o-mini는 100만 토큰당 $0.15(입력)/$0.60(출력), Gemini Flash는 무료 티어 내에서 충분히 활용 가능합니다. 고성능 모델(GPT-4o, Claude Opus, Gemini Pro)은 1030배 비싸므로 개발/테스트에는 경량 모델을 사용하는 것을 추천합니다.
Q3: 어떤 API를 선택해야 하나요?
용도에 따라 다릅니다. 넓은 생태계와 풍부한 자료가 필요하면 OpenAI, 긴 문서 처리나 코드 분석이 주목적이면 Anthropic Claude, 비용 최소화와 멀티모달(이미지+텍스트)이 필요하면 Google Gemini가 적합합니다. 실무에서는 여러 API를 용도별로 조합하여 사용하는 것이 일반적입니다.
Q4: API 호출 시 한국어를 잘 지원하나요?
세 플랫폼 모두 한국어를 지원합니다. 다만 영어 대비 토큰 효율이 낮아서 같은 내용이라도 한국어가 23배 더 많은 토큰을 소비합니다. 예를 들어 영어 “Hello”는 1토큰이지만, 한국어 “안녕하세요”는 35토큰입니다. 비용 최적화가 중요하다면 프롬프트를 영어로 작성하고 응답만 한국어로 받는 방법도 있습니다.
Q5: Rate Limit 에러(429)가 계속 나는데 어떻게 하나요?
무료 크레딧 계정은 분당 요청 수 제한이 있습니다. 해결 방법은 세 가지입니다: 첫째, 요청 사이에 time.sleep()으로 간격을 두세요. 둘째, 결제 수단을 등록하고 유료 플랜으로 전환하면 제한이 크게 완화됩니다. 셋째, 지수 백오프(exponential backoff) 패턴을 구현하여 실패 시 대기 시간을 점진적으로 늘리세요.
요약 및 다음 단계
핵심 요약
- OpenAI, Anthropic, Google 세 플랫폼에서 API 키를 발급받아 환경변수로 안전하게 관리하세요
- 각 플랫폼의 Python SDK(
openai,anthropic,google-genai)를 사용하면 몇 줄의 코드로 AI를 호출할 수 있습니다 - 경량 모델(GPT-4o-mini, Claude Haiku, Gemini Flash)부터 시작하면 비용 부담 없이 실습 가능합니다
- API 키 보안, 과금 한도 설정, 에러 처리는 프로덕션 전에 반드시 챙겨야 할 사항입니다
- 세 API의 응답 스타일과 성능이 다르므로 용도에 맞게 선택하거나 조합하세요
다음으로 할 수 있는 것
- 스트리밍 응답 구현: 실시간으로 토큰이 생성되는 것을 확인하는 스트리밍 방식 적용
- 프롬프트 엔지니어링: system 메시지와 few-shot 예제를 활용한 응답 품질 향상
- RAG 파이프라인: 임베딩 API를 활용한 문서 검색 + AI 응답 시스템 구축
- Function Calling / Tool Use: AI가 외부 도구를 호출하는 에이전트 시스템 구축
- 비용 모니터링: 각 플랫폼 대시보드에서 사용량 추적 및 알림 설정