# Límites de Uso (Rate Limits)

Los **Rate Limits** o **límites de uso** son restricciones que **Saptiva** impone para controlar la cantidad de solicitudes que un usuario o cliente puede realizar a la **API** en un periodo determinado.\
Estos límites garantizan un servicio estable, seguro y justo para todos los usuarios.

***

### 🧩 ¿Por qué existen los límites de uso?

Los límites de uso son una práctica estándar en las APIs y cumplen con varios propósitos importantes:

* 🔒 **Protección contra abusos o uso indebido:** Evitan que actores malintencionados saturen el sistema con solicitudes excesivas.
* ⚖️ **Acceso equitativo:** Garantizan que todos los usuarios tengan una experiencia fluida evitando que unos pocos monopolicen los recursos.
* ⚙️ **Estabilidad del sistema:** Ayudan a mantener una carga equilibrada en la infraestructura, preservando el rendimiento general del servicio.

***

### ⚙️ ¿Cómo funcionan los límites de uso?

Los límites se miden en diferentes unidades dependiendo del tipo de solicitud:

| Tipo de límite                | Descripción                     |
| ----------------------------- | ------------------------------- |
| **RPM** (Requests Per Minute) | Solicitudes por minuto.         |
| **RPD** (Requests Per Day)    | Solicitudes por día.            |
| **TPM** (Tokens Per Minute)   | Tokens procesados por minuto.   |
| **TPD** (Tokens Per Day)      | Tokens procesados por día.      |
| **IPM** (Images Per Minute)   | Imágenes procesadas por minuto. |

Un usuario puede alcanzar el límite si excede cualquiera de estos valores.\
Por ejemplo, si tu límite es de **60 RPM** y realizas 60 solicitudes en un minuto, deberás esperar al siguiente ciclo para continuar, incluso si no alcanzaste tu límite de tokens.

***

### 🧮 Límites por plan

A continuación, se muestran los límites establecidos por tipo de plan en **Saptiva**:

| Plan                 | Imágenes por minuto (IPM) | Solicitudes por minuto (RPM) | Solicitudes por día (RPD) | Tokens por minuto (TPM) | Tokens por día (TPD) |
| -------------------- | ------------------------- | ---------------------------- | ------------------------- | ----------------------- | -------------------- |
| **Free**             | 6 / 60s                   | 60 / 60s                     | 20,000 / día              | 60,000 / 60s            | 20,000,000 / día     |
| **Developer (Paid)** | 7 / 60s                   | 4,000 / 60s                  | 250,000 / día             | 2,000,000 / 60s         | 250,000,000 / día    |
| **Enterprise**       | Ilimitado                 | Ilimitado                    | Ilimitado                 | Ilimitado               | Ilimitado            |

#### 📖 Ejemplo de limitación en plan Free:

<figure><img src="/files/wjgORGbLmjFFPXapUbUy" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Nota

💡 Los valores representan el límite máximo permitido en la ventana de tiempo especificada.
{% endhint %}

***

### ⏱️ Encabezado `retry-after`

El encabezado **`retry-after`** se incluye en las respuestas **HTTP** cuando el cliente ha alcanzado un límite de uso o ha realizado demasiadas solicitudes en un periodo corto de tiempo.\
Este valor indica **cuántos segundos** debe esperar antes de volver a intentar la solicitud.

#### 📖 Ejemplo

<table><thead><tr><th width="246">Campo</th><th>Valor</th><th>Descripción</th></tr></thead><tbody><tr><td><code>retry-after</code></td><td><code>50</code></td><td>Indica que el cliente debe esperar <strong>50 segundos</strong> antes de enviar una nueva solicitud.</td></tr></tbody></table>

#### 💡 Cuándo aparece este encabezado?

El encabezado `retry-after` se muestra cuando la **API** devuelve el código de estado **HTTP 429 (Too Many Requests)**, lo que significa que se ha superado alguno de los **Rate Limits** (como RPM, TPM o IPM).\
Durante este periodo, las solicitudes adicionales serán rechazadas hasta que el tiempo indicado haya transcurrido.

***

### 📈 Consideraciones importantes

* Los límites se aplican a nivel de **organización y proyecto**, no por usuario individual.
* Los límites pueden variar según el **modelo** utilizado.
* Algunos modelos **comparten límites** de uso entre sí.

***

### ⚙️ Ajuste de `max_tokens` para optimizar los límites de uso

Cuando realizas solicitudes a la **API** de **Saptiva**, el sistema calcula tu **límite de uso** (rate limit) considerando el número total de tokens en tu solicitud (según el conteo de caracteres).

Si defines un `max_tokens` demasiado alto, **tu solicitud consumirá más cuota de uso.**

#### 💡 Recomendación

Para evitar consumir más tokens de los necesarios:

1. **Estima el tamaño real de la respuesta** que esperas de la API.
2. **Ajusta el parámetro `max_tokens`** a un valor cercano a esa estimación.

Por ejemplo:

```json
{
  "model": "Saptiva Ops",
  "messages": [{"role": "user", "content": "Resume este texto en 100 palabras"}],
  "max_tokens": 150  # Valor ajustado al tamaño esperado de la respuesta
}
```

#### 📊 Beneficios de ajustar correctamente `max_tokens`

* Reduces el consumo innecesario de cuota de tokens.
* Evitas alcanzar los límites de uso antes de tiempo.
* Mejoras el rendimiento y la eficiencia de tus solicitudes.
* Mantienes tus costos bajo control, especialmente en planes **Free** o **Developer**.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://saptiva.gitbook.io/saptiva-docs/basicos/limites-de-uso-rate-limits.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
