Consommation et facturation
Comprenez votre facture : consommation dans chaque réponse, point d’accès de solde pour chaque clé, tarifs effectifs, limites 429 et effet d’un solde vide.
La consommation de chaque requête figure dans chaque réponse : vous pouvez facturer à partir de ces chiffres en toute confiance. Instantané du solde disponible via GET /v1/dashboard/balance.
Tous les modèles, leurs capacités et leurs tarifs Index de la documentation pour les agents IA :https://oneprovider.dev/docs/llms.txt Consommation par requête
Chaque réponse /v1/messages inclut un objet usage avec le nombre de jetons :
{
"usage": {
"input_tokens": 48,
"output_tokens": 92,
"cache_creation_input_tokens": 0,
"cache_read_input_tokens": 0
}
} Pour chat-completions , les mêmes chiffres apparaissent sous prompt_tokens, completion_tokens et total_tokens.
Solde de la clé : GET /v1/dashboard/balance
Renvoie le solde actuel de la clé. Il répond instantanément et prend la même clé que l’API.
Authorization: Bearer uniquement Cet endpoint accepte votre clé uniquement via l’en-têteAuthorization: Bearer sk-... (contrairement à /v1/messages, qui accepte aussi x-api-key). bash curl -H "Authorization: Bearer sk-YOUR_KEY_HERE" \
https://api.oneprovider.dev/v1/dashboard/balance Réponse 200 OK :
{
"object": "balance",
"balance_usd": 54.77,
"expires_at": "2026-07-29T19:00:00Z",
"is_active": true,
"last_synced_at": "2026-06-29T19:52:00Z"
} balance_usd: le solde disponible de la clé, en USD.expires_at: expiration de la clé (ISO 8601 UTC,nulls’il n’y en a pas).is_active:falsesi la clé est en pause ou désactivée.last_synced_at: date de la dernière mise à jour du solde.
Endpoints de solde compatibles OpenAI
Des applications comme NextChat et LobeChat lisent le solde sur des chemins de style OpenAI. Ils fonctionnent avec la même clé dans Authorization: Bearer :
| Endpoint | Ce qu’il renvoie |
|---|---|
GET /v1/dashboard/billing/subscription | hard_limit_usd : solde restant |
GET /v1/dashboard/billing/usage | total_usage : toujours 0 (le champ est en cents) |
GET /v1/dashboard/billing/credit_grants | total_available : solde restant |
Erreurs : 401 pour un en-tête Authorization: Bearer absent ou invalide ; 429 quand vous dépassez la limite de débit (les endpoints de solde sont limités par IP). Le solde et la dépense par requête figurent aussi dans l’espace client (la page « Consommation » dans le bot @oneprovider_robot et sur app.oneprovider.dev ).
Tarifs appliqués
Nous facturons au prix fixe par 1M de jetons, au tarif publié sur /pricing . Il n’y a ni multiplicateur, ni minimum, ni arrondi. Le calcul est le suivant :
textcost = (input_tokens / 1_000_000) * rate_in
+ (output_tokens / 1_000_000) * rate_out
+ (cache_read_input_tokens / 1_000_000) * (rate_in * 0.10)
+ (cache_creation_input_tokens / 1_000_000) * (rate_in * 1.25) - Les lectures de cache sont facturées à 10 % du tarif d’entrée pour la plupart des modèles.
- La création de cache (la première fois qu’un point d’ancrage de cache est écrit) est facturée à 125 % du tarif d’entrée pour la plupart des modèles.
- Les multiplicateurs 0,10 et 1,25 de la formule sont typiques : les tarifs exacts de lecture et d’écriture du cache de chaque modèle figurent dans le tableau des modèles .
Quand le solde est épuisé
Dès que le solde de la clé atteint zéro, les requêtes faites avec elle renvoient 429 avec error.type insufficient_balance, error.code insufficient_quota et l’en-tête x-should-retry: false :
HTTP/1.1 429 Too Many Requests
x-should-retry: false
Content-Type: application/json
{
"type": "error",
"error": {
"type": "insufficient_balance",
"code": "insufficient_quota",
"message": "Insufficient balance on this API key. Top up: dashboard.oneprovider.dev"
}
} Ne réessayez pas : vérifiez le solde de l’espace client et la limite de la clé (page « Clés »), rechargez l’espace client si besoin, puis renvoyez la requête (comment faire ). Tous les autres codes sont décrits dans Codes d’erreur .
Vous fixez la durée de la clé ; le solde n’expire pas Vous fixez la durée d’une clé dans l’espace client (jusqu’à 90 jours, prolongeable). Le solde n’est pas débité par un minuteur : il n’y a ni remise à zéro mensuelle, ni engagement, ni abonnement ; les fonds restent disponibles jusqu’à ce qu’ils soient dépensés.Rate-limit (429)
Trop de requêtes en peu de temps renvoient 429 rate_limit_error. La réponse peut contenir un en-tête Retry-After, en secondes :
HTTP/1.1 429 Too Many Requests
Retry-After: 2
Content-Type: application/json
{
"type": "error",
"error": {
"type": "rate_limit_error",
"message": "Rate limit exceeded; retry later"
}
} Quand Retry-After est présent, attendez au moins ce délai ; sinon, réessayez avec une pause croissante. Si les 429 persistent, réduisez la concurrence côté client. Les requêtes limitées en débit ne consomment pas de solde.
Exactitude de la consommation par requête
Les objets usage par requête totalisent exactement la dépense réelle par clé. Vérifié le 8 mai 2026 sur un échantillon de 24 h de 25 845 requêtes : l’écart maximal était inférieur à 0,001 $ (arrondi à la 6e décimale). Vous pouvez facturer en toute confiance à partir de l’usage de chaque requête.