ChatGPT를 서비스나 스크립트에 직접 연결하고 싶다면 API 키 발급이 첫 번째 관문이다. API(Application Programming Interface, 프로그램끼리 데이터를 주고받는 통로)를 통하면 Python 코드 몇 줄만으로 ChatGPT 응답을 내 앱에 불러올 수 있다. 이 글은 2026년 6월 기준 실제 화면 흐름대로 계정 생성 → API 키 발급 → 크레딧 충전 → 첫 호출까지 순서를 정리한다.
OpenAI 계정 만들기
API를 쓰려면 OpenAI 계정이 필요하다. ChatGPT 웹사이트(chat.openai.com) 계정이 있어도 API 전용 개발자 플랫폼(platform.openai.com)에 별도로 로그인해야 한다. 두 서비스는 계정을 공유하지만 잔액(크레딧)은 따로 관리된다.
가입 절차는 간단하다. platform.openai.com에 접속해 이메일 주소로 회원가입하거나, Google·Microsoft 계정으로 소셜 로그인을 선택하면 된다. 가입 후 이메일 인증을 마치면 계정이 활성화된다. 2025년 중반부터 신규 계정에 자동 무료 크레딧이 제공되지 않으므로 API 호출 전 반드시 크레딧을 충전해야 한다.
API 키 발급 순서
로그인 후 오른쪽 상단 톱니바퀴(⚙️) 아이콘을 클릭하면 설정 화면이 열린다. 왼쪽 사이드바에서 API keys 항목을 선택한다. 처음 접속하면 빈 목록이 표시되며, 상단의 + Create new secret key 버튼을 누르면 키 생성 모달이 나타난다.
모달에서 키 이름(Name), 소속 프로젝트, 권한 범위를 설정한다. 테스트 목적이면 기본값 그대로 진행해도 무방하다. Create secret key를 누르면 sk-proj-... 형태의 키가 화면에 표시된다. 이 키는 발급 직후에만 전체를 확인할 수 있으므로, 화면을 닫기 전에 반드시 별도 파일이나 비밀번호 매니저에 저장해야 한다.
결제 정보 등록과 크레딧 충전
API를 실제로 호출하려면 크레딧(선불 잔액)이 있어야 한다. 설정 화면 왼쪽 사이드바에서 Billing을 선택하면 결제 관리 화면으로 이동한다. Add payment method를 눌러 신용카드 또는 체크카드 정보를 입력한다.
카드 등록 후 Add to balance 버튼으로 크레딧을 구매한다. 최소 구매 금액은 5달러이며, 기본 권장 금액은 10달러다. 충전한 크레딧은 1년 후 만료되고 환불이 되지 않으므로, 처음에는 소액만 충전해 테스트하는 것이 낫다. 충전 직후 시스템 반영까지 1~2분 걸릴 수 있다.
사용량이 많아지면 Auto recharge(자동 충전) 기능을 켜두면 잔액이 설정 금액 아래로 떨어질 때 자동으로 재충전된다. Billing 화면에서 사용량 한도(Usage limits)도 설정할 수 있어 예상치 못한 과금을 막을 수 있다.
Python으로 첫 API 호출 해보기
터미널에서 openai 라이브러리를 설치한 뒤 아래 코드를 실행하면 된다. 2025년 이후 버전(openai 1.0 이상)은 클라이언트 객체를 먼저 만드는 방식으로 바뀌었다.
pip install openai
import os
from openai import OpenAI
# 환경변수에서 키를 읽는다 (.env 파일 또는 터미널에서 export OPENAI_API_KEY=sk-proj-...)
client = OpenAI(api_key=os.environ.get("OPENAI_API_KEY"))
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "안녕하세요, 간단히 자기소개해 주세요."}
]
)
print(response.choices[0].message.content)
model 파라미터에는 사용할 모델 이름을 넣는다. gpt-4o-mini는 속도가 빠르고 비용이 낮아 테스트에 적합하다. gpt-4o는 성능이 더 높지만 토큰(token, 텍스트를 처리하는 단위로 약 0.75 영단어에 해당)당 비용이 올라간다. 응답은 response.choices[0].message.content에 문자열로 들어온다.
API 키 노출 방지 — 보안 주의사항
API 키는 곧 요금 청구 권한이다. 키가 외부에 노출되면 타인이 내 계정으로 API를 호출해 요금이 쌓일 수 있다. 아래 규칙을 지키면 대부분의 사고를 막을 수 있다.
.env 파일 사용: 프로젝트 루트에 .env 파일을 만들고 OPENAI_API_KEY=sk-proj-...를 저장한다. Python에서는 python-dotenv 라이브러리로 불러오면 코드에 키를 직접 쓰지 않아도 된다.
git 커밋 금지: .gitignore에 반드시 .env를 추가해야 한다. GitHub에 키가 올라가면 OpenAI 자동 스캐너가 감지해 해당 키를 즉시 비활성화하지만, 그 사이 타인이 이미 복사했을 수 있다.
키 권한 최소화: API key 생성 시 권한 범위를 Read-only 또는 특정 기능만 허용하도록 좁히면 유출 피해를 줄일 수 있다. 키가 의심스러울 때는 platform.openai.com에서 바로 삭제(Revoke)하고 새로 발급한다.
사용량 알림 설정: Billing 화면의 Usage limits에서 월 한도를 설정하면, 한도에 도달했을 때 API 호출이 자동 차단된다. 예상치 못한 대량 호출이 발생해도 피해가 한도 금액 안에서 멈춘다.
자주 묻는 질문 FAQ
Q1) ChatGPT Plus 구독자도 API 크레딧을 별도로 충전해야 하나요?
그렇다. ChatGPT Plus(월 구독)와 API 크레딧은 완전히 별개의 결제 항목이다. Plus 구독은 chat.openai.com 웹 인터페이스 사용권이고, API 호출은 platform.openai.com에서 사용한 만큼 별도로 청구된다. 두 계정이 이메일을 공유해도 잔액은 공유되지 않는다.
Q2) API 키 발급 후 바로 호출하면 오류가 나는데 어떻게 해야 하나요?
가장 흔한 원인은 크레딧 부족이다. Billing 화면에서 잔액이 0이면 모든 API 호출이 429 또는 402 오류로 반환된다. 크레딧 충전 직후에도 시스템 반영까지 1~2분이 걸리므로, 충전 후 잠깐 기다렸다 재시도하면 된다. 그래도 오류가 계속되면 키가 올바르게 복사됐는지, 앞뒤 공백이 없는지 확인한다.
Q3) 어떤 모델을 선택해야 비용을 절약할 수 있나요?
테스트와 가벼운 작업에는 gpt-4o-mini가 가장 경제적이다. 긴 문서 요약, 복잡한 추론, 코드 생성처럼 정확도가 중요한 작업은 gpt-4o가 적합하다. platform.openai.com/docs/models 페이지에서 모델별 입력/출력 토큰 단가를 확인한 뒤, 실제 사용량에 맞게 선택하면 된다.