Skip to main content
L’API Samsa protège la capacité partagée avec deux limites indépendantes : un rate de requêtes par clé et un plafond de jobs concurrents par organisation. Les deux renvoient 429 avec des headers qui te disent quand réessayer.
Ces limites sont des valeurs par défaut et sont susceptibles de changer. Si ton intégration a besoin d’un plafond plus élevé, contacte support@samsa.ai.

Rate de requêtes par clé

Chaque API key peut effectuer jusqu’à 60 requêtes par minute, mesurées comme une fenêtre glissante de 60 secondes. Dépasser cette limite renvoie 429 avec code: "rate_limited". Les réponses réussies et les 429 de rate limit portent l’état actuel de la fenêtre (le header Retry-After n’est ajouté que sur les 429) :
Lis X-RateLimit-Remaining sur les réponses réussies pour ralentir avant d’atteindre la limite.

Plafond de concurrence par organisation

Indépendamment du rate de requêtes, une organisation peut avoir au plus 5 jobs concurrents en cours — jobs de génération, d’édition, de vidéo et de création de modèles encore pending ou processing, comptés sur toutes les clés de l’organisation. Soumettre un autre job alors qu’on est au plafond renvoie 429 avec code: "too_many_active_jobs" et un header Retry-After :
429 Too Many Requests
Ce plafond protège la capacité de traitement, il est donc rattaché à toute l’organisation, pas à une clé unique. Attends que les jobs en cours atteignent un statut terminal — interroge leur endpoint GET, ou abonne-toi à un webhook — avant d’en soumettre d’autres.

Un exemple de 429

Un 429 de la fenêtre par clé inclut à la fois les headers Retry-After et X-RateLimit-* :

Gérer les 429

1

Respecte Retry-After

Quand un 429 inclut un header Retry-After, attends au moins ce nombre de secondes avant de réessayer. C’est le signal qui fait autorité.
2

Ralentis de façon exponentielle

Pour des 429 répétés, augmente le délai entre les tentatives (par exemple 1s, 2s, 4s, 8s…), plafonné à un maximum raisonnable, avec un peu de jitter aléatoire pour éviter les réessais en troupeau (thundering herd).
3

Reste sous la limite de façon proactive

Surveille X-RateLimit-Remaining et throttle côté client avant d’atteindre 0. Pour le plafond de concurrence, borne le nombre de jobs que tu gardes en cours à la fois.
Voici une boucle de réessai minimale qui respecte Retry-After et retombe sur un backoff exponentiel.

Protection externe par IP

Au-delà de ces limites par clé et par organisation, Samsa applique une couche de protection par IP grossière à la périphérie du réseau (partagée avec le reste de la plateforme). C’est un garde-fou contre le trafic abusif, pas une limite que tu règles par intégration — les clients server-side bien élevés qui respectent les limites ci-dessus ne la rencontreront pas. Si tu routes de nombreuses organisations à travers une seule IP de sortie et que tu observes un throttling inattendu, contacte support@samsa.ai.