RunbaseДокументация

Command Palette

Search for a command to run...

Лимиты запросов

Лимиты API-запросов и способы их обработки.

Runbase применяет ограничения на частоту запросов для каждого API-ключа, чтобы обеспечить справедливое использование и стабильность платформы.

Ограничения по умолчанию

ОбластьЛимит
API key (runs endpoints)20 запросов за 10 секунд
Auth endpoints5 запросов за 60 секунд
Session check60 запросов за 60 секунд

Ограничение частоты запросов для runs endpoints применяется к POST /api/v1/runs и GET /api/v1/runs/:id вместе, для каждого API-ключа.

Ответ при превышении лимита

Когда вы превышаете лимит, 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")

Советы

  • Используйте отдельные ключи для разных сервисов или воркеров, чтобы не делить один лимит
  • Опрос выполняйте с разумными интервалами при проверке статуса запуска — для большинства моделей достаточно каждые 1–2 секунды
  • Пакетируйте задачи, а не отправляйте много запросов одновременно
  • Не повторяйте запрос сразу после 429 — всегда ждите перед повторной попыткой

Нужны более высокие лимиты?

Свяжитесь с support@runbase.net, если вашему случаю использования нужны более высокие ограничения на частоту запросов.