본문으로 건너뛰기

오류 처리

PROOF API는 표준 HTTP 상태 코드를 사용합니다. 오류 응답에는 사람이 읽을 수 있는 메시지가 포함된 detail 필드가 있습니다.

오류 코드​

상태의미조치
400잘못된 요청 — 잘못된 파일 형식, 누락된 필드요청 형식 확인
401잘못되거나 누락된 API 키API 키 확인
402크레딧 부족/payment에서 크레딧 추가 구매
403금지됨 — 스코프 누락 또는 개발자가 아님키 스코프 확인
404작업 또는 리소스를 찾을 수 없음작업 ID 확인
413파일이 너무 크거나 페이지가 너무 많음파일 크기 줄이기 또는 PDF 분할
429요청 제한 초과Retry-After 헤더 후 대기 후 재시도
502다운스트림 처리 오류지수 백오프로 재시도

오류 응답 형식​

{
"detail": "Insufficient credits"
}

재시도 전략​

429 및 502 오류의 경우 지수 백오프를 사용하세요:

import time
import requests

def retry_request(url, max_retries=3):
for attempt in range(max_retries):
resp = requests.get(url, headers=HEADERS)
if resp.status_code == 429:
wait = int(resp.headers.get("Retry-After", 5))
time.sleep(wait)
continue
if resp.status_code == 502 and attempt < max_retries - 1:
time.sleep(2 ** attempt)
continue
return resp
return resp

작업 오류​

작업이 실패하면 GET /jobs/{id}는 다음을 반환합니다:

{
"job_id": "job-abc123",
"status": "error",
"error_log": "LLM inference timeout after 120s"
}

일반적인 작업 오류:

  • LLM 추론 시간 초과 — 모델이 너무 오래 걸림, 재시도 또는 페이지 수 감소
  • 지원되지 않는 파일 형식 — 지원 형식 확인
  • Storage 업로드 실패 — 일시적 인프라 오류, 재시도
  • 크레딧 부족 — 확인 단계에서 감지, /payment에서 크레딧 구매