ChatGPT를 웹사이트나 앱에 연동하고 싶은데 API가 무엇인지, 어디서 시작해야 할지 막막하다면, 이 가이드가 출발점이 된다. API 연동은 개발자만의 영역이 아니다. 파이썬 기초 코드를 읽을 수 있다면 누구든 30분 안에 첫 ChatGPT API 호출을 성공시킬 수 있다.
📌 ChatGPT API란?
OpenAI가 제공하는 프로그래밍 인터페이스. 직접 ChatGPT 웹사이트를 쓰는 것이 아니라 코드를 통해 GPT-4o, GPT-4o mini 등 모델을 직접 호출하는 방식이다. 자신의 앱·서비스·자동화에 AI를 통합할 때 사용한다. 사용량 기반 과금(월 구독 없음)으로 소규모 사용 시 매우 저렴하다.
OpenAI가 제공하는 프로그래밍 인터페이스. 직접 ChatGPT 웹사이트를 쓰는 것이 아니라 코드를 통해 GPT-4o, GPT-4o mini 등 모델을 직접 호출하는 방식이다. 자신의 앱·서비스·자동화에 AI를 통합할 때 사용한다. 사용량 기반 과금(월 구독 없음)으로 소규모 사용 시 매우 저렴하다.
Step 1: API 키 발급받기
- platform.openai.com 접속 → OpenAI 계정 로그인 (없으면 가입)
- 우측 상단 계정 → API Keys 선택
- + Create new secret key 클릭
- 키 이름 입력 → 생성된 키 즉시 복사 (다시 볼 수 없음)
- Billing 메뉴에서 결제 수단 등록 (신용카드 필수)
⚠️ 보안 주의
API 키는 GitHub, Notion, SNS 등 어디에도 공개하지 않는다. 노출 시 타인이 요금을 발생시킬 수 있다. 환경변수(.env 파일)에 저장하고 .gitignore에 추가하는 것이 원칙이다.
API 키는 GitHub, Notion, SNS 등 어디에도 공개하지 않는다. 노출 시 타인이 요금을 발생시킬 수 있다. 환경변수(.env 파일)에 저장하고 .gitignore에 추가하는 것이 원칙이다.
Step 2: 개발 환경 설정
# 터미널에서 실행 pip install openai python-dotenv # .env 파일 생성 OPENAI_API_KEY=sk-xxxxxxxxxxxxxx
Step 3: 첫 번째 API 호출
from openai import OpenAI
from dotenv import load_dotenv
import os
load_dotenv()
client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))
response = client.chat.completions.create(
model="gpt-4o-mini", # 저렴한 모델로 테스트
messages=[
{"role": "system", "content": "당신은 도움이 되는 AI 어시스턴트입니다."},
{"role": "user", "content": "안녕하세요! 간단하게 자기소개해줘."}
],
max_tokens=200
)
print(response.choices[0].message.content)
📊 API 요금 참고 (2025년 기준)
OpenAI 공식 요금표에 따르면, GPT-4o mini는 입력 토큰 1M당 $0.15, 출력 토큰 1M당 $0.60이다. 일반적인 대화 1회(약 500토큰)의 비용은 약 $0.0004 수준으로, 하루 100번 사용 시 월 약 $1.2의 비용이 발생한다. 소규모 개발·테스트에는 사실상 무료에 가깝다.
OpenAI 공식 요금표에 따르면, GPT-4o mini는 입력 토큰 1M당 $0.15, 출력 토큰 1M당 $0.60이다. 일반적인 대화 1회(약 500토큰)의 비용은 약 $0.0004 수준으로, 하루 100번 사용 시 월 약 $1.2의 비용이 발생한다. 소규모 개발·테스트에는 사실상 무료에 가깝다.
Step 4: 스트리밍 응답 구현
# 실시간 스트리밍 (ChatGPT처럼 글자가 하나씩 나오는 효과)
stream = client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": "파이썬의 장점 3가지 설명해줘"}],
stream=True
)
for chunk in stream:
if chunk.choices[0].delta.content is not None:
print(chunk.choices[0].delta.content, end="", flush=True)Step 5: 대화 히스토리 관리
# 멀티턴 대화 (이전 대화 기억)
conversation_history = [
{"role": "system", "content": "당신은 친절한 한국어 AI 어시스턴트입니다."}
]
def chat(user_input):
conversation_history.append({"role": "user", "content": user_input})
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=conversation_history
)
assistant_message = response.choices[0].message.content
conversation_history.append({"role": "assistant", "content": assistant_message})
return assistant_message
print(chat("안녕! 내 이름은 철수야"))
print(chat("내 이름이 뭐라고 했지?")) # 이전 대화 기억모델 선택 가이드
| 모델 | 추천 용도 | 비용 |
|---|---|---|
| gpt-4o-mini | 일반 챗봇, 텍스트 처리, 개발 테스트 | 매우 저렴 |
| gpt-4o | 복잡한 추론, 이미지 입력, 고품질 응답 | 중간 |
| o3-mini | 수학·코딩·복잡한 논리 문제 | 높음 |
ChatGPT로 파이썬 코드 작성하는 법을 먼저 익혀두면 API 연동 코드를 수정·확장하는 데 큰 도움이 된다.
자주 묻는 질문
Q. API 키 발급하면 바로 사용 가능한가요?
결제 수단 등록 후 사용 가능하다. 신규 계정은 무료 크레딧($5~$18)이 제공되는 경우도 있으나, 정책이 자주 변경되므로 공식 사이트에서 확인이 필요하다.
Q. API 요금을 제한할 수 있나요?
platform.openai.com의 Usage Limits에서 월 최대 요금 한도를 설정할 수 있다. 예상치 못한 과금을 방지하기 위해 초보자는 월 $10 이하로 제한 설정을 권장한다.
Q. ChatGPT Plus 구독과 API는 다른 건가요?
완전히 다른 결제 체계다. ChatGPT Plus($20/월)는 웹 인터페이스 사용권이고, API는 토큰 사용량에 따라 별도 과금된다. Plus 구독이 있어도 API는 별도 결제가 필요하다.
API 키를 발급받고 위의 기본 코드를 실행해보자. 첫 응답이 터미널에 나오는 순간, 자신만의 AI 앱을 만들 수 있다는 것이 실감된다.