Torna al blog
BananaBanana Teamtutorialmcpclaude

Generare immagini in Claude Code: setup MCP in 2 minuti

Genera immagini in Claude Code o Claude Desktop con un solo server MCP remoto: niente installazione locale, niente chiave API Google, immagini da $0.03. Setup e costi reali.

Generare immagini in Claude Code: setup MCP in 2 minuti

Un server MCP per la generazione di immagini è il pezzo mancante che permette a Claude di creare immagini: Claude scrive il prompt e chiama un tool generate_image, il server genera il risultato su un modello vero (nel nostro caso la famiglia Nano Banana di Google) e restituisce un URL. Claude da solo non sa disegnare. Anthropic non ha mai rilasciato un modello di immagini, quindi Claude Code e Claude Desktop leggono le immagini benissimo ma non ne producono nessuna.

La risposta rapida, se sei qui solo per quella: crea una chiave API nel tuo profilo BananaBanana, poi lancia un solo comando nel terminale:

claude mcp add --transport http bananabanana https://bananabanana.pro/api/mcp \
  --header "Authorization: Bearer bb_live_YOUR_KEY"

Tutta l'installazione è questa. Nessun server locale, nessun account Google Cloud, nessun abbonamento. Le immagini costano da $0.03 l'una da un saldo prepagato, i video da $0.10. E per onestà: ogni illustrazione di questo articolo l'ha generata Claude Code attraverso proprio questo server mentre scriveva il testo. Il conto totale dei media è stato $1.29, un rifacimento incluso, con le ricevute in fondo.

Perché Claude non può generare immagini da solo?

Anthropic costruisce modelli di testo e di ragionamento. La visione va in una sola direzione: Claude può guardare i tuoi screenshot e le tue foto, ma nella famiglia di modelli non c'è nessun generatore di immagini, e nessuno è stato annunciato. ChatGPT ha un modello di immagini integrato. Claude no.

La risposta della community sono stati i server MCP locali: su GitHub ce n'è una montagna, e funzionano. Ma «installare» lì significa: far girare un tuo processo locale, tenere Node o Python a portata di mano, collegare il server in un file di configurazione su ogni macchina e, il vero intoppo, portarti la tua chiave API Google. La fatturazione finisce sul tuo account Google, con le sue quote e la sua dashboard. Per uno sviluppatore che smanetta su un portatile, va bene. Per chiunque altro è un piccolo progetto di infrastruttura.

Un server MCP remoto ribalta la situazione. Il server gira già dalla nostra parte; la pipeline dietro è la stessa che serve il generatore BananaBanana. Ti autentichi con una chiave, paghi a generazione da un saldo prepagato, e il setup è identico in Claude Code sul portatile, in Claude Desktop sul computer di un collega e in claude.ai nel browser. Non c'è davvero nulla da mantenere.

Illustrazione editoriale di un robot scrittore che passa un biglietto a un robot pittore al cavalletto: Claude che delega la generazione di immagini a un server MCP

Come si collega Claude Code a un server MCP per generare immagini?

Due minuti, tre passaggi. Prima registrati e apri Profilo → Chiavi API MCP. Crea una chiave: viene mostrata una sola volta, inizia con bb_live_ e da noi è salvata come hash, quindi copiala subito. I nuovi account partono con un saldo di benvenuto di $0.20, abbastanza per sei immagini di prova sul modello più economico prima di decidere se ricaricare.

Claude Code

Un comando, come sopra:

claude mcp add --transport http bananabanana https://bananabanana.pro/api/mcp \
  --header "Authorization: Bearer bb_live_YOUR_KEY"

I flag sono documentati nella documentazione MCP di Claude Code; HTTP è il trasporto consigliato per i server remoti. Lancia /mcp dentro una sessione per verificare che la connessione sia attiva: dovresti vedere dieci tool, da list_models a list_generations. Da quel momento, «genera un'immagine hero 16:9 per questo post» è un'istruzione che Claude Code sa davvero eseguire.

Claude Desktop e claude.ai

In Claude Desktop e claude.ai il percorso è Settings → Connectors → Add custom connector, poi incolli https://bananabanana.pro/api/mcp come URL del server. Per la chiave, apri la sezione Request headers e aggiungi un header Authorization con il valore Bearer bb_live_YOUR_KEY. Inserisci il valore completo, compresa la parola Bearer e lo spazio: secondo la documentazione dei connettori di Anthropic, Claude invia l'header esattamente come l'hai scritto, senza aggiungere prefissi.

Un'avvertenza onesta: l'autenticazione tramite request header nei connettori è in beta e Anthropic la sta distribuendo gradualmente, quindi il tuo account potrebbe non mostrare ancora quella sezione. L'alternativa funziona ovunque giri Claude Desktop: aggiungi il server tramite il bridge mcp-remote in claude_desktop_config.json (Settings → Developer → Edit Config), che richiede Node.js installato:

