ChatGPT API 사용법 완전 가이드 2026 — Python 연동·비용 계산·실전 예제 10가지

ChatGPT API — ChatGPT 웹에서 복사·붙여넣기하던 시대는 끝났습니다. API를 직접 연결하면 자동화·대량 처리·나만의 AI 서비스 구축이 가능합니다. Python 5줄로 시작하는 방법을 완전 정리합니다.

ChatGPT API란 — 웹 vs API 차이

항목 ChatGPT 웹 OpenAI API
사용 방법 브라우저에서 대화 프로그램으로 직접 호출
자동화 불가 가능 (대량·반복 처리)
비용 월정액 ($20/month) 사용량 기반 (토큰당 과금)
커스터마이징 제한적 시스템 프롬프트, 파인튜닝
자체 서비스 통합 불가 가능 (챗봇, 앱, 웹서비스)

STEP 1. OpenAI API 키 발급

  1. platform.openai.com 접속 → 회원가입 또는 로그인
  2. 우측 상단 프로필 → API keys 클릭
  3. Create new secret key → 키 이름 입력 → Create secret key
  4. 생성된 키를 복사해 안전한 곳에 저장 (다시 볼 수 없음)
  5. 결제 수단 등록: Settings → Billing → Add payment method

보안 주의: API 키는 절대 GitHub에 올리거나 공개하지 마세요. 환경 변수(.env)에 저장하는 것이 기본입니다.

STEP 2. Python 환경 설정

# 패키지 설치
pip install openai python-dotenv

# .env 파일 생성 (프로젝트 루트에)
OPENAI_API_KEY=sk-your-api-key-here

STEP 3. 첫 번째 API 호출 — 5줄 코드

from openai import OpenAI
client = OpenAI()  # OPENAI_API_KEY 환경 변수 자동 읽기

response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": "안녕하세요! 간단히 소개해 주세요."}]
)
print(response.choices[0].message.content)

모델 선택 가이드 — gpt-4o vs gpt-4o-mini

모델 성능 속도 비용 (1M 토큰) 추천 용도
gpt-4o 최고 빠름 입력 $2.50 / 출력 $10 복잡한 분석·창작
gpt-4o-mini 우수 매우 빠름 입력 $0.15 / 출력 $0.60 대량 처리·챗봇
o1-mini 추론 특화 느림 입력 $3 / 출력 $12 수학·코딩·논리

대부분의 용도는 gpt-4o-mini로 충분합니다. gpt-4o 대비 성능은 85% 수준이지만 비용은 1/15입니다.

실전 예제 — 자주 쓰는 패턴 5가지

예제 1. 시스템 프롬프트로 역할 고정

response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[
        {"role": "system", "content": "당신은 친절한 한국어 번역 전문가입니다."},
        {"role": "user", "content": "Please translate: 'Hello, world!'"}
    ]
)

예제 2. 대화 히스토리 유지

history = [{"role": "system", "content": "당신은 유용한 어시스턴트입니다."}]

def chat(user_message):
    history.append({"role": "user", "content": user_message})
    response = client.chat.completions.create(model="gpt-4o-mini", messages=history)
    assistant_message = response.choices[0].message.content
    history.append({"role": "assistant", "content": assistant_message})
    return assistant_message

예제 3. 스트리밍 출력 (타이핑 효과)

stream = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": "긴 글을 써 주세요."}],
    stream=True
)
for chunk in stream:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)

예제 4. JSON 구조화 출력

response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": "사과 효능 3가지를 JSON으로: [{"효능": ..., "근거": ...}]"}],
    response_format={"type": "json_object"}
)
import json
data = json.loads(response.choices[0].message.content)

예제 5. 토큰 사용량 확인

response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": "안녕하세요"}]
)
usage = response.usage
print(f"입력: {usage.prompt_tokens}, 출력: {usage.completion_tokens}, 합계: {usage.total_tokens}")

비용 계산 방법

토큰은 대략 한글 기준 1.5~2자에 1토큰, 영어는 4글자에 1토큰입니다.

작업 대략 토큰 수 gpt-4o-mini 비용
짧은 질문 + 답변 200토큰 약 $0.0001 (0.14원)
블로그 글 1편 (2000자) 3000~4000토큰 약 $0.002 (2.8원)
하루 100개 처리 30만~40만 토큰 약 $0.2 (280원)

자주 발생하는 오류 해결

오류 원인 해결
AuthenticationError API 키 오류 키 재발급 또는 환경변수 확인
RateLimitError 분당 요청 초과 time.sleep(1) 후 재시도, 또는 티어 업그레이드
InsufficientQuotaError 크레딧 부족 Billing에서 결제 수단 추가·충전
BadRequestError 컨텍스트 길이 초과 메시지 히스토리 줄이기 또는 긴 모델 사용

코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다