> ## Documentation Index
> Fetch the complete documentation index at: https://novita.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Snelheidslimieten

export const DynamicRPMList = () => {
  if (typeof document === "undefined") {
    return null;
  } else {
    let attempts = 0;
    const maxAttempts = 50;
    const formatAmount = num => {
      if (typeof num === "number") {
        return num.toLocaleString();
      }
      return num || "-";
    };
    const interval = setInterval(() => {
      const clientComponent = document.getElementById("dynamic-rpm-list");
      if (clientComponent && window.novitaRemoteData.llmModels.status === 'loaded') {
        const modelList = window.novitaRemoteData.llmModels.data.filter(model => {
          return Boolean(model.rpm);
        });
        const allModels = modelList.map(model => {
          const t1 = (model.quota_items || []).find(item => item.tier === "T1") || ({});
          const t2 = (model.quota_items || []).find(item => item.tier === "T2") || ({});
          const t3 = (model.quota_items || []).find(item => item.tier === "T3") || ({});
          const t4 = (model.quota_items || []).find(item => item.tier === "T4") || ({});
          const t5 = (model.quota_items || []).find(item => item.tier === "T5") || ({});
          return `
            <tr>
              <td rowspan="2" style="vertical-align: middle; max-width: 230px">${model.id}</td>
              <td>RPM</td>
              <td>${formatAmount(t1.rpm)}</td>
              <td>${formatAmount(t2.rpm)}</td>
              <td>${formatAmount(t3.rpm)}</td>
              <td>${formatAmount(t4.rpm)}</td>
              <td>${formatAmount(t5.rpm)}</td>
            </tr>
            <tr>
              <td>TPM</td>
              <td>${formatAmount(t1.tpm)}</td>
              <td>${formatAmount(t2.tpm)}</td>
              <td>${formatAmount(t3.tpm)}</td>
              <td>${formatAmount(t4.tpm)}</td>
              <td>${formatAmount(t5.tpm)}</td>
            </tr>
          `;
        }).join('');
        clientComponent.innerHTML = `
          <table class="table table-big">
            <thead>
              <tr>
                <th>Model</th>
                <th></th>
                <th>T1</th>
                <th>T2</th>
                <th>T3</th>
                <th>T4</th>
                <th>T5</th>
              </tr>
            </thead>
            <tbody>
              ${allModels}
            </tbody>
          </table>
        `;
        clearInterval(interval);
      }
      attempts++;
      if (attempts >= maxAttempts) {
        clearInterval(interval);
      }
    }, 200);
    return <div id="dynamic-rpm-list"></div>;
  }
};

Snelheidslimieten bepalen hoe vaak gebruikers binnen specifieke tijdsperioden verzoeken kunnen doen aan onze LLM API. Het begrijpen van deze limieten en binnen deze limieten werken is essentieel voor optimaal API-gebruik.

<Tip>
  Nieuw bij de API? Bekijk eerst [API Keys](/docs/nl/guides/llm-api-keys) om te zien hoe je een sleutel aanmaakt en je ermee verifieert.
</Tip>

## 1. Snelheidslimieten begrijpen

### Wat zijn snelheidslimieten?

Snelheidslimieten beperken het aantal API-verzoeken dat binnen gedefinieerde tijdsperioden kan worden gedaan. Ze helpen om:

* Misbruik en verkeerd gebruik van de API te voorkomen;
* Een eerlijke verdeling van resources onder gebruikers te waarborgen;
* Consistente API-prestaties en betrouwbaarheid te behouden;
* De stabiliteit van onze services te beschermen.

### Standaard snelheidslimieten

Elk account heeft een standaard snelheidslimiet voor modelaanroepen, gemeten in RPM (requests per model per minute) en TPM (tokens per model per minute). Snelheidslimieten verschillen per accountniveau, zoals weergegeven in de onderstaande tabellen.

<table class="table table-big">
  <thead>
    <tr>
      <th class="min-w-10">Niveau</th>
      <th>Hoe te bereiken</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>T1</td>
      <td>Maandelijkse opwaarderingen waren in geen van de laatste 3 kalendermaanden hoger dan \$50.</td>
    </tr>

    <tr>
      <td>T2</td>
      <td>Maandelijkse opwaarderingen waren ten minste \$50, maar waren in geen van de laatste 3 kalendermaanden hoger dan \$500.</td>
    </tr>

    <tr>
      <td>T3</td>
      <td>Maandelijkse opwaarderingen waren ten minste \$500, maar waren in geen van de laatste 3 kalendermaanden hoger dan \$3,000.</td>
    </tr>

    <tr>
      <td>T4</td>
      <td>Maandelijkse opwaarderingen waren ten minste \$3,000, maar waren in geen van de laatste 3 kalendermaanden hoger dan \$10,000.</td>
    </tr>

    <tr>
      <td>T5</td>
      <td>Maandelijkse opwaarderingen waren in minstens één van de laatste 3 kalendermaanden ten minste \$10,000.</td>
    </tr>
  </tbody>
</table>

<Tip>De laatste 3 kalendermaanden verwijzen naar de huidige maand en de twee maanden ervoor.</Tip>

Standaard snelheidslimiet per niveau (RPM / TPM):

<DynamicRPMList />

## 2. Omgaan met snelheidslimieten

### Hoe monitor je snelheidslimieten?

Wanneer je de snelheidslimiet overschrijdt, retourneert de API:

* HTTP-statuscode: 429 (Too Many Requests);
* Een bericht in de response body dat de snelheidslimiet is overschreden.

### Best practices

Om te voorkomen dat je snelheidslimieten bereikt:

1. Implementeer request throttling in je applicatie;
2. Voeg exponential backoff toe voor retries;
3. Monitor je API-gebruikspatronen.

### Wanneer je snelheidslimieten bereikt

Als je een 429-fout ontvangt, kun je:

1. **Later opnieuw proberen**: Wacht een korte periode voordat je je verzoek opnieuw probeert;
2. **Verzoeken optimaliseren**: Verminder de verzoekfrequentie;
3. **Snelheidslimieten verhogen**: Voor hogere snelheidslimieten kun je:
   * <a href="https://discord.gg/YyPRAzwp7P" target="_blank">Neem contact met ons op via Discord</a>
   * of <a href="https://meet.brevo.com/novita-ai/contact-sales" target="_blank">Plan een gesprek met ons salesteam</a>

***

**Als je vragen hebt, [neem dan contact met ons op via Discord](https://discord.gg/YyPRAzwp7P).**