{
  "mcpServers": {
    "bananabanana": {
      "command": "npx",
      "args": [
        "-y", "mcp-remote", "https://bananabanana.pro/api/mcp",
        "--header", "Authorization: Bearer bb_live_YOUR_KEY"
      ]
    }
  }
}

Entrambe le varianti, più un esempio JSON-RPC grezzo per tutto il resto, sono nella pagina del server MCP:

Sezione di avvio rapido della documentazione MCP di BananaBanana con gli snippet di configurazione per Claude Code e Claude Desktop

Funziona anche fuori da Claude?

Sì. MCP è un protocollo aperto, quindi qualsiasi client che parli Streamable HTTP e sappia aggiungere un header Authorization si collega allo stesso endpoint: Gemini CLI, ZCode di Z.ai, gli agenti degli editor e, da quando Codex supporta gli MCP remoti, anche l'app desktop di ChatGPT, Codex CLI e l'estensione per IDE, con un'unica voce condivisa in config.toml (url più bearer_token_env_var, secondo la documentazione MCP di Codex). L'API di xAI collega i server MCP a ogni richiesta con server_url. Restano indietro le finestre web costruite attorno a OAuth invece che alle chiavi incollate: i connettori web di ChatGPT e forse i connettori personalizzati basati su URL di grok.com. La tabella ufficiale e aggiornata per ogni client, con gli snippet di setup, la teniamo nella pagina del server MCP; questo articolo resta su Claude.

Caso d'uso 1: un'immagine hero per il post che stai scrivendo

Quello di tutti i giorni. Stai scrivendo un post del blog in Claude Code e ti serve un'immagine di testata. Dici: «genera una hero editoriale 16:9 sul caching dei database, metafora della biblioteca». Claude compone il prompt e fa la chiamata:

→ 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/…"}]}

Ecco il risultato di quel prompt esatto, primo tentativo, nessun rifacimento:

Immagine hero generata con AI di un robot bibliotecario che mette libri luminosi su un piccolo scaffale davanti a un enorme archivio, creata da Claude Code via MCP

Costo: $0.11 su Nano Banana Pro a 1K. L'agente scarica il file dall'URL firmato, lo mette nel repo e scrive il testo alt. I link restano validi per 24 ore; dopo, get_result ne genera di nuovi.

Caso d'uso 2: foto prodotto senza fotografo

I mockup di marketing sono il punto in cui il prompting in stile fotografico ripaga. Descrivi lo scatto come lo spiegheresti a un fotografo: soggetto, superficie, fonte di luce, obiettivo.

→ 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"}

Foto prodotto fotorealistica generata con AI di un set pour-over in ceramica verde salvia su lino, in morbida luce da finestra, creata tramite il server MCP

Per trasparenza: questo scatto ha richiesto due tentativi. Il primo render sembrava giusto a colpo d'occhio, ma guardando meglio la tazza si era fusa con il piattino in un unico pezzo a forma di coperchio: la geometria degli oggetti è proprio dove i modelli fotorealistici scivolano ancora, e nel lavoro di prodotto devi zoomare prima di consegnare. Un solo rifacimento con lo stesso prompt l'ha sistemato: $0.22 per la coppia invece di $0.11. La parte che mi piace di più non è lo scatto in sé ma quello che viene dopo: un tool edit_image prende il job_id di un'immagine finita più un'istruzione come «rendi lo sfondo bianco puro e aggiungi un'ombra morbida». Rifinitura a più passaggi senza descrivere di nuovo la scena, ogni passaggio pagato come un'immagine. Per il lavoro da catalogo, questo ciclo fa la differenza tra uno strumento e un giocattolo.

Caso d'uso 3: un personaggio ricorrente in più immagini

Mascotte di brand, vignette di fumetti, storyboard: tutti hanno bisogno che lo stesso personaggio sopravviva da un'immagine all'altra. Via MCP il metodo che funziona è la scheda del personaggio: un blocco di descrizione fisso che l'agente incolla in ogni prompt. Il nostro era «a small courier robot with a round matte-teal head, one large friendly amber eye, boxy cream-white body with visible brass screws, and a canvas messenger bag with a brass buckle». Due scene, due chiamate, $0.11 ciascuna:

Robot corriere generato con AI, testa verde acqua e borsa a tracolla di tela, che smista pacchi in un deposito soleggiato: prima immagine di una serie con coerenza del personaggio

Lo stesso robot corriere generato con AI che pedala su una bici cargo in una strada piovosa al crepuscolo: seconda immagine della serie

