API de génération IA via x402 : paiement à l'appel, sans compte
Générez des images, vidéos et voix via x402 : votre agent paie en USDC sur Base à chaque appel, sans inscription ni clé API. Tarifs dès $0.03.

x402 est un protocole de paiement ouvert qui transforme le code d'état HTTP 402 en un paywall fonctionnel : le serveur répond à une requête avec le statut 402 Payment Required accompagné de conditions de paiement lisibles par machine, le client signe une autorisation de transfert en stablecoin, renvoie la requête et reçoit sa réponse. Aucun compte, aucune clé API, aucun abonnement mensuel. Coinbase a transféré le protocole à la Linux Foundation en avril 2026, et au moment où la x402 Foundation est devenue opérationnelle, elle comptait déjà 40 organisations membres, dont AWS, Google, Stripe, Visa et Mastercard. Ce n'est plus une simple curiosité crypto.
Réponse rapide : le point de terminaison x402 de BananaBanana est https://bananabanana.pro/api/x402. Envoyez un POST avec { "tool": "...", "arguments": {...} }, recevez une réponse 402 avec le tarif exact pour ces paramètres, réglez-le en USDC sur Base et réitérez la requête. Les images débutent à $0.03, les vidéos à $0.30, la voix à $0.01 par tranche de 200 caractères. Les images et la voix ne sont débitées que si le fichier est effectivement généré.

Cette dernière phrase constitue le point que la majorité des présentations de x402 omettent, et nous allons nous y attarder. Prélever un paiement est facile ; ne pas facturer les requêtes qui échouent est le véritable défi d'architecture logicielle.
Déroulement concret du paiement
Quatre étapes suffisent, et votre client HTTP en prend trois en charge automatiquement :
- Votre agent envoie une requête POST standard en JSON, sans en-tête de paiement.
- Le serveur répond
402avec un tableauaccepts. L'exigence de paiement précise le montant en unités atomiques, l'adresse de destination, le contrat USDC, la blockchain et le délai d'expiration. - Le client signe une autorisation de transfert EIP-3009 pour ce montant exact et l'encode en Base64 dans l'en-tête
X-PAYMENT. - La même requête est renvoyée avec l'en-tête. Le serveur transmet la signature à un facilitateur pour vérification, exécute la génération, puis demande au facilitateur le règlement on-chain.
La signature n'est pas une transaction immédiate sur la blockchain : c'est une autorisation hors-chaîne qui ne devient un transfert effectif que lorsqu'elle est soumise au réseau. C'est ce qui rend possible la validation en deux temps : d'abord vérifier, puis générer, et enfin régler.
Un détail pratique : la spécification v2 renomme les en-têtes en PAYMENT-SIGNATURE et PAYMENT-RESPONSE, mais la plupart des clients envoient encore X-PAYMENT, que nous acceptons pleinement. Avec le SDK TypeScript officiel, la transition est totalement transparente.

