챗GPT 구독과 별개인 OpenAI API 키를 플랫폼에서 만드는 순서, 프로젝트·권한·서비스 계정 고르는 법, OPENAI_API_KEY 환경변수 넣기, 401 오류가 날 때 볼 곳을 정리했어요.
- 읽는 분
- OpenAI API 키를 처음 받거나, 받은 키가 401 로 거절돼 막힌 개발자·연구자·사내 도구 담당자
- 끝나면
- 알맞은 프로젝트와 권한으로 키를 만들어 환경변수에 넣고, 거절되면 오류 문장으로 원인을 좁혀요.
이 글의 목차 (5개 절)
OpenAI 플랫폼의 API 키 페이지에서 만들어요
OpenAI API 키는 OpenAI 플랫폼(platform.openai.com)에 로그인해 프로젝트의 API Keys 화면에서 「+ Create new secret key」로 만들어요. 키 전체는 만들 때 한 번만 보이니 바로 안전한 곳에 옮겨 둬요. 챗GPT Plus·Pro 구독에는 API 사용이 들어 있지 않아서, 구독 중이어도 API 키는 여기서 따로 만들어요.
아래 화면 이름은 OpenAI 공식 문서와 도움말을 2026년 10월 20일에 확인해 옮겼어요. 버튼 이름은 바뀔 수 있어요.
| 키 | 만드는 곳 | 만들 수 있는 사람 | 쓰는 곳 |
|---|---|---|---|
| 프로젝트 API 키 | 만드는 곳조직 설정 > 프로젝트 > API Keys 의 「+ Create new secret key」 | 만들 수 있는 사람그 프로젝트의 Owner·Member | 쓰는 곳내가 짜는 앱·스크립트 |
| 서비스 계정 키 | 만드는 곳조직 설정 > 프로젝트 > Members 의 「+ Service account」(키 만들기 창에서 고를 수도 있어요) | 만들 수 있는 사람조직·프로젝트 Owner | 쓰는 곳사람이 아닌 서버·자동화 |
| Admin API 키 | 만드는 곳조직 설정의 Admin keys | 만들 수 있는 사람조직 Owner | 쓰는 곳사용자·초대·프로젝트·키를 다루는 관리 API — 앱 요청에는 위 두 키를 써요 |
회사·학교에서 사람마다 키를 나누고 원화로 사서 쓰는 길은 맨 아래 절에 있어요.
프로젝트 API 키 만드는 순서
여럿이 쓰는 서버·자동화에는 사람 계정에 묶인 키 대신 서비스 계정 키를 써요. 조직 설정 > 프로젝트 > Members 에서 「+ Service account」로 이름을 정하고 Create 를 누르면 그 자리에서 키가 만들어지고 한 번 보여요. 서비스 계정 관리 권한이 있으면 키 만들기 창에서 서비스 계정 키를 고를 수도 있어요.
새 키가 안 만들어지면 관리자가 「API Key Governance」에서 서비스 계정 키만, 또는 사용자 키만 허용했거나 새 키를 막아 두었을 수 있어요. 조직 설정이 프로젝트 설정보다 먼저라서 프로젝트 Owner 와 조직 Owner 에게 같이 물어봐요.
OpenAI 는 키를 다른 사람과 나눠 쓰는 것을 이용약관 위반으로 봐요. 팀원은 Members 페이지로 초대해 각자 자기 키를 만들게 해요.
- platform.openai.com 에 로그인해요. 조직이 여럿이면 왼쪽 위 조직 이름에 마우스를 올려 쓸 조직을 골라요.
- 키를 붙일 프로젝트를 정해요. 모든 조직에는 지울 수 없는 「Default project」가 있어요. 새 프로젝트는 조직 Owner 만 만들 수 있어요.
- 조직 설정에서 그 프로젝트를 고르고 「API Keys」로 가서 「+ Create new secret key」를 눌러요.
- 권한을 골라요. 기본값은 All 이에요. 쓰는 기능만 열려면 Restricted, 읽기만 하는 키라면 Read Only 를 골라요.
- 만료일을 넣어요. OpenAI 는 프로젝트 키에 만료일을 걸고 정해진 주기로 바꾸라고 권해요. 관리자가 최대 기간을 정해 두었다면 그 안에서만 고를 수 있어요.
- 키가 보이면 바로 복사해 비밀 관리 도구나 환경변수에 넣어요. 이 창을 닫으면 다시 볼 수 없어요.
| 권한 | 뜻 | 알아 둘 점 |
|---|---|---|
| All | 뜻모든 권한 | 알아 둘 점기본값이에요 |
| Restricted | 뜻자원·엔드포인트마다 None·Read·Write 같은 권한을 따로 골라요 | 알아 둘 점고르지 않은 엔드포인트를 부르면 401 이 와요 |
| Read Only | 뜻모든 엔드포인트에 읽기 권한만 | 알아 둘 점응답 만들기처럼 쓰기 권한이 필요한 호출은 막혀요 |
서비스 계정 키는 만드는 창에 권한 칸이 없어요. 프로젝트의 API 자원 전부를 읽고 쓰는 권한으로 만들어지고, 프로젝트 API Keys 설정에서 좁혀요.
키를 코드에 넣기 — OPENAI_API_KEY 환경변수
OpenAI SDK 는 OPENAI_API_KEY 환경변수를 알아서 읽어요. 코드에는 키 원문을 적지 않고, 팀 안에서도 변수 이름을 OPENAI_API_KEY 하나로 맞춰 두면 키 없이 코드를 나눠요.
브라우저·모바일 앱 코드에 키를 넣으면 누구나 꺼내 쓸 수 있어요. 요청은 내 서버를 거쳐 보내요.
윈도우의 setx 는 새로 연 명령 프롬프트부터 적용돼요. 같은 창에서 바로 실행하면 키가 없다고 나와요.
OPENAI_API_KEY 넣고 확인하기
# macOS·Linux (zsh — bash 는 ~/.bash_profile)
echo "export OPENAI_API_KEY='여기에_키'" >> ~/.zshrc
source ~/.zshrc
# Windows 명령 프롬프트 — 실행한 뒤 창을 새로 열어요
setx OPENAI_API_KEY "여기에_키"
# 확인 — OK 가 찍히면 파이썬 SDK 가 키를 읽었어요(키가 맞는지는 첫 호출에서 알아요)
pip install -U openai
python -c "from openai import OpenAI; OpenAI(); print('OK')"키가 거절될 때 — 오류 문장으로 원인 좁히기
일부 모델·기능을 쓰기 전에 조직·신원 확인(verification)을 요청받는 것은 키 문제가 아니에요. 그 절차는 세 회사 키 발급 글에 있어요.
키는 맞는데 크레딧이나 사용 한도 때문에 막히는 오류(429)도 키 문제가 아니에요. 그쪽은 OpenAI 결제 오류·영수증 글에서 원인을 좁혀요.
Missing credentials. 또는 The api_key client option must be set 으로 시작하는 오류가 나요
- 원인·확인
- 파이썬 SDK 가 OPENAI_API_KEY 를 찾지 못했어요. setx 를 한 창 그대로이거나, ~/.zshrc 를 고친 뒤 source 를 하지 않았어요.
- 해결 방법
- 터미널(또는 편집기)을 새로 열고 위 확인 줄을 다시 실행해요.
401 Incorrect API key provided
- 원인·확인
- 키에 오타나 여분의 공백이 있거나, 다른 조직·프로젝트의 키이거나, 지웠거나 꺼진 키예요. 컴퓨터에 남은 옛 키를 읽고 있을 수도 있어요.
- 해결 방법
- 키를 처음부터 다시 붙여 넣어요. 원문을 잃었으면 새 키를 만들어 그 키를 쓰던 곳을 모두 바꿔요.
401 Invalid Authentication
- 원인·확인
- 폐기된 키이거나, 요청한 조직·프로젝트에 속하지 않은 키이거나, 그 엔드포인트를 부를 권한이 없는 키예요. Restricted·Read Only 키라면 권한부터 확인해요.
- 해결 방법
- 키를 만든 프로젝트와 권한을 확인해요. 여러 조직에 속해 있으면 OpenAI-Organization·OpenAI-Project 헤더로 조직과 프로젝트를 정해 보내요. 파이썬 SDK 는 OPENAI_ORG_ID·OPENAI_PROJECT_ID 환경변수도 읽어요.
401 You must be a member of an organization to use the API
- 원인·확인
- 계정이 어느 조직에도 속해 있지 않아요. 조직이나 프로젝트에서 나왔거나 빠졌거나, 조직이 지워졌을 때 나요.
- 해결 방법
- 조직·프로젝트 Owner 에게 다시 넣어 달라고 하거나, 새 조직은 help.openai.com 에 요청해요.
401 IP not authorized
- 원인·확인
- 프로젝트나 조직에 IP 허용목록이 걸려 있고, 요청을 보낸 IP 가 그 목록에 없어요.
- 해결 방법
- 허용된 서버에서 보내거나, 관리자에게 그 IP 를 목록에 넣어 달라고 해요.
403 Country, region, or territory not supported
- 원인·확인
- 요청이 OpenAI 지원 목록 밖의 나라·지역에서 왔어요. 한국은 목록에 있어요.
- 해결 방법
- 요청이 실제로 어느 나라의 서버나 네트워크를 거쳐 나가는지 확인해요.
키를 지우거나 권한을 바꿨는데 결과가 그대로예요
- 원인·확인
- 키 폐기는 몇 초 안에 적용되지만, 키가 받아들여지는지에 영향을 주는 다른 변경은 대개 15분 안에, 때로는 더 늦게 퍼져요.
- 해결 방법
- 15분쯤 뒤 다시 보내요. 기다릴 수 없으면 새 키를 만들어 바꿔 넣어요.
회사·학교에서 쓸 때 — 원포트 키로 같은 코드 그대로
원포트 AI 키(sk-so- 로 시작)는 OpenAI 와 같은 모양의 API 를 https://oneport.kr/v1 에서 받아요. 위에서 넣은 OPENAI_API_KEY 자리에 원포트 키를 넣고, OPENAI_BASE_URL 에 이 주소를 넣으면 쓰던 OpenAI SDK 코드가 원포트로 가요. 모델 이름만 바꾸면 클로드·제미나이 모델도 client.chat.completions.create 로 불러요. client.responses.create(Responses)는 원포트에서 OpenAI 모델만 받아요.
모델을 정하지 않은 「원포트 AI API 크레딧」이나 제미나이 팩으로 산 크레딧은 모든 모델을 불러요. 클로드·GPT 팩으로 산 크레딧은 제미나이를 뺀 모든 모델을 불러요.
키는 스쿨오더·오피스오더 「AI API」 화면에서 「키 만들기」로 사람마다 만들고, 원문은 만들 때 한 번만 보여요. 쓰던 키가 없으면 크레딧을 살 때 받을 메일로 「키 받기」 링크가 와요. 원화로 사고 세금계산서나 현금영수증을 받아요.
원포트로 보내는 환경변수 두 줄
OPENAI_BASE_URL=https://oneport.kr/v1
OPENAI_API_KEY=sk-so-발급받은_원포트_키자주 묻는 질문
만든 키의 권한을 나중에 바꿀 수 있나요?
프로젝트 API Keys 화면에서 키 옆 Edit 아이콘을 눌러 All·Restricted·Read Only 를 다시 골라요.
오래전에 만든 키의 사용량이 Usage 페이지에 안 보여요
2023년 12월 20일 전에 만든 키는 사용량 추적이 기본으로 꺼져 있어요. API 키 관리 화면에서 추적을 켜면 그때부터 보이고, 그 전 사용은 「Untracked」로 남아요.
출처와 확인일
- OpenAI 도움말: API 키 찾기 · 2026년 10월 20일 확인
- OpenAI API 빠른 시작 · 2026년 10월 20일 확인
- OpenAI API 오류 코드 · 2026년 10월 20일 확인
함께 보면 좋은 글과 도움말
- 개발 가이드제미나이(Gemini) API 키 발급 — AI Studio에서 받고 막힐 때 푸는 법제미나이 API 키는 Google AI Studio의 API Keys 화면에서 받아요. 2026년 5월 28일부터 새 키는 승인 키로 나와요. 제한 없는 표준 키는 거절돼요. 키를 환경변수에 넣는 법과 오류 문장별 해결까지 담았어요.
- 개발 가이드클로드(Claude) API 키 발급 — 콘솔에서 받는 순서와 안 될 때Claude Console 의 API keys 화면에서 키를 만드는 순서, 개인 키와 서비스 계정 키 고르기, 코드·클로드 코드에 넣는 법, 401·400 오류가 날 때 볼 곳을 정리했어요.
- 개발 가이드n8n·Dify AI 연결하기 — OpenAI 호환 주소·키·모델 설정n8n 과 Dify 의 OpenAI 호환 설정에 원포트 AI 주소와 키, 모델 이름을 넣는 칸을 정리하고, 실패할 때 다시 시도하는 법은 도구 쪽에서 정하도록 안내해요.
- 도움말 매뉴얼제미나이·OpenAI·Claude API 키 발급 — 받는 곳과 안 될 때Gemini·OpenAI·Claude API 키를 어디서 받는지, 버튼이 꺼져 있거나 키가 거절될 때 무엇을 보는지, 키 하나로 셋 다 부르는 길까지 정리했어요.