previous_response_not_found: 현재 사용 가능한 상태 정보에서 previous_response_id에 해당하는 응답을 찾을 수 없습니다. 전체 입력 컨텍스트를 포함하고 previous_response_id를 null로 설정해 다시 요청하세요.
websocket_connection_limit_reached: 연결 시간이 60분 한도에 도달했습니다. 새 WebSocket 연결을 열고 계속 진행하세요.
요청에서 지정했거나 최종적으로 결정된 서비스 등급이 프로젝트에서 허용되지 않으면 API는 “Invalid service_tier argument: The requested service tier is not allowed for this project.”라는 메시지와 함께 invalid_request_error를 반환합니다. 이때 error.param 값은 service_tier입니다.
프로젝트의 제한은 default, flex, priority 서비스 등급에 적용됩니다. fast 서비스 등급에는 priority와 같은 기준이 적용됩니다. 요청에서 service_tier를 생략하거나 auto로 설정한 경우에도 최종적으로 결정된 등급이 허용되지 않으면 이 오류가 발생할 수 있습니다. 스케일 등급에는 이 프로젝트 정책이 적용되지 않습니다.
다음과 같이 오류를 해결하세요.
프로젝트 설정과 조직 설정에서 허용된 서비스 등급을 확인하세요. 조직에서 차단한 등급은 프로젝트에서 활성화할 수 없습니다.
service_tier를 프로젝트에서 허용하는 등급으로 설정하세요.
요청에서 auto를 사용하거나 service_tier를 생략한다면 최종적으로 결정되는 등급을 허용하도록 프로젝트 설정을 변경하세요.
이 오류는 인증 정보가 유효하지 않다는 뜻입니다. 다음과 같은 경우에 발생할 수 있습니다.
폐기된 API 키를 사용하고 있습니다.
요청을 보내는 조직이나 프로젝트에 할당된 키와 다른 API 키를 사용하고 있습니다.
호출하려는 엔드포인트에 필요한 권한이 없는 API 키를 사용하고 있습니다.
다음과 같이 오류를 해결하세요.
요청 헤더에 올바른 API 키와 조직 ID를 지정했는지 확인하세요. API 키와 조직 ID는 계정 설정에서 확인할 수 있습니다. 특정 프로젝트의 키를 확인하려면 일반 설정에서 해당 프로젝트를 선택하세요.
이 오류는 할당된 API 요청 한도에 도달했다는 뜻입니다. 짧은 시간에 너무 많은 토큰이나 요청을 보내 허용된 요청량을 초과한 경우입니다. 다음과 같은 원인이 있을 수 있습니다.
루프나 스크립트에서 요청을 자주 보내거나 여러 요청을 동시에 보냅니다.
다른 사용자나 애플리케이션과 API 키를 공유하고 있습니다.
요청 한도가 낮은 무료 요금제를 사용하고 있습니다.
프로젝트에 설정된 한도에 도달했습니다.
다음과 같이 오류를 해결하세요.
요청 간격을 조절하고 불필요하거나 중복되는 호출을 피하세요.
Retry-After 헤더가 있으면 적어도 지정된 시간만큼 기다린 뒤 다시 시도하세요. 헤더가 없으면 지터를 적용한 지수 백오프를 사용하고 재시도 횟수를 제한하세요. 서버가 긴 대기 시간을 지정할 때 SDK가 이를 지원하는 범위는 버전과 구성에 따라 다릅니다. 자세한 내용은 요청 한도 가이드를 참고하세요.
다른 사용자와 같은 조직을 사용한다면 한도가 조직 단위로 적용된다는 점에 유의하세요. 다른 팀원의 사용량도 한도에 합산되므로 함께 확인하세요.
무료 요금제나 낮은 등급의 요금제를 사용 중이라면 요청 한도가 더 높은 종량제 요금제로 전환하는 것을 고려하세요. 요금제별 제한은 요청 한도 가이드에서 비교할 수 있습니다.
프로젝트의 요청 한도를 높이려면 조직 소유자에게 문의하세요.
429 응답의 유형이 rate_limit_error이고 코드가 slow_down이면 서비스가 안정적으로 처리할 수 있는 수준보다 요청 빈도가 빠르게 증가했다는 뜻입니다. 분당 요청 수와 분당 토큰 수가 각각의 한도 이내여도 이 오류가 발생할 수 있습니다.
일반적으로 분당 입력 토큰 수(TPM)가 100만 개에 도달하면 이후 15분마다 트래픽을 최대 50%씩만 늘리세요. 트래픽 증가율 제한이 적용되는 정확한 시점은 모델과 트래픽 상황에 따라 달라질 수 있습니다.
다음과 같이 오류를 해결하세요.
Retry-After 헤더가 있으면 적어도 지정된 시간만큼 기다린 뒤 다시 시도하세요. 헤더가 없으면 재시도 간격을 늘리고 짧은 임의 대기 시간을 추가하세요.
요청 빈도를 낮춘 뒤 서서히 높이세요.
slow_down 오류가 다시 발생할 가능성을 줄이려면 트래픽 패턴을 일정하게 유지하세요.
종량제 트래픽이 증가율 제한에 자주 걸리는 엔터프라이즈 고객은 대상 모델의 처리 용량을 더 예측하기 쉽게 확보하려면 스케일 등급을 고려할 수 있습니다. GPT-5.6 및 이후 모델은 Reserved Tier를 참고하세요. 이러한 용량 옵션을 사용하더라도 위의 복구 절차를 따라야 합니다. Retry-After 헤더가 있으면 지정된 시간만큼 기다리고 트래픽을 서서히 늘리세요.
organization_spend_limit_exceeded 오류는 조직에 적용되는 월간 지출 한도에 도달했다는 뜻입니다. 이 한도는 조직 내 모든 프로젝트의 API 트래픽에 적용됩니다.
API를 다시 사용하려면 조직 한도 설정에서 한도를 높이거나 해제하세요. 한도를 변경하지 않으면 월간 한도가 초기화된 뒤 API를 다시 사용할 수 있습니다.
project_spend_limit_exceeded 오류는 프로젝트에 적용되는 월간 지출 한도에 도달했다는 뜻입니다. 다른 프로젝트는 자체 한도나 조직 한도에 도달하지 않은 한 API를 계속 사용할 수 있습니다.
API를 다시 사용하려면 프로젝트 설정에서 한도를 높이거나 해제하세요. 한도를 변경하지 않으면 월간 한도가 초기화된 뒤 API를 다시 사용할 수 있습니다.
organization_usage_limit_exceeded 오류는 OpenAI가 조직에 부여한 월간 사용 한도에 도달했다는 뜻입니다. 이 한도는 직접 설정하는 조직 및 프로젝트 지출 한도와 별개입니다.
503 응답의 유형이 service_unavailable_error이고 코드가 server_is_overloaded이면 요청한 모델에 현재 해당 요청을 처리할 용량이 부족하다는 뜻입니다.
Retry-After 헤더가 있으면 적어도 지정된 시간만큼 기다린 뒤 다시 시도하세요. 헤더가 없으면 재시도 간격을 늘리세요. 오류가 계속되면 상태 페이지에서 현재 발생 중인 장애가 있는지 확인하세요.
Python 라이브러리 오류 유형
Python 라이브러리는 RateLimitError를 429 응답에서, InternalServerError를 503 응답에서 발생시킵니다. 기존 오류 처리기가 요청 제한과 과부하에 대해 둘 중 한 클래스만 처리했다면 두 클래스 모두 처리하고 error.code를 확인하도록 수정하세요. 예를 들어 동영상 처리 중 과부하가 발생하면 이제 503을 반환하며, 이전에는 429를 반환했습니다. 엔드포인트별 변경 사항은 마이그레이션 가이드를 참고하세요.
유형
개요
APIConnectionError
원인: OpenAI 서비스에 연결하는 중 문제가 발생했습니다. 해결 방법: 네트워크 설정, 프록시 구성, SSL 인증서 또는 방화벽 규칙을 확인하세요.
APITimeoutError
원인: 요청 시간이 초과되었습니다. 해결 방법: 잠시 기다린 뒤 요청을 다시 보내세요. 문제가 계속되면 OpenAI에 문의하세요.
AuthenticationError
원인: API 키 또는 토큰이 유효하지 않거나 만료 또는 폐기되었습니다. 해결 방법: API 키 또는 토큰이 올바르고 활성 상태인지 확인하세요. 계정 대시보드에서 새로 생성해야 할 수도 있습니다.
BadRequestError
원인: 요청 형식이 잘못되었거나 토큰 또는 입력과 같은 필수 매개변수가 누락되었습니다. 해결 방법: 오류 메시지에서 구체적인 문제를 확인하세요. 호출하는 API 메서드의 문서를 참고해 유효한 매개변수를 빠짐없이 보내는지 확인하세요. 요청 데이터의 인코딩, 형식 또는 크기도 확인해야 할 수 있습니다.
ConflictError
원인: 다른 요청이 리소스를 업데이트했습니다. 해결 방법: 같은 리소스를 업데이트하려는 다른 요청이 없는지 확인하고 다시 업데이트하세요.
InternalServerError
원인: OpenAI 측에서 문제가 발생했습니다. 해결 방법: 잠시 기다린 뒤 요청을 다시 보내세요. 문제가 계속되면 OpenAI에 문의하세요.
NotFoundError
원인: 요청한 리소스가 존재하지 않습니다. 해결 방법: 올바른 리소스 식별자를 사용했는지 확인하세요.
PermissionDeniedError
원인: 요청한 리소스에 접근할 권한이 없습니다. 해결 방법: 올바른 API 키, 조직 ID, 리소스 ID를 사용했는지 확인하세요.
RateLimitError
원인: 할당된 요청 한도에 도달했거나 트래픽을 너무 빠르게 늘렸습니다. 해결 방법: 요청 간격을 조절하세요. Retry-After 헤더가 있으면 설정한 재시도 한도 내에서 헤더가 지정한 대기 시간을 따르세요. 자세한 내용은 요청 한도 가이드를 참고하세요.
UnprocessableEntityError
원인: 요청 형식은 올바르지만 요청을 처리할 수 없습니다. 해결 방법: 요청을 다시 보내세요.
APIConnectionError는 요청이 OpenAI 서버에 도달하지 못했거나 보안 연결을 설정하지 못했다는 뜻입니다. 네트워크 문제, 프록시 구성, SSL 인증서 또는 방화벽 규칙이 원인일 수 있습니다.
APIConnectionError가 발생하면 다음 단계를 시도하세요.
네트워크 설정을 확인하고 인터넷 연결이 안정적이며 충분히 빠른지 확인하세요. 다른 네트워크로 전환하거나 유선 연결을 사용하거나 대역폭을 사용하는 기기 또는 애플리케이션 수를 줄여야 할 수 있습니다.
프록시 구성이 OpenAI 서비스와 호환되는지 확인하세요. 프록시 설정을 변경하거나 다른 프록시를 사용하거나 프록시를 거치지 않고 직접 연결해야 할 수 있습니다.
SSL 인증서가 유효하고 최신 상태인지 확인하세요. 인증서를 설치 또는 갱신하거나 다른 인증 기관을 사용하거나 SSL 검증을 비활성화해야 할 수 있습니다.
방화벽 규칙이 OpenAI 서비스와 주고받는 트래픽을 차단하거나 필터링하는지 확인하세요. 방화벽 설정을 변경해야 할 수 있습니다.
컨테이너를 사용한다면 트래픽을 송수신하는 데 필요한 권한이 있는지 확인하세요.
문제가 계속되면 아래의 ‘오류가 계속 발생하는 경우’ 섹션을 참고하세요.
APITimeoutError는 요청을 완료하는 데 너무 오래 걸려 OpenAI 서버가 연결을 종료했다는 뜻입니다. 네트워크에 문제가 있거나 서비스 부하가 크거나 요청이 복잡해 처리 시간이 더 필요한 경우에 발생할 수 있습니다.
APITimeoutError가 발생하면 다음 단계를 시도하세요.
몇 초 기다린 뒤 요청을 다시 보내세요. 그사이에 네트워크 혼잡이나 서비스 부하가 줄어 두 번째 시도에서는 요청이 성공할 수 있습니다.
네트워크 설정을 확인하고 인터넷 연결이 안정적이며 충분히 빠른지 확인하세요. 다른 네트워크로 전환하거나 유선 연결을 사용하거나 대역폭을 사용하는 기기 또는 애플리케이션 수를 줄여야 할 수 있습니다.
문제가 계속되면 아래의 ‘오류가 계속 발생하는 경우’ 섹션을 참고하세요.
AuthenticationError는 API 키 또는 토큰이 유효하지 않거나 만료 또는 폐기되었다는 뜻입니다. 오타, 형식 오류 또는 보안 침해가 원인일 수 있습니다.
AuthenticationError가 발생하면 다음 단계를 시도하세요.
API 키 또는 토큰이 올바르고 활성 상태인지 확인하세요. API 키 대시보드에서 새 키를 생성하거나 불필요한 공백이나 문자가 없는지 확인해야 할 수 있습니다. 키나 토큰이 여러 개라면 다른 키나 토큰을 사용해 보세요.
올바른 형식을 따랐는지 확인하세요.
BadRequestError(이전 이름은 InvalidRequestError)는 요청 형식이 잘못되었거나 토큰 또는 입력과 같은 필수 매개변수가 누락되었다는 뜻입니다. 코드의 오타, 형식 오류 또는 로직 오류가 원인일 수 있습니다.
BadRequestError가 발생하면 다음 단계를 시도하세요.
오류 메시지를 자세히 읽고 구체적인 문제를 파악하세요. 메시지에서 어떤 매개변수가 유효하지 않거나 누락되었는지, 어떤 값이나 형식이 필요한지 확인할 수 있습니다.
호출한 API 메서드의 API 레퍼런스를 참고해 유효한 매개변수를 빠짐없이 보내는지 확인하세요. 매개변수의 이름, 유형, 값, 형식을 검토하고 문서와 일치하는지 확인해야 할 수 있습니다.
요청 데이터의 인코딩, 형식, 크기를 확인하고 OpenAI 서비스에서 지원하는지 확인하세요. 데이터를 UTF-8로 인코딩하거나 JSON 형식으로 변환해야 할 수 있습니다. 데이터가 너무 크면 압축이 필요할 수 있습니다.
Postman이나 curl 같은 도구로 요청을 테스트해 예상대로 작동하는지 확인하세요. 코드를 디버깅해 요청 로직의 오류나 불일치를 수정해야 할 수 있습니다.
문제가 계속되면 아래의 ‘오류가 계속 발생하는 경우’ 섹션을 참고하세요.
InternalServerError는 OpenAI 측에서 요청을 처리하는 중 문제가 발생했다는 뜻입니다. 일시적인 오류, 버그 또는 시스템 장애가 원인일 수 있습니다.
이용에 불편을 드려 죄송합니다. OpenAI는 문제를 최대한 빨리 해결하기 위해 노력하고 있습니다. 자세한 내용은 시스템 상태 페이지에서 확인할 수 있습니다.
InternalServerError가 발생하면 다음 단계를 시도하세요.
몇 초 기다린 뒤 요청을 다시 보내세요. 문제가 빠르게 해결되어 두 번째 시도에서는 요청이 성공할 수 있습니다.
상태 페이지에서 서비스에 영향을 줄 수 있는 장애나 유지보수가 진행 중인지 확인하세요. 장애가 발생했다면 최신 공지를 확인하고 장애가 해결된 뒤 요청을 다시 보내세요.
문제가 계속되면 아래의 ‘오류가 계속 발생하는 경우’ 섹션을 참고하세요.
지원팀에서 문제를 조사한 뒤 최대한 빨리 답변드리겠습니다. 문의가 많으면 답변까지 시간이 걸릴 수 있습니다. 커뮤니티 포럼에 글을 올릴 수도 있습니다. 이때 민감한 정보는 제외하세요.
RateLimitError는 할당된 요청 한도에 도달했다는 뜻입니다. 일정 시간 동안 너무 많은 토큰이나 요청을 보내 OpenAI 서비스가 추가 요청을 일시적으로 차단한 상태입니다.
OpenAI는 리소스를 공정하고 효율적으로 사용할 수 있도록 하고 서비스의 오용이나 과부하를 방지하기 위해 요청 한도를 적용합니다.
RateLimitError가 발생하면 다음 단계를 시도하세요.
전송하는 토큰 수나 요청 수를 줄이거나 요청 간격을 늘리세요. 요청 빈도나 요청량을 줄이거나 토큰을 일괄 처리해야 할 수 있습니다. Retry-After 헤더가 없으면 지수 백오프를 사용할 수 있습니다. 자세한 내용은 요청 한도 가이드를 참고하세요.
Retry-After 헤더가 있으면 적어도 지정된 시간만큼 기다린 뒤 다시 시도하세요. 서버가 지정한 대기 시간이 Python 라이브러리에서 지원하는 한도를 초과하면 라이브러리가 자동 재시도를 중단할 수 있습니다. 애플리케이션에서 재시도한다면 서버가 처음 지정한 대기 시간을 지키고 SDK의 재시도도 고려하세요.