Aller au contenu principal

Crédits prépayés

Le modèle prépayé de xAI

Les crédits prépayés vous permettent d’acheter un solde à l’avance, consommé au fil de vos appels API. Ce modèle est idéal pour contrôler vos dépenses : vous ne dépensez que ce que vous avez acheté, sans surprise en fin de mois. Les crédits sont utilisés en priorité avant la facturation mensuelle.

Consulter le solde

Pour connaître votre solde de crédits prépayés et l’historique des transactions :

curl "https://management-api.x.ai/v1/billing/teams/$TEAM_ID/prepaid/balance" \
  -H "Authorization: Bearer $MANAGEMENT_API_KEY"

La réponse contient :

  • Le solde actuel en dollars
  • L’historique des recharges (top-ups) avec dates et montants
  • L’historique de consommation par période

Acheter des crédits (top-up)

Pour recharger votre solde de crédits :

curl -X POST "https://management-api.x.ai/v1/billing/teams/$TEAM_ID/prepaid/top-up" \
  -H "Authorization: Bearer $MANAGEMENT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 100.00
  }'

Points importants sur les crédits

  • Les crédits sont facturés immédiatement au moment de l’achat sur votre moyen de paiement par défaut
  • Les crédits prépayés ne sont pas remboursables (sauf obligation légale dans votre juridiction)
  • Les crédits sont consommés en priorité avant la facturation mensuelle postpaid
  • Il n’y a pas de date d’expiration mentionnée pour les crédits — ils restent disponibles tant qu’ils ne sont pas consommés

Flux de facturation avec crédits

Lorsque vous effectuez un appel API, le système suit cette logique :

  1. Crédits prépayés disponibles : les tokens sont déduits du solde prépayé
  2. Crédits épuisés : la consommation bascule en facturation mensuelle (postpaid)
  3. Limite de dépenses atteinte : les requêtes sont refusées

Stratégies d’utilisation des crédits

Budget fixe mensuel

Si vous souhaitez un budget prévisible, achetez un montant fixe chaque mois et n’activez pas la facturation mensuelle :

import requests
from datetime import datetime

MANAGEMENT_API = "https://management-api.x.ai"
MGMT_KEY = "xai-mgmt-..."
TEAM_ID = "team-..."

# Vérifier le solde
balance_resp = requests.get(
    f"{MANAGEMENT_API}/v1/billing/teams/{TEAM_ID}/prepaid/balance",
    headers={"Authorization": f"Bearer {MGMT_KEY}"}
)
balance = balance_resp.json().get("balance", 0)

# Recharger si le solde est bas
MONTHLY_BUDGET = 200.00
RECHARGE_THRESHOLD = 50.00

if balance < RECHARGE_THRESHOLD:
    top_up_amount = MONTHLY_BUDGET - balance
    requests.post(
        f"{MANAGEMENT_API}/v1/billing/teams/{TEAM_ID}/prepaid/top-up",
        headers={
            "Authorization": f"Bearer {MGMT_KEY}",
            "Content-Type": "application/json"
        },
        json={"amount": top_up_amount}
    )
    print(f"Rechargé de ${top_up_amount:.2f}")

Provision pour un projet

Pour un projet avec un budget défini, achetez les crédits correspondants en amont :

# Budget projet : 500 $ sur 3 mois
curl -X POST "https://management-api.x.ai/v1/billing/teams/$TEAM_ID/prepaid/top-up" \
  -H "Authorization: Bearer $MANAGEMENT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"amount": 500.00}'

Surveillez ensuite la consommation via les analytics (lecon suivante) pour vous assurer que le budget est respecté.

Suivi du solde

Alerte de solde bas

#!/bin/bash
BALANCE=$(curl -s "https://management-api.x.ai/v1/billing/teams/$TEAM_ID/prepaid/balance" \
  -H "Authorization: Bearer $MANAGEMENT_API_KEY" | python3 -c "import sys,json; print(json.load(sys.stdin).get('balance', 0))")

THRESHOLD=20.00
if (( $(echo "$BALANCE < $THRESHOLD" | bc -l) )); then
    echo "ALERTE : solde prépayé bas ($BALANCE $)"
    # Envoyer une notification
fi

Dashboard de consommation

Combinez le solde prépayé avec l’aperçu des charges postpaid pour avoir une vue complète de vos coûts :

# Solde prépayé
echo "=== Crédits prépayés ==="
curl -s "https://management-api.x.ai/v1/billing/teams/$TEAM_ID/prepaid/balance" \
  -H "Authorization: Bearer $MANAGEMENT_API_KEY" | python3 -m json.tool

# Charges postpaid en cours
echo "=== Charges postpaid ==="
curl -s "https://management-api.x.ai/v1/billing/teams/$TEAM_ID/postpaid/invoice/preview" \
  -H "Authorization: Bearer $MANAGEMENT_API_KEY" | python3 -m json.tool

Points clés à retenir

  • GET /v1/billing/teams/{teamId}/prepaid/balance retourne le solde et l’historique
  • POST /v1/billing/teams/{teamId}/prepaid/top-up achète des crédits (facturés immédiatement)
  • Les crédits prépayés ne sont pas remboursables
  • Les crédits sont consommés en priorité avant la facturation mensuelle
  • Automatisez les recharges avec un seuil minimum pour éviter les interruptions
  • Combinez crédits prépayés et limites de dépenses pour un contrôle total des coûts