Pourquoi le modèle d’OpenAI est la référence
La facturation SaaS traditionnelle gère mal le coût variable de l’utilisation de l’IA. Le modèle d’OpenAI résout trois problèmes à la fois :- Revenus prévisibles et risques réduits : Comme l’utilisation de l’API est prépayée, les utilisateurs ne peuvent pas accumuler des factures qu’ils ne seraient pas en mesure de payer. OpenAI reçoit l’argent à l’avance, puis l’utilisateur le dépense au fur et à mesure de son utilisation du service.
- Évolutivité pour les développeurs : Un rechargement de $5 constitue une barrière à l’entrée faible. À mesure qu’une application se développe, les développeurs peuvent automatiser les rechargements ou acheter des packs plus importants. Le démarrage est peu coûteux et l’utilisation peut augmenter sans changement de forfait.
- Psychologie des utilisateurs : Des crédits libellés en dollars américains, plutôt qu’en « tokens » ou en « points » abstraits, rendent la valeur évidente. Le solde fonctionne comme un compte prépayé pour les services d’IA, ce qui facilite la gestion budgétaire des entreprises.
Comment OpenAI facture
OpenAI utilise deux modèles de facturation pour différents utilisateurs.- API (Pay-as-you-go) : L’API utilise des crédits prépayés libellés en dollars. Les utilisateurs alimentent leur compte de 5 , 50 , les appels API échouent.
- ChatGPT Plus, Business et Enterprise : Il s’agit d’abonnements à tarif fixe. ChatGPT Plus coûte 20 par utilisateur et par mois en cas de facturation mensuelle. Ces offres disposent de plafonds d’utilisation souples : les utilisateurs intensifs sont redirigés vers un modèle plus petit au lieu d’être bloqués.
- Niveaux de tarification basés sur les dépenses : À mesure que les dépenses totales augmentent, le compte débloque des limites de débit API plus élevées. L’accès évolue avec l’historique de facturation.
Ce qui le rend unique
Quatre caractéristiques rendent la facturation d’OpenAI efficace pour les services d’IA :- Crédits libellés en monnaie fiduciaire : Les crédits sont exprimés en dollars américains, ce qui leur donne l’apparence d’une somme d’argent. Les développeurs peuvent lire directement le prix d’une requête.
- Expiration longue : Les crédits achetés restent valables pendant un an, ce qui réduit la pression du « à utiliser ou à perdre ». Les utilisateurs n’hésitent pas à ajouter des montants plus élevés.
- Mesure multidimensionnelle : Les tokens d’entrée et de sortie sont suivis séparément, mais déduits du même solde. OpenAI peut facturer les tokens de sortie coûteux plus cher que les tokens d’entrée.
- Niveaux de confiance : Les limites de débit qui augmentent avec les dépenses totales récompensent les clients fidèles et les encouragent à rester.
Avantages stratégiques
Le modèle s’auto-renforce. Les faibles coûts d’entrée attirent les développeurs. Les crédits prépayés génèrent immédiatement des liquidités. La tarification basée sur l’utilisation permet à OpenAI de gagner davantage lorsque les développeurs réussissent. Les abonnements ajoutent une base stable de revenus provenant des utilisateurs qui ne sont pas développeurs.Reproduire ce modèle avec Dodo Payments
Vous pouvez reproduire le modèle de facturation d’OpenAI avec Dodo Payments. Utilisez la facturation basée sur les crédits pour la partie API et les abonnements standards pour la partie ChatGPT Plus.1
Create a Fiat Credit Entitlement
Dans votre tableau de bord Dodo Payments, accédez à Products → Credits et cliquez sur Create Credit. Ce crédit constitue le solde central de chaque utilisateur.
- Credit Type: Fiat Credits, avec Unit Currency défini sur USD
- Credit Expiry: Custom, 365 jours (correspond à l’expiration d’un an d’OpenAI), ou Never
- Rollover: Non nécessaire (les crédits ne sont pas réinitialisés à chaque cycle)
- Allow Overage: Désactivé
2
Create Top-Up Products
Créez des produits de paiement ponctuel pour différents packs de crédits, par exemple 5 , 50 . Associez votre crédit fiduciaire à chaque produit.Définissez le nombre de crédits attribués sur la valeur en dollars du pack. Un pack de 50 $ attribue 50 crédits.
3
Create Usage Meters
Créez deux meters pour suivre l’utilisation des tokens :
llm.input_tokens: Agrégation par somme sur la propriététokens.llm.output_tokens: Agrégation par somme sur la propriététokens.
Calculer les unités de meter par crédit
Pour reproduire la tarification GPT-4o d’OpenAI, calculez combien de tokens coûtent 1 $, soit un crédit fiduciaire :- Input Tokens: 1 000 000 tokens / 2,50 .
- Output Tokens: 1 000 000 tokens / 10,00 .
4
Send Usage Events
Après chaque requête LLM, envoyez l’utilisation à Dodo Payments. Une requête peut contenir à la fois l’événement d’entrée et celui de sortie. Cet extrait réutilise le
client de l’étape précédente.5
Handle Balance Depletion
Vérifiez le solde de l’utilisateur avant de traiter une requête API. Si le solde est nul ou négatif, refusez la requête, par exemple avec un statut
402.Gérer les webhooks de solde faible
Prévenez les utilisateurs avant qu’ils n’atteignent 0 $. Définissez un Low Balance Threshold lorsque vous associez le crédit, puis envoyez un e-mail ou une notification dans l’application lorsque le webhookcredit.balance_low arrive.6
Build the ChatGPT Subscription Side (Optional)
Pour proposer une offre d’abonnement comme ChatGPT Plus, créez un produit d’abonnement distinct dans Dodo Payments. Il n’a pas besoin d’une entitlement de crédit.Pour une offre Team, utilisez la facturation par siège : un add-on par siège dont la quantité correspond au nombre d’utilisateurs.
Mettre en œuvre des plafonds souples
Pour créer des plafonds souples, suivez l’utilisation des utilisateurs abonnés avec les mêmes meters, mais sans les associer à un crédit. Dans votre application, vérifiez l’utilisation pour la période de facturation actuelle.Accélérer avec le blueprint d’ingestion LLM
Les étapes ci-dessus créent et envoient les événements d’utilisation manuellement. Le LLM Ingestion Blueprint enveloppe plutôt votre client OpenAI et suit automatiquement les tokens.inputTokens, outputTokens et totalTokens dans chaque réponse API et les envoie, avec model, comme métadonnées d’événement. Définissez la propriété Over Property de votre meter sur la clé de token à facturer.
Mettre en œuvre les niveaux de tarification basés sur les dépenses
Les niveaux de débit d’OpenAI gèrent la capacité en fonction de la confiance. Pour les reproduire, suivez les dépenses cumulées de chaque client.- Suivre les dépenses cumulées : Écoutez les webhooks
payment.succeededet ajoutez le montant du paiement à un champtotal_spendpour ce client dans votre base de données. Les montants sont exprimés dans la plus petite unité monétaire ; 5000 correspondent donc à 50,00 $. - Définir les niveaux : Associez les montants dépensés aux limites de débit :
- Niveau 1 : dépenses de 0 -> 3 RPM
- Niveau 2 : dépenses de 50 -> 10 RPM
- Niveau 3 : dépenses supérieures ou égales à 250 $ -> 50 RPM
- Appliquer les limites : Dans votre middleware API, recherchez le niveau du client et appliquez sa limite de débit.
Exemple complet d’implémentation : le proxy API
En production, un proxy API se trouve généralement entre vos utilisateurs et le fournisseur LLM. Le proxy authentifie la requête, vérifie les crédits et signale l’utilisation. Le gestionnaire ci-dessous implémente le proxy :Gérer les cas particuliers
Un système de facturation comme celui d’OpenAI comporte plusieurs cas particuliers à anticiper.Conditions de concurrence
Un utilisateur disposant d’un faible solde peut envoyer plusieurs requêtes simultanément et dépasser le solde avant le traitement d’un événement. Pour éviter cela, conservez une petite réserve ou maintenez un verrou distribué sur le solde du client pendant chaque requête.Latence d’ingestion des événements
Dodo Payments déduit les crédits de manière asynchrone. Un worker en arrière-plan traite les nouveaux événements environ une fois par minute ; une déduction peut donc être retardée par rapport à l’appel API. Pour une application stricte en temps réel, conservez un cache local du solde de chaque utilisateur et mettez-le à jour à mesure que vous traitez les requêtes.Gestion des remboursements
Le remboursement d’un achat de pack de crédits ne supprime pas les crédits qu’il a attribués. Lorsque vous remboursez un achat, déduisez vous-même ces crédits avec un débit : utilisez Apply Credit/Debit dans l’onglet Credits du client, ou l’API Create Ledger Entry. Mettez ensuite à jour la représentation du solde dans votre application afin que les utilisateurs ne puissent pas dépenser des crédits qu’ils ne possèdent plus.Prise en charge de plusieurs modèles
Pour prendre en charge plusieurs modèles avec des tarifs différents, choisissez l’une des deux options suivantes :- Meters distincts : Créez un ensemble de meters par modèle, par exemple
gpt-4o.input_tokensetgpt-4o-mini.input_tokens, chacun avec sa propre valeur Meter units per credit. - Événements pondérés : Utilisez un seul meter et multipliez
tokenspar un coefficient avant d’envoyer l’événement. Par exemple, si GPT-4o coûte 10 fois plus cher que GPT-4o-mini, envoyez 10 fois plus de tokens pour les requêtes GPT-4o.
Vue d’ensemble de l’architecture
La boucle ci-dessous présente le flux prépayé, de l’achat au blocage des appels : Les meters suivent les tokens et déduisent leur valeur en dollars du solde de crédits de l’utilisateur, selon les tarifs que vous avez configurés. Votre application bloque les appels lorsque le solde atteint zéro.Conclusion
Avec Dodo Payments, vous pouvez combiner la facturation basée sur l’utilisation avec la prévisibilité des crédits prépayés, comme le fait OpenAI. Les clients paient à l’avance, dépensent au fur et à mesure et rechargent leur compte lorsqu’ils ont besoin de crédits supplémentaires. Les mêmes éléments conviennent à une grande plateforme LLM comme à un petit outil d’IA : un crédit fiduciaire, des produits de recharge, des meters de tokens et une vérification du solde avant chaque requête.Fonctionnalités clés de Dodo utilisées
Ces fonctionnalités de Dodo Payments alimentent l’implémentation :Credit-Based Billing
Gérez les crédits fiduciaires prépayés et les entitlements de vos utilisateurs.
Usage-Based Billing
Suivez une utilisation détaillée, comme les tokens, et facturez-la.
One-Time Payments
Vendez des packs de crédits et des recharges via le checkout.
Event Ingestion
Envoyez des données d’utilisation à haut volume à Dodo Payments.
Webhooks
Restez informé des changements de solde de crédits et des alertes de solde faible.
LLM Ingestion Blueprint
Suivi automatique des tokens pour OpenAI et les autres fournisseurs LLM.