Tarifs par appel
Les prix sont calculés par génération et indiqués avant toute signature. Le coût exact dépend des arguments (une image 4K ne coûte pas la même chose qu'une image 1K), la réponse 402 évalue donc votre demande précise.
| Outil | Modèle | Tarif |
|---|---|---|
generate_image | Nano Banana 2 Lite | $0.03 (1K uniquement) |
generate_image | Nano Banana 2 | $0.03 – $0.13 (de 512 à 4K) |
generate_image | Nano Banana Pro | $0.11 – $0.20 (de 1K à 4K) |
generate_video | Gemini Omni Flash | $0.10 par seconde, 3–10 s, audio inclus |
generate_video | Famille Veo 3.1 | $0.10 – $4.40 par clip |
generate_speech | Gemini Flash TTS | $0.01 par tranche entamée de 200 caractères |
Un clip de trois secondes sur Omni avec son revient à $0.30, ce qui en fait l'option vidéo la plus abordable du catalogue. Veo offre un rendu supérieur, mais pour un clip de 8 secondes en 1080p sonorisé, le tarif augmente sensiblement pour un simple brouillon.
Vous pouvez consulter le catalogue actualisé sans frais : GET https://bananabanana.pro/api/x402 renvoie l'ensemble des tarifs gratuitement.

Deux requêtes du début à la fin
Voici le cycle complet avec curl, à l'exception de l'étape de signature gérée par votre bibliothèque client x402.
# 1. Demande de devis. Pas d'en-tête de paiement.
curl -s -X POST https://bananabanana.pro/api/x402 \
-H 'Content-Type: application/json' \
-d '{"tool":"generate_image","arguments":{"prompt":"a paper boat on still water at dawn","model":"nano-banana-pro","resolution":"2048"}}'
{
"x402Version": 1,
"error": "Payment required: $0.11 for generate_image.",
"accepts": [{
"scheme": "exact",
"network": "base",
"maxAmountRequired": "110000",
"resource": "https://bananabanana.pro/api/x402",
"payTo": "0x7c0e9abd1c48380e27ab5bfced1be54f23ce773f",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"maxTimeoutSeconds": 300,
"extra": { "name": "USD Coin", "version": "2" }
}]
}

Une fois la signature générée et la requête renvoyée avec l'en-tête, la seconde réponse fournit le fichier finalisé :
{
"paid_usd": 0.11,
"result": {
"status": "completed",
"images": [{ "url": "https://bananabanana.pro/api/files/..." }]
}
}
Deux détails techniques cruciaux pour les développeurs de serveurs x402 : maxAmountRequired est exprimé en unités atomiques. L'USDC ayant 6 décimales, $0.11 s'écrit 110000. De plus, extra.name doit correspondre strictement à la valeur retournée par la fonction name() du contrat USDC (sur Base mainnet c'est USD Coin, sur Base Sepolia c'est USDC), sous peine de fausser le séparateur de domaine EIP-712 et d'invalider la signature sans explication explicite.
Particularité de la vidéo : règlement initial et jetons de remboursement
Les images et la synthèse vocale s'exécutent au cours de la requête HTTP (vérification → génération → règlement). Le débit n'intervient que si un fichier est effectivement produit. En cas de blocage par les filtres de modération ou de dépassement de délai, la signature n'est pas soumise et le client n'est pas débité.
La vidéo ne peut fonctionner ainsi : un rendu Veo ou Omni prend entre une et dix minutes, une connexion HTTP ne peut rester ouverte aussi longtemps et un traitement lancé chez Google ne peut être annulé (leur méthode interactions.cancel renvoie 501 UNIMPLEMENTED). La vidéo est donc réglée au départ avec renvoi d'un job_id, dont le résultat est sondé sur un endpoint gratuit.
Que se passe-t-il si un clip déjà payé est refusé par la modération ?
Vous recevez un jeton de remboursement (bb_rf_…) de la valeur totale, valable 90 jours, utilisable sur n'importe quel appel ultérieur en le transmettant dans refund_token. Si vous réglez $1.30 pour un clip rejeté, votre requête suivante bénéficiera d'une réduction de $1.30. Si la nouvelle commande coûte moins cher que le crédit, la différence est restituée sous forme d'un nouveau jeton.
Il ne s'agit pas d'un remboursement on-chain en USDC. Notre serveur ne détient aucune clé privée et ne peut pas émettre de virements sortants, seulement valider ou refuser des transactions entrantes. Pour la sécurité d'une infrastructure x402, l'absence de clés privées sur le serveur est une garantie forte.
Ce clip a été généré via cet endpoint pour $0.30 : Gemini Omni Flash, 3 secondes, avec un prompt décrivant un plan continu d'encre se diffusant dans l'eau d'un aquarium en verre, éclairage latéral doux et grondement sourd en ambiance sonore. L'audio est directement produit par le modèle.
Découverte automatique du point de terminaison
Les agents qui connaissent déjà l'URL n'ont pas besoin de découverte. Pour les autres, le service publie un manifeste sur /.well-known/x402 (et /.well-known/x402.json).
Le manifeste détaille chaque outil avec ses conditions de paiement, le réseau en norme CAIP-2, l'adresse de destination et le facilitateur. Le bloc accepts indique le prix minimal de l'outil plutôt que son plafond, ce qui empêche un agent de payer involontairement un tarif excessif.
Les annuaires d'agents sondent également les endpoints via des requêtes POST vides. Notre serveur leur répond avec un statut 402 explicatif.

x402 ou compte utilisateur ?

Les deux accès exploitent les mêmes générateurs. Choisissez en fonction des caractéristiques de votre agent.
| Critère | x402 | Compte (MCP ou web) |
|---|---|---|
| Configuration | Un portefeuille approvisionné | Inscription email, puis clé API ou OAuth |
| Par appel | Signature, paiement immédiat | Débit sur solde prépayé |
| Bonus de dépôt | Aucun | 5% dès $50+, 10% dès $100+, +10% avec promo |
| Historique | Non conservé | Historique complet et job IDs réutilisables |
| Retouche vidéo | Non disponible | edit_video, affinement conversationnel |
| Idéal pour | Appels ponctuels, agents 100% autonomes | Projets continus, suivi des coûts, itérations |
Le bonus de recharge constitue une différence notable : un dépôt de $100 avec code promo crédite $120 (soit 17% de réduction effective), ce que x402 ne propose pas en l'absence de solde de compte. En contrepartie, un agent autonome muni d'un wallet démarre instantanément en un seul aller-retour.
Si vous optez pour la gestion par compte, notre serveur MCP s'intègre avec Claude Code, Cursor et VS Code, et le générateur reste accessible directement dans votre navigateur.
Questions fréquentes
Faut-il un compte Coinbase pour payer ?
Non. Tout portefeuille EVM détenant des USDC sur le réseau Base convient. Le règlement est opéré par le facilitateur sans nécessiter d'inscription préalable.
Que se passe-t-il si ma génération est bloquée par le filtre de contenu ?
Pour les images et la voix, aucun montant n'est débité. Pour la vidéo, vous recevez un jeton de remboursement intégral réutilisable lors d'une commande ultérieure.
Quels réseaux et tokens sont acceptés ?
USDC sur le réseau principal Base (Base mainnet), schéma exact. Le manifeste à l'adresse /.well-known/x402 précise le CAIP-2 chain id et l'adresse du contrat.
Puis-je modifier une vidéo générée via x402 ?
Pas directement via x402. La retouche s'effectue sur les éléments rattachés à un compte utilisateur (edit_video via MCP). De nouvelles générations restent bien entendu possibles à tout moment.
Combien de temps une offre de prix reste-t-elle valide ?
Le délai de signature est fixé à 300 secondes par défaut (maxTimeoutSeconds). Les barèmes de base correspondent aux tarifs publics du site et demeurent stables.
Testez une génération d'image à $0.03 sur notre point de terminaison en ligne. Si votre client sait signer une autorisation EIP-3009, quatre lignes de code suffisent pour recevoir votre image.