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

# Limites de débit et plafonds de crédits / de dépenses pour l'API Pioneer

> Limites de débit de requêtes par endpoint, quotas WAF en périphérie, limites d'utilisation basées sur les crédits et plafonds de dépenses en dépassement, gestion des erreurs 429, et comment demander des limites plus élevées pour l'API Pioneer.

## Quotas de débit de requêtes et plafonds de crédits / de dépenses pour l'API Pioneer, gestion des erreurs 429, et demande de limites plus élevées

L'API Pioneer applique deux mécanismes indépendants pouvant bloquer une requête : les **limites de débit de requêtes** qui plafonnent le nombre d'appels API que vous pouvez effectuer par minute ou par heure, et les **limites d'utilisation basées sur les crédits** qui plafonnent le montant que vous pouvez dépenser. Dépasser une limite de débit renvoie `429 Too Many Requests`. Épuiser vos crédits ou atteindre le plafond de dépassement de votre plan renvoie plutôt `402 Payment Required` ou `403 Forbidden` — voir [Limites de crédits et plafond de dépassement](#credit-limits-and-overage-spending-cap) ci-dessous.

## Limites de débit de requêtes

Deux couches indépendantes protègent l'API :

1. **Limite de débit en périphérie** — toujours appliquée à chaque requête au niveau du répartiteur de charge, avant qu'elle n'atteigne l'API, indépendamment de l'endpoint ou de l'authentification. Agrégée par l'adresse IP observée en périphérie, qui n'est pas toujours l'IP client réelle de votre application (par exemple, les requêtes acheminées via un point de sortie mutualisé sont agrégées ensemble). Limite : 100 000 requêtes / 60 secondes.
2. **Limite par endpoint** — la plupart des endpoints ci-dessous appliquent leur propre limite dans le périmètre de votre équipe de facturation (en repliant sur la clé API, puis l'utilisateur, puis l'IP client pour les requêtes non authentifiées). C'est la limite qui régit un appelant normal et authentifié. Elle remplace la limite générique par IP pour cet endpoint plutôt que de s'y ajouter — la limite par IP par défaut ne régit que les endpoints sans surcharge listée.

| Endpoint                                                                        | Portée          | Limite                           |
| ------------------------------------------------------------------------------- | --------------- | -------------------------------- |
| Tous les autres endpoints (aucune limite spécifique définie)                    | Par IP client   | 20 000 / min · 1 000 000 / heure |
| `POST /inference`                                                               | Par utilisateur | 5 000 / min                      |
| `POST /v1/chat/completions`, `/v1/completions`, `/v1/responses`, `/v1/messages` | Par utilisateur | 5 000 / min                      |
| `POST /gliner-2/*`                                                              | Par utilisateur | 15 000 / min                     |
| `POST /generate/*`                                                              | Par utilisateur | 120 / min                        |
| `POST /felix/training-jobs`                                                     | Par utilisateur | 20 / min                         |

Pour une seule clé API ou équipe, c'est la limite par endpoint ci-dessus qui s'applique réellement. La limite en périphérie de 100 000 requêtes / 60 secondes est un plafond distinct et toujours actif, partagé par tout le trafic passant par le même répartiteur de charge — elle n'intervient que lorsque de nombreux appelants différents partagent la même IP observée et la dépassent collectivement.

## Limites de crédits et plafond de dépassement

L'inférence est facturée sur un solde de crédits plutôt que sur une fenêtre de débit de requêtes (1 crédit = \$0.01). Chaque plan inclut une allocation de crédits — le plan Free accorde une allocation ponctuelle qui ne se renouvelle pas, tandis que les plans payants renouvellent leurs crédits inclus chaque mois de facturation. Une fois les crédits inclus d'un plan payant utilisés, l'usage supplémentaire est facturé en dépassement (si activé) jusqu'au maximum mensuel de dépassement du plan ; sur le plan Free, l'épuisement stoppe simplement l'inférence jusqu'à l'ajout de crédits ou la montée en gamme.

Dépasser une limite de crédits ne renvoie **pas** `429 Too Many Requests`. Cela renvoie plutôt :

* `402 Payment Required` lorsque vos crédits inclus sont épuisés et qu'il n'y a plus de solde utilisable (`code: "out_of_credits"`).
* `403 Forbidden` lorsque le dépassement mensuel maximum de votre plan a été atteint (`code: "credit_ceiling_reached"`).

Les deux réponses partagent la même forme JSON :

```json theme={null}
{
  "code": "out_of_credits",
  "message": "You've used your included credits. Add credits or enable auto top-up.",
  "resolution_url": "https://agent.pioneer.ai/credits"
}
```

Vous pouvez consulter à tout moment votre utilisation actuelle, l'allocation restante et les paramètres de dépassement dans la section facturation du tableau de bord.

Les limites de crédits, les plafonds de dépassement et les conditions des plans sont soumis à disponibilité et peuvent être ajustés au fil du temps.

<Tip>
  Besoin d'une limite plus élevée ? Contactez [support@fastino.ai](mailto:support@fastino.ai) ou votre interlocuteur commercial, et nous pouvons relever le plafond dans le cadre d'un plan personnalisé.
</Tip>

## Gestion des réponses 429

Lorsque vous dépassez une limite, l'API renvoie `429 Too Many Requests` et inclut un en-tête `Retry-After` qui vous indique combien de secondes attendre avant de réessayer.

```bash cURL theme={null}
HTTP/2 429
retry-after: 3
content-type: application/json

{
  "detail": "Rate limit exceeded: ..."
}
```

Le modèle suivant gère les réponses `429` avec une simple boucle d'attente et de nouvelle tentative :

```python Python theme={null}
import time
import requests

def call_with_retry(url, headers, payload, max_retries=5):
    for attempt in range(max_retries):
        response = requests.post(url, headers=headers, json=payload)

        if response.status_code == 429:
            retry_after = int(response.headers.get("Retry-After", 1))
            print(f"Rate limited. Retrying in {retry_after}s...")
            time.sleep(retry_after)
            continue

        response.raise_for_status()
        return response.json()

    raise RuntimeError("Max retries exceeded.")
```

<Note>
  Les refus liés aux crédits et au dépassement (`402`/`403`, voir [Limites de crédits et plafond de dépassement](#credit-limits-and-overage-spending-cap)) ne se résolvent pas en attendant — la boucle de nouvelle tentative ci-dessus ne s'applique qu'aux réponses `429`. Un `402`/`403` nécessite une action de facturation (ajouter des crédits, activer la recharge automatique ou passer à un plan supérieur) avant que la requête suivante puisse aboutir.
</Note>

## Demander des limites plus élevées

Si les limites par défaut ou du palier Pro ne conviennent pas à votre charge de travail, contactez l'équipe Pioneer pour discuter d'un plan personnalisé.

[Demander des limites plus élevées](https://forms.gle/uzRf8bM2yZtpJFmd7)
