DocumentationOuvrir Moon AI
Parcourir la documentation

Solde et coût d’une requête

Référence de GET /v1/credits, qui donne le solde du porte-monnaie du workspace, et de GET /v1/generation, qui donne le coût final et les jetons d’une requête.

Sur cette page

Deux points d’accès en lecture servent à suivre la dépense : GET /v1/credits lit le solde du workspace de la clé, GET /v1/generation lit ce qu’une requête précise a coûté. Ni l’un ni l’autre n’est facturé.

Lire le soldeLien vers la section Lire le solde

HTTP
GET https://api.realmoon.ai/v1/credits

Renvoie le solde du porte-monnaie API du workspace auquel appartient la clé.

  • Authentification : clé sk-moon-… avec la portée inference (voir Authentification).
  • Paramètres : aucun.
  • Réponse : un objet credits.

ExempleLien vers la section Exemple

cURL
curl https://api.realmoon.ai/v1/credits \
  -H "Authorization: Bearer $MOONAI_API_KEY"
Python
import os
import httpx
from openai import OpenAI

client = OpenAI(base_url="https://api.realmoon.ai/v1", api_key=os.environ["MOONAI_API_KEY"])

credits = client.get("/credits", cast_to=httpx.Response).json()
print(credits["balance"])
JavaScript
import OpenAI from 'openai';

const client = new OpenAI({ baseURL: 'https://api.realmoon.ai/v1', apiKey: process.env.MOONAI_API_KEY });

const credits = await client.get('/credits');
console.log(credits.balance);

RéponseLien vers la section Réponse

Réponse
{ "object": "credits", "balance": 1250000, "currency": "credits" }
ChampTypeDescription
objectchaîneToujours credits.
balanceentierSolde en crédits : crédits payés, crédits offerts et crédit API inclus dans le forfait, réserve des requêtes en cours déjà déduite. Il peut être négatif.
currencychaîneToujours credits.

Le solde remonte quand les requêtes en cours sont réglées à leur coût réel (voir Réserve puis coût réel). Un solde négatif bloque les nouvelles requêtes jusqu’à la prochaine recharge (402 insufficient_credits).

ErreursLien vers la section Erreurs

Seules les erreurs communes à toute l’API s’appliquent : 401 invalid_api_key, 403 ip_not_allowed, 403 missing_scope, 429 rate_limit_exceeded, 503 service_unavailable. Voir Erreurs.

Lire le coût d’une requêteLien vers la section Lire le coût d’une requête

HTTP
GET https://api.realmoon.ai/v1/generation?id=gen-…

Renvoie le coût final et les jetons comptés d’une requête du workspace de la clé.

  • Authentification : clé sk-moon-… avec la portée inference, du même workspace que la requête.
  • Paramètre : id, dans l’adresse.
  • Réponse : un objet generation.

ParamètreLien vers la section Paramètre

ParamètreTypeObligatoireDescription
idchaîneouiIdentifiant de la requête : gen- suivi de 32 caractères.

Où trouver l’identifiant :

Point d’accèsIdentifiant
/v1/chat/completionsLe champ id de la réponse (ou de chaque morceau du flux), et l’en-tête X-Moon-Request-Id.
Images, voix, transcription, embeddings, OCRL’en-tête X-Moon-Request-Id de la réponse.
POST /v1/videosL’en-tête X-Moon-Request-Id de la réponse de lancement. L’id de la vidéo (video_…) n’est pas accepté ici.

ExempleLien vers la section Exemple

cURL
curl "https://api.realmoon.ai/v1/generation?id=gen-0123456789abcdef0123456789abcdef" \
  -H "Authorization: Bearer $MOONAI_API_KEY"
Python
import os
import httpx
from openai import OpenAI

client = OpenAI(base_url="https://api.realmoon.ai/v1", api_key=os.environ["MOONAI_API_KEY"])

raw = client.chat.completions.with_raw_response.create(
    model="anthropic/claude-haiku-4.5",
    messages=[{"role": "user", "content": "Bonjour"}],
)
request_id = raw.headers.get("x-moon-request-id")

cost = client.get(
    "/generation",
    cast_to=httpx.Response,
    options={"params": {"id": request_id}},
).json()
print(cost["credits_charged"])
JavaScript
import OpenAI from 'openai';

const client = new OpenAI({ baseURL: 'https://api.realmoon.ai/v1', apiKey: process.env.MOONAI_API_KEY });

const { response } = await client.chat.completions
  .create({ model: 'anthropic/claude-haiku-4.5', messages: [{ role: 'user', content: 'Bonjour' }] })
  .withResponse();
const requestId = response.headers.get('x-moon-request-id');

const cost = await client.get('/generation', { query: { id: requestId } });
console.log(cost.credits_charged);

RéponseLien vers la section Réponse

Réponse
{
  "object": "generation",
  "id": "gen-0123456789abcdef0123456789abcdef",
  "model": "anthropic/claude-haiku-4.5",
  "tokens_prompt": 12,
  "tokens_completion": 41,
  "credits_charged": 0,
  "created_at": 1793836800
}

La valeur de credits_charged est fictive.

ChampTypeDescription
objectchaîneToujours generation.
idchaîneL’identifiant demandé.
modelchaîneLe modèle appelé, sous l’identifiant que vous avez envoyé.
tokens_promptentier ou nullJetons d’entrée comptés. null pour une image, une vidéo, une voix, une transcription ou un OCR.
tokens_completionentier ou nullJetons de sortie comptés, raisonnement compris. null pour tous les médias, embeddings compris.
credits_chargedentierCoût final en crédits : réserve, règlement et remboursements additionnés. Jamais négatif.
created_atentierDate de la requête, en secondes Unix.

Quand relire le coûtLien vers la section Quand relire le coût

  • Une requête réglée tout de suite (réponse complète avec son compte de jetons, média terminé) a son coût définitif dès la réponse.
  • Une réponse interrompue, ou dont le compte de jetons manquait, peut encore être réglée au coût réel annoncé par le fournisseur pendant une vingtaine de minutes : relisez /v1/generation plus tard.
  • Une vidéo est réglée à la fin de la tâche : son coût se lit aussi dans usage.credits de l’objet vidéo (voir Vidéos).
  • Le détail d’une requête peut être supprimé après 90 jours : /v1/generation répond alors 404. Les totaux par jour restent dans l’onglet « Utilisation » du portail.

ErreursLien vers la section Erreurs

HTTPcodeSignification
400missing_required_parameterid absent (param: "id").
404nullgeneration not found : identifiant inconnu, d’un autre workspace, ou dont le détail a été supprimé.

Les erreurs communes (clé, débit) sont dans Erreurs.

Voir aussiLien vers la section Voir aussi

Moon AI

Moon AI en action

0:00

À découvrir

Captures de chat.realmoon.ai du 29 octobre 2026, avec des données fictives.

Moon AI

Vos préférences

Aucun suivi publicitaire.

Ce site ne dépose aucun cookie publicitaire ni cookie de mesure d’audience : notre serveur compte les visites sans cookie. Votre thème et la fermeture de l’information sur les cookies sont mémorisés sur cet appareil.

L’application Moon AI possède ses propres réglages de confidentialité.