ChatGPT API 결제는 구독과 따로, 처음 키 만들 때 볼 것
ChatGPT Plus 를 쓰고 있으면 API 도 당연히 그 안에 들어 있을 것 같다. 근데 커뮤니티에서도 앱은 구독했는데 API 에서는 크레딧이 부족하다고 막힌다는 질문을 볼 수 있다. 구독료를 내고 있는데 왜 또 돈을 내야 하나?
답은 짧다. ChatGPT 구독과 API 는 결제가 아예 따로다. 구독은 ChatGPT 화면에서 내고, API 는 개발자 플랫폼에 결제 수단을 따로 넣는다. 새 API 계정이라면 크레딧을 먼저 사서 쓰는 선불 방식이다. 아래는 2026년 10월 17일에 연 OpenAI 도움말 기준이다. 금액이나 화면 이름은 바뀔 수 있으니 결제 전에 원문을 한 번 더 보는 게 좋다.
ChatGPT 구독과 API 결제가 따로인 이유
OpenAI 도움말의 ChatGPT 와 API 플랫폼 결제 관리 문서는 첫 줄부터 둘이 별개의 결제 시스템이라고 적어 둔다. 요금과 결제 내역도 각자 설정 화면에서 따로 본다.
구독 쪽은 Free, Go, Plus, Pro 계정이면 웹 ChatGPT 에 로그인해서 Settings 의 Billing 으로 들어간다. API 쪽은 플랫폼의 API billing overview 화면이고, 유료로 쓰기 시작하려면 거기에 결제 수단을 새로 넣어야 한다. 문서도 API 사용량은 ChatGPT 구독과 따로 청구된다고 못 박는다. Plus 를 내고 있어도 API 결제는 따로 설정해야 하는 거고. 무료 크레딧이나 남은 잔액이 있는지는 API 쪽 화면에서 따로 봐야 한다.
요금이 정해지는 방식도 다르다. 구독은 달마다 정해진 금액이고, API 는 어떤 모델과 기능을 얼마나 썼는지, 그러니까 토큰 사용량과 도구나 저장 요금에 따라 나간다. 지금 단가는 API 가격 페이지에서 확인하라고 돼 있다. 하나 더, ChatGPT 구독은 웹과 앱스토어, 구글 플레이 어디서나 결제할 수 있어서 여러 곳에서 구독하면 따로따로 청구될 수 있다고 한다.
API 선불 크레딧 결제, 최소 금액과 1년 만료
선불 API 결제 설정 문서를 보면 새 API 계정은 선불 방식이다. 크레딧을 먼저 사 두면 쓰는 만큼 잔액이 줄어든다. 무료 크레딧이 있는 계정이면 그게 먼저 쓰인다.
처음 결제하는 순서부터. API billing overview 에서 Add payment details 를 눌러 결제 정보를 넣고, 첫 충전액을 고른다. 최소는 5달러고 기본값은 10달러로 잡혀 있다. 여기서 놓치기 쉬운 게 Use auto-reload, 자동 충전 칸. 설정하는 동안 기본으로 켜져 있어서 그냥 넘기면 잔액이 기준 아래로 떨어질 때마다 카드에서 알아서 다시 충전된다. 원하지 않으면 결제를 확정하기 전에 끄면 된다. 켜 둘 거면 얼마 아래로 떨어지면 채울지, 얼마까지 채울지, 한 달 자동 충전 한도를 얼마로 할지 정한다. 자동 충전 한 번에 드는 최소 금액도 똑같이 5달러. 여기서 월 한도는 자동으로 사는 금액만 묶는다. 직접 산 크레딧은 포함되지 않고, 이미 있는 크레딧을 쓰는 걸 막는 한도도 아니다.
만료도 알아 둬야 한다. 산 크레딧은 1년이 지나면 사라지고, 문서에는 OpenAI 가 만료일을 늘려 줄 수 없다고 적혀 있다. 환불은 어떨까? 원칙적으로 안 된다. 다만 법이나 계약에 따른 경우와 승인된 예외가 있어서, 예외에 해당한다고 생각하면 OpenAI 지원팀에 검토를 요청하면 된다. 처음엔 큰 금액을 넣어 두기보다 최소 금액으로 시작해서 얼마나 쓰는지 보고 늘리는 쪽이 덜 아깝다.
크레딧이 바닥나면 나오는 API 오류
잔액이 0 이 되면 API 요청이 결제 오류를 돌려준다. 오류 코드가 credit_balance_exhausted 면 조직에 남은 선불 크레딧이 없다는 뜻이다. 다시 충전하고 몇 분 기다렸다가 다시 보내면 된다.
근데 여기서 헷갈리는 게 두 가지. 하나는 잔액이 바닥나도 바로 멈추지 않을 수 있다는 것. 처리에 지연이 있어서 그사이 쓴 만큼 잔액이 음수로 찍히고, 그 금액은 다음 충전에서 빠진다. 문서도 선불 잔액을 즉시 차단 장치로 믿지 말라고 적어 뒀다. 다른 하나는 잔액이 남아 있어도 요청이 막힐 수 있다는 것. 분당 요청 수나 토큰 수 같은 속도 제한, 월 사용 한도, 지출 한도는 잔액과 따로 돈다. 429 오류 도움말을 보면 429 는 잠깐 걸린 속도 제한일 수도, 선불 잔액이 바닥난 것일 수도, 지출이나 사용 한도에 닿은 것일 수도 있다. 그래서 다시 보내거나 충전하기 전에 오류 메시지와 error.code 부터 보는 게 순서다. 결제나 한도 오류는 다시 보내도 안 풀린다고 적혀 있다.
API 키는 코드 말고 환경 변수에
결제를 마치면 키를 만든다. 키 다루는 법은 API 키 안전 수칙 문서가 정리해 뒀는데, 처음 쓰는 사람이 꼭 지킬 건 세 가지 정도다.
첫째, 키를 브라우저나 모바일 앱 코드에 넣지 않는다. 받은 사람이 키를 꺼내 내 돈으로 요청을 보낼 수 있어서다. 문서는 요청을 내 백엔드 서버를 거쳐 보내라고 권한다. 브라우저로 보낸 JS 는 누구나 열어 볼 수 있다는 얘기는 웹 구조 글에도 적었다.
둘째, 키를 저장소에 커밋하지 않는다. 공개 저장소면 그대로 인터넷에 올리는 셈이고, 비공개 저장소도 새어 나갈 수 있다. 그래서 문서는 환경 변수를 권하고 이름은 OPENAI_API_KEY 로 맞추라고 한다. 윈도우 cmd 에서는 아래처럼 넣는다. 이건 공식 문서 예시를 옮긴 거고 이번에 직접 실행하진 않았다.
setx OPENAI_API_KEY "<yourkey>"
이 명령은 지금 열린 창이 아니라 새로 여는 창부터 적용된다. 넣은 뒤엔 cmd 를 새로 열어야 코드에서 읽힌다. 제어판의 환경 변수 화면에서 사용자 변수로 넣어도 된다.
셋째는 지출 한도. 문서는 조직이나 프로젝트에 월 지출 한도를 정하고 강제 적용까지 켜라고 한다. 알림만 켜 두면 트래픽은 안 멈춘다. 강제 적용도 바로 끊기진 않아서 한도를 살짝 넘을 수 있다고 한다. 키가 새어 나간 것 같으면? API Keys 화면에서 기존 키를 바로 폐기하고 새 키를 만든 다음, 그 키를 쓰던 프로그램 설정도 새 키로 바꿔야 한다. 팀원이 있으면 키를 나눠 쓰지 말고 각자 키를 받게 하라는 것도 같은 문서에 있다. 키 공유는 이용 약관 위반이다.

ChatGPT API 결제 전에 정할 것
결국 처음엔 두 개만 정하면 된다. 얼마를 넣을지, 자동 충전을 켤지. 크레딧은 1년이면 사라지니 써 보고 늘리는 게 낫고, 자동 충전은 쓰는 양을 알기 전엔 꺼 두거나 자동 충전 월 한도를 낮게 잡는 쪽이 마음 편하다. 그다음에 키를 환경 변수에 넣고 지출 한도를 건다.
구독은 사람이 채팅 화면에서 쓰는 요금이고, API 는 내 프로그램이 쓰는 요금이라고 나눠서 기억하면 덜 헷갈린다. 코딩 도구를 구독으로 쓰다가 한도에 걸렸을 때 볼 것은 사용량 한도 글에 따로 정리해 뒀다.
다음엔 AI 가 코드를 망쳤을 때 git 으로 되돌리는 법, commit 과 restore, revert 가 각각 뭐가 다른지 적으려고 한다.