Runbase문서

Command Palette

Search for a command to run...

요금 제한

API 요청 제한과 이를 처리하는 방법.

Runbase는 공정한 사용과 플랫폼 안정성을 보장하기 위해 API 키별로 속도 제한을 적용합니다.

기본 제한

범위제한
API 키 (runs 엔드포인트)10초당 20 요청
인증 엔드포인트60초당 5 요청
세션 확인60초당 60 요청

runs 엔드포인트의 속도 제한은 API 키별로 POST /api/v1/runsGET /api/v1/runs/:id를 합산한 전체에 적용됩니다.

속도 제한 응답

제한을 초과하면 API는 HTTP 429를 반환합니다:

{
  "error": {
    "message": "Rate limit exceeded",
    "code": "RATE_LIMITED"
  }
}

속도 제한 처리

429 응답을 받으면 지수 백오프를 구현하세요:

import time
import requests
 
def create_run(api_key, model, input_data, max_retries=3):
    url = "https://runbase.net/api/v1/runs"
    headers = {
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json"
    }
    body = {"model": model, "input": input_data}
 
    for attempt in range(max_retries):
        response = requests.post(url, json=body, headers=headers)
        if response.status_code == 429:
            wait = 2 ** attempt
            time.sleep(wait)
            continue
        return response.json()
 
    raise Exception("Rate limit exceeded after retries")

  • 서로 다른 서비스나 워커에는 별도의 키를 사용하여 속도 제한을 공유하지 않도록 하세요
  • run 상태를 확인할 때는 적절한 간격으로 폴링하세요 — 대부분의 모델에서는 1~2초마다면 충분합니다
  • 한 번에 많은 요청을 보내기보다 작업을 배치하세요
  • 429에서 즉시 재시도하지 마세요 — 재시도하기 전에 항상 기다리세요

더 높은 제한이 필요하신가요?

사용 사례상 더 높은 속도 제한이 필요하다면 support@runbase.net로 문의하세요.