Aller au contenu

Limites de débit et quotas

Appels par minute, vidéos simultanées, appels échoués par jour et quotas mensuels, par organisation : toutes ses clés confondues, selon votre offre. Les appels sans clé sont comptés par adresse.

Limites par offre
OffreAppels par minuteMarquages par moisDonnées renvoyées par moisVidéos simultanées
Free101 0001 Go1
Indie6020 00020 Go2
Startup300150 000150 Go3
Scale1 0001 000 000500 Go5
EnterpriseFixées par votre contrat

Appels par minute

Chaque appel authentifié compte dans la limite de son organisation, toutes ses clés confondues : marquages, horodatages et consultations de l’utilisation, sans distinction. Les fenêtres sont des minutes pleines de l’horloge (UTC) : le décompte repart donc à zéro au début de chaque minute. Chaque réponse indique où vous en êtes :

En-têtes
X-RateLimit-Limit: 10          # calls this minute, for this organisation
X-RateLimit-Remaining: 7       # left this minute
X-RateLimit-Reset: 1792663260  # Unix time (s) when the minute ends

Au-delà de la limite, l’API répond 429 rate_limited avec Retry-After en secondes. Répartissez le travail sur la minute, ou passez à une offre supérieure. Les SDK JavaScript et Python patientent d’eux-mêmes quand Retry-After ne dépasse pas une minute.

Appels échoués

Un marquage ou un contrôle qui échoue une fois son traitement commencé (mark_failed, ou un contrôle qui n’a pas pu aboutir) n’est pas décompté : ces échecs ont donc un plafond quotidien par organisation, Free 100, Indie 300, Startup 1 000, Scale 3 000 par jour (UTC). Au-delà, POST /v1/mark et POST /v1/check répondent 429 jusqu’à minuit UTC. Les refus avant tout traitement (un fichier illisible, un blocage, le nombre de marquages restants) ne comptent pas.

Vidéos

Une vidéo est marquée sous forme de tâche, et chaque offre en marque quelques-unes à la fois (Free 1, Indie 2, Startup 3, Scale 5). Une vidéo envoyée alors que toutes ces tâches sont en cours reçoit 429 rate_limited avec Retry-After: 30.

Une vidéo qui échoue une fois son traitement commencé (son filigrane ne se relit pas, ou elle ne peut pas être marquée à temps : mark_failed) n’est pas décomptée : ces échecs ont donc un plafond quotidien, Free 3, Indie 10, Startup 10, Scale 20 sur 24 heures. Au-delà, les nouvelles vidéos reçoivent 429 jusqu’à ce que le premier de ces échecs date d’un jour. GET /v1/marks/{id} indique la raison de chaque échec. Les refus avant tout traitement (une vidéo qui dépasse nos limites, un blocage, le nombre de marquages restants) ne comptent pas.

Appels sans clé

Les endpoints publics comptent plutôt par adresse, avec les mêmes en-têtes. Une adresse IPv6 est comptée par son /64, le bloc généralement attribué à une connexion.

  • POST /v1/verify : 10 fichiers par minute et 200 par jour. Sans clé, l’ensemble du service répond en outre au maximum à 5 000 vérifications par jour (UTC), et à 500 avec signed=true ; avec une clé (gratuite), les vérifications comptent plutôt dans les appels par minute de votre organisation. La page du vérificateur lit les fichiers dans votre navigateur et n’est pas comptée ici.
  • Le journal de transparence, GET /v1/credentials et GET /v1/verify/key : 120 appels par minute.

Quotas mensuels

  • Marquages : un par POST /v1/mark réussi, et deux par image analysée par le contrôle de sécurité (POST /v1/check, ou check lors d’un marquage). Les clés de test ont leur propre quota : 100 marquages par mois avec l’offre Free, autant qu’en production avec les offres payantes. Les 1 000 marquages de l’offre Free forment un seul quota par personne : sa première organisation en dispose, et toute autre organisation que cette personne crée démarre sans aucun marquage tant qu’elle n’a pas d’offre payante.
  • Données renvoyées : les octets des fichiers marqués que nous renvoyons en mode cloud (1 Go = 10⁹ octets).
  • Horodatages : un par POST /v1/tsa, dans la limite des marquages de votre offre, là encore séparément pour la production et le test.

Les quotas courent par mois civil, en UTC. Quand l’un d’eux est épuisé, l’API répond 402 quota_exceeded jusqu’au 1er du mois suivant, ou jusqu’à ce que vous passiez à une offre supérieure. Un marquage est réservé quand une requête est acceptée et restitué si quoi que ce soit échoue : seuls les marquages livrés sont donc décomptés. Vos chiffres actuels figurent dans le tableau de bord, dans les en-têtes X-Marks-Used et X-Marks-Limit, et sur GET /v1/usage.

Les offres payantes mensuelles continuent au-delà de leur quota aux tarifs de dépassement publiés, facturés le 1er du mois, jusqu’à dix fois le quota ; les offres annuelles s’arrêtent au quota, comme l’offre Free.