PopNowAPI 문서
레퍼런스
본문

요청 제한

보낼 수 있는 요청의 양, 넘었을 때 일어나는 일, 그 밖에 알아 둘 제한.

제한은 서비스를 함께 쓰는 모두를 보호하기 위한 것입니다. 기본값은 일반적인 사용에 넉넉하며, 제한에 걸리면 응답이 얼마나 기다려야 하는지 정확히 알려 줍니다.

한눈에 보기

제한기본값걸렸을 때
계정당 쓰기(createTask, retry, 업로드 …)10초에 1,000회Retry-After가 붙은 429
계정당 읽기(recordInfo, models, jobs, quote …)10초에 1,000회Retry-After가 붙은 429
업로드 티켓10초에 1,000회, 쓰기와 별도로 추가Retry-After가 붙은 429
사용량 보고서(/api/v1/usage)계정당 분당 30회Retry-After가 붙은 429
에셋 라이브러리분당 읽기 60회·저장 30회, 하루 신규 에셋 수 제한Retry-After가 붙은 429
키 확인 전의 모든 요청네트워크당 분당 6,000회429
요청 본문JSON 2 MiB까지413
잔액계정에 있는 만큼40201
키 지출 한도정하지 않으면 없음40202

제한은 키가 아니라 계정 단위로 셉니다. 키를 더 만들어도 한도는 늘지 않습니다.

응답 헤더

헤더의미
X-RateLimit-Limit현재 구간의 허용량
X-RateLimit-Remaining구간에 남은 요청 수. 성공한 응답에도 오므로 미리 속도를 늦출 수 있습니다
Retry-After429일 때 다시 시도하기 전까지 기다릴 초

위 숫자는 기본값이며 바뀔 수 있습니다. 코드에 박아 두지 말고 헤더를 믿으세요.

제한에 걸렸을 때의 응답

{ "code": 429, "msg": "Too many requests. Retry in a moment", "request_id": "req_…" }

한도를 넘은 요청은 대기열에 들어가지 않고 바로 거부되며 비용도 들지 않습니다.

대처 방법

  • 최소 Retry-After초를 기다린 뒤 다시 시도하세요. 여러 클라이언트가 한꺼번에 몰리지 않도록 약간의 무작위 지연을 더하세요.
  • createTask를 재시도할 때는 같은 Idempotency-Key를 보내세요(멱등성).
  • 폴링은 여유 있게 하세요. 이미지는 몇 초마다, 영상은 10~15초마다면 충분합니다. 웹훅은 요청을 전혀 쓰지 않으니 더 좋습니다.

많은 작업을 동시에 돌리기

요청 제한은 요청을 보내는 속도를 제한할 뿐, 동시에 실행되는 작업 수를 제한하지 않습니다. 많은 작업을 함께 돌릴 수 있고, 긴 영상은 그저 오래 걸릴 뿐입니다. 수천 개의 작업을 시작해야 한다면 나눠서 보내고 결과는 웹훅으로 받으세요.

출시 행사나 대량 작업으로 더 높은 한도가 필요하면 예상 사용량과 함께 문의해 주세요.

이 페이지에서