Limites de débit
Les limites de débit sont des restrictions que notre API impose sur le nombre de fois qu'un utilisateur ou un client peut accéder à nos services au cours d'une période donnée.
Pourquoi des limites
Nous avons mis en place des limites de débit sur notre API afin de créer la meilleure expérience possible pour tout le monde. Voici pourquoi elles sont importantes :
-
Pour garder notre service sain et sauf ! Considérez les limites de débit comme des videurs amicaux - elles veillent à ce que personne ne puisse submerger notre API avec trop de requêtes à la fois. Cela aide à protéger notre service contre une éventuelle utilisation abusive et garde tout fonctionnant sans accroc.
-
Pour s'assurer que chacun obtient sa juste part. Tout comme le partage de jouets dans une cour de récréation, nous voulons nous assurer que tous nos utilisateurs ont un accès égal à l'API. En limitant doucement le nombre de requêtes que chaque utilisateur peut effectuer, nous garantissons que personne n'ait à attendre trop longtemps son tour.
-
Pour garder des performances rapides et fiables. En gérant le flux global des requêtes, nous pouvons maintenir des temps de réponse rapides et un service stable pour tous nos merveilleux utilisateurs. C'est comme s'assurer qu'une autoroute ne devienne pas trop encombrée - le trafic circule mieux quand on empêche la congestion !
Comment fonctionnent les limites
Les limites de débit sont mesurées de 2 façons :
- Requêtes par seconde : c'est le nombre de requêtes réseau que vous pouvez effectuer par seconde.
- Tâches en file d'attente : c'est le nombre de tâches de génération simultanées que vous pouvez exécuter en file d'attente à un moment donné.
Les tâches en file d'attente incluent les endpoints Texte en 3D, Image en 3D, Texte en texture et Remaillage. D'autres endpoints comme Upload et Balance ne sont pas inclus dans cette limite.
Les limites sont appliquées par compte. Cela signifie que les limites sont partagées entre toutes vos API keys.
Outre les limites de débit, la priorité de traitement des tâches affectera également la vitesse de vos tâches.
Chaque niveau utilisateur dispose de limites de débit et de niveaux de priorité spécifiques conçus pour répondre à ses besoins. Voici les limites actuelles par niveau :
| Niveau utilisateur | Requêtes par seconde | Tâches en file d'attente | Niveau de priorité |
|---|---|---|---|
| Pro | 20 | 10 | Par défaut |
| Premium | 20 | 30 | Supérieur à Pro |
| Ultra | 20 | 100 | Le plus élevé |
| Studio | 20 | 20 | Supérieur à Pro |
| Enterprise | 100 | Par défaut 100, personnalisable | Le plus élevé |
Si vous dépassez ces limites, vous recevrez une réponse 429 Too Many Requests de notre API. Il existe deux types de dépassements pouvant déclencher cela, chacun avec une réponse différente :
- Dépassement de requêtes : cela se produit lorsque vous effectuez trop de requêtes par seconde. Vous recevrez une réponse
429 Too Many Requestsavec un messageRate limit exceeded. - Dépassement de file d'attente : cela se produit lorsque vous avez trop de tâches de génération simultanées en cours d'exécution. Vous recevrez une réponse
429 Too Many Requestsavec un messageNoMorePendingTasks(ou, lorsque vos crédits sont épuisés,NoMoreConcurrentTasks). Ce429n'a pas deRetry-After: attendez qu'une de vos tâches se termine avant d'en créer une nouvelle.
En-têtes de limite de débit
Les réponses de l'API contiennent ces en-têtes afin que vous puissiez rythmer vos requêtes :
| En-tête | Description |
|---|---|
X-RateLimit-Limit | Nombre de requêtes autorisées par seconde selon votre niveau. |
X-RateLimit-Remaining | Requêtes restantes dans la seconde en cours. |
X-RateLimit-Reset | Secondes avant que votre quota ne soit à nouveau plein. |
Retry-After | Secondes à attendre avant votre prochaine requête. Envoyé avec un 429 de dépassement de requêtes, et lorsque vous récupérez une tâche encore PENDING ou IN_PROGRESS. |
Lorsque Retry-After est présent, attendez ce nombre de secondes avant d'envoyer la requête suivante.