Sul risultato sarò diretto: è buono, non perfetto. La borsa, l'occhio ambra, il corpo color crema con le viti di ottone sono rimasti. Ma la testa è scivolata dalla sfera verso un casco, e la scena al crepuscolo è tornata con un tratto più grafico. È il limite noto dell'ancoraggio solo testuale. Le immagini di riferimento lo risolvono davvero, e sia il generatore web (fino a 5 riferimenti del personaggio su Nano Banana Pro) sia il tool MCP generate_image ora le accettano, passate come job id, URL o data URI. La nostra guida pratica alla coerenza del personaggio copre entrambi i metodi, compreso quali tratti derivano per primi.

Caso d'uso 4: una clip video dalla stessa chat

Il video passa dallo stesso server, con una protezione in più. Le clip costano più delle immagini (fino a $4.40 per un render Veo 3.1 di fascia alta), quindi generate_video non addebita mai nulla alla prima chiamata. Restituisce un preventivo, e l'agente deve ripetere la chiamata accettando l'importo esatto:

→ 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}

Il risultato, sei secondi a 720p senza audio da Veo 3.1 Fast, prima ripresa:

I video richiedono da uno a dieci minuti, quindi l'agente interroga get_result mentre fa altro. Se vuoi l'audio, Omni Flash passa dallo stesso tool con l'audio sempre attivo, da $0.03 a $0.30 al secondo a seconda della risoluzione, e la durata la scegli tu, da 3 a 10 secondi. Accetta anche immagini in input: passa il job_id di un'immagine che hai già generato (o un link pubblico) come primo o ultimo fotogramma, aggiungi fino a dieci immagini di riferimento per mantenere coerente un personaggio, e l'agente le anima.

Ogni immagine di questo post viene da questo flusso

È la parte di cui vorrei una prova se fossi il lettore, quindi ecco il ciclo concreto. Claude Code ha scritto una sezione di questo articolo, ha composto un prompt per l'illustrazione nel nostro stile, ha chiamato il tool di generazione, ha aspettato una ventina di secondi, ha controllato l'immagine restituita e ha inserito il markdown con il testo alt prima di passare oltre. Otto chiamate di generazione per i media che vedi qui: sei immagini e il video sono riusciti al primo colpo, e il set da caffè ha richiesto un rifacimento dopo che un'occhiata più attenta ha scovato tazza e piattino fusi. Un tentativo ripetuto su otto chiamate ha comunque superato le mie aspettative. L'unico asset che non è una generazione è lo screenshot della pagina di documentazione, fatto con un tool del browser.

Le immagini non sono impeccabili (la testa del robot corriere, come detto, ha idee tutte sue). Il punto è che «illustrato» ha smesso di essere una fase di produzione separata. La stessa sessione che scrive il testo consegna le immagini, e il tutto è costato più o meno quanto un biglietto dell'autobus.

Quanto sono costati davvero i media di questo articolo?

Tutto quello che segue è stato pagato ai prezzi standard per generazione della nostra pagina dei prezzi, gli stessi numeri che list_models riporta all'agente. Nessuno sconto interno.

