Générer des images avec Claude Code : config MCP en 2 min
Générez des images dans Claude Code ou Claude Desktop via un serveur MCP distant : pas d'install locale ni de clé Google, images dès $0.03. Setup réel.

Un serveur MCP de génération d'images, c'est la pièce manquante qui permet à Claude de créer des visuels : Claude rédige le prompt, appelle l'outil generate_image, le serveur génère le résultat sur un vrai modèle (la famille Nano Banana de Google dans notre cas) et renvoie une URL. Claude ne sait pas dessiner tout seul. Anthropic n'a jamais sorti de modèle d'image, donc Claude Code et Claude Desktop analysent très bien les images mais n'en produisent aucune.
La réponse rapide, si vous êtes pressé : créez une clé API dans votre profil BananaBanana, puis lancez cette commande dans votre terminal :
claude mcp add --transport http bananabanana https://bananabanana.pro/api/mcp \
--header "Authorization: Bearer bb_live_YOUR_KEY"
C'est tout pour l'installation. Pas de serveur local, pas de compte Google Cloud, pas d'abonnement. Les images sont facturées à partir de $0.03 l'unité sur un solde prépayé, et les vidéos dès $0.10. Et pour être tout à fait honnête : chaque illustration de cet article a été générée par Claude Code via ce serveur précis pendant qu'il rédigeait le texte. La facture média totale s'élève à $1.29, incluant une relance (reroll). Les reçus sont détaillés à la fin.
Pourquoi Claude ne peut-il pas générer d'images lui-même ?
Anthropic conçoit des modèles de texte et de raisonnement. La vision ne fonctionne que dans un sens : Claude peut analyser vos captures d'écran et vos photos, mais aucun générateur d'images n'existe dans sa famille de modèles, et rien n'a été annoncé en ce sens. ChatGPT intègre son propre modèle d'image. Pas Claude.
La communauté a répondu à cela avec des serveurs MCP locaux — GitHub en regorge et ils fonctionnent bien. Mais qui dit "installation" dit : faire tourner son propre processus local, maintenir Node ou Python, lier le serveur à un fichier de config sur chaque machine et, le vrai piège, fournir sa propre clé API Google. La facturation atterrit sur votre compte Google avec ses propres quotas et son tableau de bord. Passe encore pour un développeur qui bidouille sur son ordi. Pour n'importe qui d'autre, cela devient un mini-projet d'infrastructure.
Un serveur MCP distant change complètement la donne. Le serveur tourne déjà de notre côté ; l'infrastructure sous-jacente est la même que celle du générateur BananaBanana. Vous vous authentifiez avec une seule clé, vous payez à l'usage via un solde prépayé, et la configuration est identique sur Claude Code sur votre ordinateur, sur Claude Desktop sur la machine d'un collègue, ou sur claude.ai dans un navigateur. Il n'y a absolument rien à gérer.

Comment connecter Claude Code à un serveur MCP de génération d'images ?
Deux minutes, trois étapes. D'abord, inscrivez-vous et ouvrez Profil → Clés API MCP. Créez une clé : elle ne s'affiche qu'une seule fois, commence par bb_live_ et est stockée sous forme de hash de notre côté, alors copiez-la immédiatement. Les nouveaux comptes bénéficient d'un solde de départ de $0.20, de quoi tester six images sur le modèle le moins cher avant de décider d'un éventuel rechargement.
Claude Code
Une seule commande, comme vu plus haut :
claude mcp add --transport http bananabanana https://bananabanana.pro/api/mcp \
--header "Authorization: Bearer bb_live_YOUR_KEY"
Les arguments sont détaillés dans la documentation MCP de Claude Code ; HTTP est le protocole recommandé pour les serveurs distants. Lancez /mcp dans votre session pour valider que la connexion fonctionne : vous devriez voir sept outils, de list_models à get_result. Dès lors, demander à Claude de « générer une image de couverture au format 16:9 pour cet article » devient une instruction qu'il peut exécuter directement.
Claude Desktop et claude.ai
Dans Claude Desktop et claude.ai, le chemin est Paramètres → Connecteurs → Ajouter un connecteur personnalisé (Settings → Connectors → Add custom connector), puis collez https://bananabanana.pro/api/mcp comme URL du serveur. Pour la clé, ouvrez la section des en-têtes de requête (Request headers) et ajoutez un en-tête Authorization avec la valeur Bearer bb_live_YOUR_KEY. Saisissez la valeur complète en incluant le mot Bearer et l'espace ; d'après la documentation des connecteurs d'Anthropic, Claude envoie l'en-tête exactement tel quel, sans y ajouter de préfixe.
Une petite mise en garde : l'authentification par en-tête de requête pour les connecteurs est encore en bêta et Anthropic la déploie progressivement. Il est possible que votre compte n'affiche pas encore cette section. La solution de secours fonctionne partout où tourne Claude Desktop : ajoutez le serveur via le pont mcp-remote dans votre fichier claude_desktop_config.json (Paramètres → Développeur → Modifier la configuration), ce qui nécessite l'installation de Node.js :
{
"mcpServers": {
"bananabanana": {
"command": "npx",
"args": [
"-y", "mcp-remote", "https://bananabanana.pro/api/mcp",
"--header", "Authorization: Bearer bb_live_YOUR_KEY"
]
}
}
}
Ces deux méthodes, ainsi qu'un exemple brut en JSON-RPC pour d'autres environnements, sont disponibles sur la page du serveur MCP :