AssetModelloPrezzo
Immagine di copertinaNano Banana Pro, 1K$0.11
Illustrazione scrittore e pittoreNano Banana Pro, 1K$0.11
Hero della guida al caching (caso d'uso 1)Nano Banana Pro, 1K$0.11
Mockup del set da caffè, 2 tentativi incluso un rifacimento (caso d'uso 2)Nano Banana Pro, 1K$0.22
Serie del robot corriere, 2 immagini (caso d'uso 3)Nano Banana Pro, 1K$0.22
Clip dei campi di tè, 6 s senza audio a 720p (caso d'uso 4)Veo 3.1 Fast$0.52
Screenshot della documentazionebrowser, non una generazione$0.00
Totale$1.29

Abbiamo usato ovunque il modello di immagini di punta perché queste immagini finiscono su una pagina pubblica. Fare le bozze con Nano Banana 2 Lite a $0.03 avrebbe ridotto la parte immagini del conto da $0.77 a $0.21; la nostra guida a Lite spiega quando il modello economico basta.

Vuoi provarlo? Collega il server MCP di BananaBanana e chiedi a Claude la tua prima immagine.

FAQ

Il server MCP di BananaBanana funziona con client diversi da Claude?

Sì, con qualsiasi client MCP che supporti Streamable HTTP e ti permetta di aggiungere un header Authorization: Claude Code, Claude Desktop, Gemini CLI, ZCode di Z.ai per GLM-5.2, agenti degli editor come Cursor o VS Code e, grazie al supporto MCP remoto di Codex, l'app desktop di ChatGPT, Codex CLI e l'estensione per IDE, che condividono un'unica voce in config.toml con url e bearer_token_env_var. L'API di xAI collega i server MCP a ogni richiesta tramite server_url. Cosa resta incerto: i connettori web di ChatGPT si autenticano con OAuth invece che con chiavi incollate, e la finestra dei connettori personalizzati di grok.com accetta un URL senza un campo documentato per la chiave, quindi entrambi potrebbero aver bisogno del supporto OAuth 2.1 che già usiamo per altri client. La tabella aggiornata per ogni client, con gli snippet di setup, è nella pagina del server MCP; qualsiasi cosa costruisca tu può già collegarsi direttamente via JSON-RPC.

Mi serve una chiave API Google o un account Google Cloud?

No, ed è gran parte del motivo per cui questo server esiste. I server MCP locali per generare immagini che trovi su GitHub chiamano direttamente l'API Gemini, quindi hanno bisogno della tua chiave Google AI Studio; quote e fatturazione le gestisci tu. Qui la generazione gira sul pool di chiavi API gestito da BananaBanana, e la tua unica credenziale è la chiave bb_live_ del tuo profilo. Non tocchi mai la console di Google, e Google non ti fattura mai nulla. Il compromesso è onesto: rinunci ai prezzi grezzi delle API di Google e all'accesso diretto ai parametri, e in cambio hai prezzi per generazione senza spesa minima, rotazione automatica delle chiavi e un unico saldo condiviso tra server MCP e generatore web. Revocare una chiave finita in giro richiede un clic e non disturba nient'altro.

Come funziona la fatturazione sul server MCP?

Saldo prepagato, prezzi per generazione, senza abbonamento. Ricarichi, e ogni generazione scala il suo prezzo di listino: immagini da $0.03 a $0.20 a seconda di modello e risoluzione, video da $0.10 a $4.40 a seconda di modello, durata, risoluzione e audio. L'agente conosce ogni prezzo in anticipo: list_models fornisce i numeri aggiornati, e ogni chiamata video (più qualsiasi batch di più immagini) deve prima ricevere un preventivo e confermarlo con confirm_cost prima che si muova un centesimo. Ogni risultato riporta cost_charged_usd e balance_remaining_usd, quindi il controllo dei costi è integrato nella conversazione. Le generazioni fallite si rimborsano in automatico. Se temi un agente fuori controllo, imposta un tetto giornaliero in USD per chiave in Profilo → Chiavi API MCP e controlla il log d'uso per chiave, che registra tool, modello, costo e un'anteprima del prompt.

Cosa succede se il saldo arriva a zero a metà lavoro?

La successiva chiamata a pagamento fallisce in modo pulito con un errore INSUFFICIENT_BALANCE che include un link di ricarica, e l'agente te lo riferisce. Niente va in negativo: nessuno scoperto, nessuna fattura a sorpresa. I tool gratuiti (list_models, get_account, get_result, list_generations) continuano a funzionare, quindi tutto ciò che hai già generato resta raggiungibile, e una generazione partita prima che il saldo finisse si completa normalmente, perché l'addebito avviene una volta sola, all'avvio. In pratica Claude segnala la chiamata fallita con l'URL di ricarica e va avanti con il resto del lavoro. Se preferisci un margine invece di uno stop secco, tieni d'occhio balance_remaining_usd in ogni risultato o fai controllare all'agente get_account prima dei lavori in batch.

Cosa blocca il filtro dei contenuti, e pago i prompt filtrati?

I modelli Google a monte applicano i propri filtri di sicurezza; quando una generazione viene rifiutata, il server restituisce un unico codice SAFETY_FILTERED invece della mezza dozzina di varianti interne di Google. Le categorie bloccate sono quelle che ti aspetti dalle policy di Gemini e Veo: contenuti sessuali con minori, violenza esplicita, deepfake di persone reali e simili. I filtri danno anche qualche falso positivo su prompt innocenti, cosa che non decidiamo noi e non faremo finta del contrario. La fatturazione è semplice: una generazione filtrata del tutto viene rimborsata in automatico, e per i video, dove Google a volte filtra solo una parte dell'output, il rimborso è proporzionale. Paghi solo i media che ricevi. Se un prompt continua a far scattare il filtro, riformula il dettaglio concreto che lo provoca invece di riprovare con lo stesso testo.

Di chi sono le immagini che genero tramite il server MCP?

Tue. In base ai nostri termini, le immagini e i video generati sono tuoi per uso personale e commerciale, nel rispetto dei termini del fornitore del modello; non rivendichiamo alcuna proprietà sui tuoi contenuti, e i prompt che invii restano tuoi. Due dettagli sull'archiviazione contano nella pratica. Gli URL restituiti da get_result sono link firmati validi 24 ore, quindi scarica quello che ti interessa o chiama di nuovo get_result per averne di nuovi. E i media generati vengono conservati per 30 giorni, poi cancellati per sempre: il server MCP è una pipeline di generazione, non un archivio. Tutto ciò che generi via MCP finisce anche nella cronologia delle generazioni del tuo account web, così puoi sfogliarlo e riscaricarlo dal sito entro il periodo di conservazione.

tutorialmcpclaude