Est-ce que cela fonctionne en dehors de Claude ?
Oui. MCP est un protocole ouvert, donc n'importe quel client compatible avec le protocole Streamable HTTP et capable d'ajouter un en-tête d'autorisation peut se connecter au même point d'accès : Gemini CLI, ZCode de Z.ai, les agents d'éditeurs de code — et, depuis que Codex supporte le MCP distant, l'application de bureau ChatGPT, Codex CLI et son extension IDE, via une seule entrée partagée dans config.toml (avec les champs url et bearer_token_env_var, d'après la documentation MCP de Codex). L'API de xAI attache les serveurs MCP à chaque requête avec server_url. Les seuls retardataires sont les interfaces web basées sur OAuth au lieu de clés copiées — comme les connecteurs web de ChatGPT et probablement les connecteurs personnalisés par URL de grok.com. Nous maintenons un tableau de référence à jour par client avec les extraits de configuration sur la page du serveur MCP ; cet article se concentre quant à lui sur Claude.
Cas d'usage 1 : une image de couverture pour l'article que vous rédigez
C'est le scénario classique. Vous rédigez un article de blog dans Claude Code et vous avez besoin d'une image de couverture. Vous lui dites : « génère une image de couverture éditoriale au format 16:9 sur la mise en cache de base de données, métaphore de la bibliothèque ». Claude prépare le prompt et appelle l'outil :
→ generate_image {"prompt": "Editorial illustration for a developer blog post
about database caching: a small librarian robot placing three glowing books
onto a tiny fast bookshelf in the foreground, a huge dim archive hall
stretching far behind it, soft pastel background, dark ink details, accents
of violet and warm amber, clean minimal composition, generous negative
space, no text", "model": "nano-banana-pro", "aspect_ratio": "16:9"}
← {"job_id": "cmxq…", "status": "processing", "cost_charged_usd": 0.11,
"balance_remaining_usd": 4.89}
→ get_result {"job_id": "cmxq…"}
← {"status": "completed", "files": [{"url": "https://bananabanana.pro/api/files/…"}]}
Voici le résultat exact de ce prompt, obtenu du premier coup, sans aucune relance :

Coût : $0.11 avec Nano Banana Pro en résolution 1K. L'agent télécharge le fichier depuis l'URL signée, le dépose dans le dépôt et rédige le texte alternatif (alt text). Les liens restent valides pendant 24 heures ; au-delà, l'outil get_result en génère de nouveaux.
Cas d'usage 2 : des photos de produits sans photographe
C'est pour les maquettes marketing que le prompting de style photographique se révèle le plus payant. Décrivez la scène comme un photographe le ferait : sujet, surface, source de lumière, objectif.
→ generate_image {"prompt": "A photorealistic product photo of a matte
sage-green ceramic pour-over coffee set on a pale linen tablecloth, soft
diffused daylight from a window on the left, gentle shadows, shallow depth
of field, eye-level shot with a 50mm lens, minimal warm styling, no text",
"model": "nano-banana-pro", "aspect_ratio": "1:1"}

Pour être tout à fait franc : cette photo a nécessité deux essais. Le premier rendu semblait parfait au premier coup d'œil, mais en regardant de plus près, la tasse avait fusionné avec sa soucoupe pour former une seule pièce. La géométrie des objets reste le point faible des modèles photoréalistes, et c'est bien pour les photos de produits qu'il faut zoomer avant de publier. Une seule relance (reroll) avec le même prompt a corrigé le problème : $0.22 pour la paire d'images au lieu de $0.11. Ce qui me plaît le plus n'est pas tant le cliché lui-même, mais la suite : l'outil edit_image prend le job_id d'une image générée et accepte une consigne simple comme « rends le fond blanc pur et ajoute une ombre douce ». On obtient ainsi des retouches successives sans avoir à redécrire toute la scène, chaque passage étant facturé comme une seule image. Pour la création de catalogues, cette boucle fait toute la différence entre un outil de travail et un simple gadget.
Cas d'usage 3 : un personnage récurrent à travers plusieurs images
Mascottes de marque, planches de BD, storyboards : tous exigent qu'un même personnage reste cohérent d'une image à l'autre. Avec le MCP, la méthode consiste à utiliser une "fiche personnage" : un bloc de description fixe que l'agent insère dans chaque prompt. La nôtre était : « un petit robot coursier avec une tête ronde bleu-vert mat, un grand œil ambre amical, un corps blanc crème anguleux avec des vis en laiton apparentes et une sacoche en toile avec une boucle en laiton ». Deux scènes, deux appels, $0.11 chacun :


Soyons honnêtes sur le résultat : c'est satisfaisant, mais pas parfait. La sacoche, l'œil ambre et le corps crème avec ses vis en laiton ont bien été conservés. Cependant, la tête a dérivé d'une sphère vers une forme de casque, et la scène au crépuscule s'est affichée dans un style graphique plus dessiné. C'est la limite bien connue du guidage textuel pur. Les images de référence résolvent cela proprement, et le générateur web accepte jusqu'à 5 références de personnage sur Nano Banana Pro ; pour l'instant, l'outil MCP generate_image ne gère pas encore les images en entrée. Notre guide pratique sur la cohérence de personnage détaille ces deux méthodes et indique quels éléments ont tendance à dériver en premier.
Cas d'usage 4 : un clip vidéo à partir de la même discussion
La vidéo passe par le même serveur, avec une sécurité supplémentaire. Les clips coûtant plus cher que les images (jusqu'à $4.40 pour un rendu haut de gamme sur Veo 3.1), l'outil generate_video ne facture jamais dès le premier appel. Il renvoie un devis, et l'agent doit renouveler l'appel en acceptant le montant exact indiqué :
→ generate_video {"prompt": "Aerial drone shot rising slowly over terraced tea
fields at sunrise, thin mist drifting in the valleys, golden light catching
the ridges, smooth cinematic camera motion, wide shot",
"model": "veo-3.1-fast", "duration": 6, "resolution": "720p"}
← {"status": "confirmation_required", "quoted_cost_usd": 0.52, …}
→ generate_video {…same arguments…, "confirm_cost": 0.52}
← {"job_id": "cmxr…", "status": "processing", "cost_charged_usd": 0.52}
Le résultat : six secondes silencieuses en 720p avec Veo 3.1 Fast, dès le premier essai :
La génération d'une vidéo prend de une à dix minutes, l'agent interroge donc régulièrement get_result en arrière-plan tout en effectuant d'autres tâches. Si vous souhaitez du son, Omni Flash est accessible via le même outil à $0.10 par seconde avec l'audio toujours activé, et vous définissez la durée — de 3 à 10 secondes. Il accepte également les images en entrée : transmettez l'ID de travail (job_id) d'une image que vous avez déjà générée (ou un lien public) comme première image, ajoutez jusqu'à dix images de référence pour maintenir la cohérence d'un personnage, et l'agent les anime. Les dernières images et les boucles nécessitent toujours le générateur web.
Chaque image de cet article provient de cette méthode de travail
Si j'étais à votre place, j'aimerais en avoir la preuve. Voici donc comment s'est déroulée la boucle de travail. Claude Code a rédigé une section de cet article, a composé un prompt d'illustration selon notre charte visuelle, a appelé l'outil de génération, a attendu une vingtaine de secondes, a vérifié l'image retournée et a inséré le code markdown avec son texte alternatif avant de continuer. Huit appels de génération ont suffi pour l'ensemble des médias affichés ici — six images et la vidéo ont fonctionné dès le premier coup, tandis que le service à café a nécessité une relance après qu'un examen attentif a révélé la fusion de la tasse et de sa soucoupe. Une seule relance sur huit appels, c'est bien mieux que ce à quoi je m'attendais. Le seul visuel qui n'est pas une génération IA est la capture d'écran de la documentation, prise avec un outil de navigation.
Ces images ne sont pas parfaites (la tête du robot coursier a ses propres préférences, comme nous l'avons vu). Mais l'essentiel est là : l'illustration n'est plus une étape de production à part. La même session de travail qui rédige le texte fournit les visuels, et l'ensemble a coûté à peu près le prix d'un ticket de bus.
Combien ont réellement coûté les médias de cet article ?
Tout ce qui suit a été facturé aux tarifs standards par génération de notre page des tarifs, les mêmes valeurs que list_models renvoie à l'agent. Aucun rabais interne n'a été appliqué.
| Contenu | Modèle | Tarif |
|---|---|---|
| Image de couverture | Nano Banana Pro, 1K | $0.11 |
| Illustration robot écrivain-peintre | Nano Banana Pro, 1K | $0.11 |
| Image de couverture cache bdd (cas d'usage 1) | Nano Banana Pro, 1K | $0.11 |
| Maquette service à café, 2 essais avec 1 relance (cas d'usage 2) | Nano Banana Pro, 1K | $0.22 |
| Série robot coursier, 2 images (cas d'usage 3) | Nano Banana Pro, 1K | $0.22 |
| Clip champs de thé, 6 s silencieux 720p (cas d'usage 4) | Veo 3.1 Fast | $0.52 |
| Capture d'écran doc | browser, pas une génération | $0.00 |
| Total | $1.29 |
Nous avons utilisé le meilleur modèle d'image pour chaque visuel car ils sont publiés sur une page publique. Travailler sur des brouillons avec Nano Banana 2 Lite à $0.03 aurait permis de réduire la part des images de $0.77 à $0.21 ; notre guide Lite explique dans quels cas ce modèle économique est suffisant.
Prêt à essayer ? Connectez le serveur MCP de BananaBanana et demandez à Claude votre première image.
FAQ
Le serveur MCP de BananaBanana fonctionne-t-il avec d'autres clients que Claude ?
Oui, il fonctionne avec n'importe quel client MCP qui prend en charge Streamable HTTP et vous permet d'ajouter un en-tête d'autorisation (Authorization) : Claude Code, Claude Desktop, Gemini CLI, ZCode de Z.ai pour GLM-5.2, les agents d'édition de code comme Cursor ou VS Code, et — via le support du MCP distant de Codex — l'application de bureau ChatGPT, Codex CLI et son extension IDE, qui partagent une même entrée config.toml avec url et bearer_token_env_var. L'API de xAI associe les serveurs MCP par requête via server_url. Ce qui reste incertain : les connecteurs web de ChatGPT s'authentifient via OAuth plutôt qu'avec des clés collées, et la boîte de dialogue de connecteur personnalisé de grok.com attend une URL sans champ de clé documenté. Ces deux plateformes pourraient donc nécessiter le support de OAuth 2.1 prévu prochainement de notre côté. Le tableau de correspondance par client avec les extraits d'installation est tenu à jour sur la page du serveur MCP ; tout outil que vous développez vous-même peut déjà s'y connecter directement via JSON-RPC.
Ai-je besoin d'une clé API Google ou d'un compte Google Cloud ?
Non, et c'est précisément la raison d'être de ce serveur. Les serveurs MCP locaux de génération d'images disponibles sur GitHub appellent directement l'API de Gemini et nécessitent donc votre propre clé Google AI Studio key; vous devez alors gérer vous-même les quotas et la facturation. Ici, la génération repose sur le pool de clés Vertex AI managé de BananaBanana, et votre unique identifiant est la clé bb_live_ obtenue sur votre profil. Vous n'avez jamais à toucher à la console Google, et Google ne vous facture rien. Le compromis est transparent : vous n'avez pas accès aux tarifs de base de l'API de Google ni à la configuration directe de ses paramètres, mais vous profitez de tarifs à la génération sans minimum de dépenses, d'une rotation automatique des clés, et d'un solde unique partagé entre le serveur MCP, le générateur web et l'application Telegram. Révoquer une clé compromise se fait en un clic, sans perturber le reste de vos services.
Comment fonctionne la facturation sur le serveur MCP ?
Solde prépayé, tarification par génération, pas d'abonnement. Vous rechargez votre compte, et chaque génération déduit son tarif indiqué : de $0.03 à $0.20 pour les images selon le modèle et la résolution, et de $0.10 à $4.40 pour les vidéos selon le modèle, la durée, la résolution et la présence d'audio. L'agent connaît tous les prix à l'avance : list_models fournit des tarifs en temps réel, et chaque appel vidéo (ainsi que tout lot d'images) doit d'abord recevoir un devis et être validé via confirm_cost avant qu'un seul centime ne soit débité. Chaque résultat indique les champs cost_charged_usd and balance_remaining_usd, intégrant le suivi des coûts directement dans la discussion. Les générations ayant échoué sont remboursées automatiquement. Si vous redoutez qu'un agent autonome ne s'emballe, vous pouvez configurer une limite quotidienne en USD par clé dans Profil → Clés API MCP et consulter le journal d'utilisation par clé, qui enregistre l'outil, le modèle, le coût et un aperçu du prompt utilisé.
Que se passe-t-il si mon solde tombe à zéro en plein milieu d'une tâche ?
Le prochain appel à un outil payant échouera proprement avec une erreur INSUFFICIENT_BALANCE incluant un lien de rechargement, que l'agent vous transmettra. Le solde ne peut pas de devenir négatif ; il n'y a ni découvert ni facture surprise. Les outils gratuits (list_models, get_account, get_result, list_generations) continuent de fonctionner, ce qui vous permet d'accéder à tous les contenus déjà générés. De plus, une génération lancée juste avant l'épuisement du solde se termine normalement, car le débit a lieu au démarrage. En pratique, Claude se contente de signaler l'échec de l'appel en fournissant l'URL de rechargement et poursuit le reste de sa tâche. Pour éviter un arrêt brutal, gardez un œil sur la valeur balance_remaining_usd de chaque résultat ou demandez à l'agent de vérifier get_account avant de lancer des tâches par lots.
Qu'est-ce que le filtre de contenu bloque, et dois-je payer pour les prompts filtrés ?
Les modèles de Google appliquent leurs propres filtres de sécurité en amont ; lorsqu'une génération est rejetée, le serveur renvoie un code unique SAFETY_FILTERED au lieu de la demi-douzaine de variantes internes de Google. Les catégories bloquées correspondent à ce que l'on attend des politiques de Gemini et Veo : contenu à caractère sexuel impliquant des mineurs, violence explicite, deepfakes de personnes réelles, etc. Ces filtres génèrent parfois de faux positifs sur des prompts totalement inoffensifs ; ce n'est pas de notre ressort et nous ne prétendrons pas le contraire. Côté facturation, c'est très simple : une génération entièrement filtrée est automatiquement remboursée. Pour les vidéos, où Google ne filtre parfois qu'une partie du rendu, le remboursement est proportionnel. Vous ne payez que pour les médias que vous recevez. Si un prompt déclenche systématiquement le filtre, modifiez le détail précis qui pose problème au lieu de renvoyer le même texte tel quel.
À qui appartiennent les images générées via le serveur MCP ?
À vous. Conformément à nos conditions d'utilisation, les images et vidéos générées vous appartiennent pour un usage personnel et commercial, sous réserve des conditions du fournisseur du modèle sous-jacent. Nous ne revendiquons aucune propriété sur vos contenus, et les prompts que vous soumettez restent les vôtres. Deux détails concernant le stockage ont leur importance en pratique. Les URL renvoyées par get_result sont des liens signés valables pendant 24 heures : pensez à télécharger les fichiers importants ou appelez de nouveau get_result pour obtenir de nouveaux liens. De plus, les médias générés sont conservés pendant 30 jours avant d'être définitivement supprimés : le serveur MCP est un pipeline de génération, pas un espace d'archivage. Tout ce qui est généré via le MCP apparaît également dans l'historique de votre compte web, vous permettant de le parcourir et de le télécharger à nouveau depuis le site durant la période de rétention.