Voltar ao blog
BananaBanana Teamtutorialmcpclaude

Gerar Imagens no Claude Code: Configuração MCP em 2 Minutos

Gere imagens no Claude Code ou Claude Desktop com um servidor MCP remoto: sem instalação local, sem chave de API do Google, imagens a partir de $0.03.

Gerar Imagens no Claude Code: Configuração MCP em 2 Minutos

Um servidor MCP de geração de imagens é a peça que faltava para o Claude criar figuras: o Claude escreve o prompt e chama a ferramenta generate_image, o servidor renderiza o resultado em um modelo real (a família Nano Banana do Google, no nosso caso) e devolve uma URL. O Claude em si não sabe desenhar. A Anthropic nunca lançou um modelo de imagem, então o Claude Code e o Claude Desktop leem imagens perfeitamente, mas não produzem nenhuma.

A resposta rápida, se era só isso que você procurava: crie uma chave de API no seu perfil BananaBanana e execute um único comando no terminal:

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

Essa é toda a instalação. Sem servidor local, sem conta no Google Cloud, sem assinatura. As imagens custam a partir de $0.03 cada, descontadas de um saldo pré-pago, e os vídeos a partir de $0.10. E para manter este guia honesto: cada ilustração neste artigo foi gerada pelo Claude Code através desse mesmo servidor enquanto ele escrevia o texto. O custo total com mídia ficou em $1.29, incluindo uma nova geração, com os recibos detalhados no final.

Por que o Claude não consegue gerar imagens sozinho?

A Anthropic desenvolve modelos de texto e raciocínio. A visão funciona apenas em uma direção: o Claude consegue analisar suas capturas de tela e fotos, mas não há nenhum gerador de imagens em toda a sua família de modelos, e nenhum foi anunciado. O ChatGPT já vem com um modelo de imagem embutido. O Claude não.

A solução encontrada pela comunidade foi usar servidores MCP locais — o GitHub está cheio deles, e eles funcionam. Mas "instalar" nesse caso significa: rodar seu próprio processo local, ter o Node ou Python instalado na máquina, configurar o servidor em um arquivo de configuração em cada computador e, o grande problema, usar sua própria chave de API do Google. As cobranças caem na sua conta do Google, com suas próprias cotas e painéis de controle. Para um desenvolvedor fazendo testes rápidos em um notebook, tudo bem. Para qualquer outra pessoa, vira um pequeno projeto de infraestrutura.

Um servidor MCP remoto muda tudo. O servidor já roda do nosso lado; a infraestrutura por trás dele é a mesma que alimenta o gerador do BananaBanana. Você se autentica com uma única chave, paga por geração a partir de um saldo pré-pago, e a configuração é idêntica no Claude Code no notebook, no Claude Desktop no computador de um colega e no claude.ai no navegador. Não há absolutamente nada para você gerenciar ou manter.

Ilustração editorial de um robô escritor entregando um bilhete para um robô pintor em um cavalete, uma metáfora para o Claude delegando a geração de imagens para um servidor MCP

Como conectar o Claude Code a um servidor MCP de geração de imagens?

Dois minutos, três passos. Primeiro, cadastre-se e acesse Perfil → Chaves de API MCP (Profile → MCP API Keys). Crie uma chave: ela é exibida apenas uma vez, começa com bb_live_ e é armazenada criptografada (com hash) do nosso lado, então copie-a imediatamente. Novas contas começam com um saldo inicial de $0.20, o suficiente para gerar seis imagens de teste no modelo mais barato antes de decidir se deseja recarregar.

Claude Code

Um único comando, como mostrado acima:

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

As flags estão documentadas na documentação do Claude Code MCP; HTTP é o meio de transporte recomendado para servidores remotos. Execute /mcp dentro de uma sessão para confirmar que a conexão está ativa: você verá sete ferramentas, de list_models a get_result. A partir daí, pedir para "gerar uma imagem de destaque em 16:9 para este post" passa a ser uma instrução que o Claude Code realmente consegue executar.

Claude Desktop e claude.ai

No Claude Desktop e no claude.ai, o caminho é Configurações → Conectores → Adicionar conector personalizado (Settings → Connectors → Add custom connector) e colar https://bananabanana.pro/api/mcp como URL do servidor. Para a chave, abra a seção de cabeçalhos de requisição (Request headers) e adicione um cabeçalho Authorization com o valor Bearer bb_live_YOUR_KEY. Digite o valor completo, incluindo a palavra Bearer e o espaço; de acordo com a documentação de conectores da Anthropic, o Claude envia o cabeçalho exatamente como digitado e não adiciona nenhum prefixo por conta própria.

Um aviso sincero: a autenticação por cabeçalho de requisição nos conectores está em fase beta e a Anthropic está disponibilizando-a gradualmente, portanto, a sua conta pode ainda não exibir essa seção. Mas a alternativa funciona em qualquer lugar onde o Claude Desktop rode: adicione o servidor através da ponte mcp-remote no arquivo claude_desktop_config.json (Settings → Developer → Edit Config), o que exige ter o Node.js instalado:

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

Ambas as variantes, além de um exemplo puro em JSON-RPC para qualquer outra integração, estão disponíveis na página do servidor MCP:

Seção de início rápido da página de documentação do servidor MCP BananaBanana mostrando snippets de configuração do Claude Code e Claude Desktop

Funciona fora do Claude?

Sim. O MCP é um protocolo aberto, de modo que qualquer cliente compatível com Streamable HTTP e que permita anexar um cabeçalho Authorization se conecta ao mesmo endpoint: Gemini CLI, ZCode da Z.ai para GLM-5.2, agentes de editores — e, desde que o Codex lançou suporte a MCP remoto, o aplicativo de desktop do ChatGPT, Codex CLI e também a extensão para IDE, através de uma única entrada compartilhada no config.toml (url mais bearer_token_env_var, conforme a documentação do Codex MCP). A API do xAI anexa servidores MCP por requisição com server_url. Os retardatários são as interfaces web baseadas em OAuth em vez de chaves coladas — os conectores web do ChatGPT e, possivelmente, os conectores personalizados baseados em URL do grok.com. Mantemos a tabela oficial e atualizada para cada cliente com trechos de configuração na página do servidor MCP; este artigo continuará focado no Claude.

Caso de uso 1: uma imagem de destaque para o post que você está escrevendo

O caso mais comum do dia a dia. Você está redigindo um post de blog no Claude Code e precisa de um cabeçalho. Você diz: "generate a 16:9 editorial hero about database caching, library metaphor." O Claude escreve o prompt e faz a chamada:

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

Aqui está o resultado exato desse prompt, na primeira tentativa, sem novas gerações:

Imagem de destaque gerada por IA de um robô bibliotecário organizando livros brilhantes em uma pequena estante em frente a um arquivo gigantesco, feita pelo Claude Code via MCP

Custo: $0.11 no Nano Banana Pro a 1K. O agente faz o download do arquivo a partir da URL assinada, salva-o no repositório e escreve o texto alternativo (alt text). Os links permanecem válidos por 24 hours; depois disso, o get_result gera novos links.

Caso de uso 2: fotos de produtos sem um fotógrafo

Mockups de marketing são o cenário perfeito onde os prompts estilo fotografia mostram seu valor. Descreva a foto do jeito que um fotógrafo faria o briefing: objeto, superfície, fonte de luz, lente.

→ 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 fotorrealista de produto gerada por IA de um conjunto de café de cerâmica verde-salvia sobre linho sob luz suave de janela, gerada pelo servidor MCP

Sendo totalmente sincero: esta foto precisou de duas tentativas. A primeira renderização parecia correta à primeira vista, mas, ao olhar de perto, a xícara havia se fundido com o pires em uma única peça — a geometria dos objetos é justamente onde os modelos fotorrealistas ainda falham, e trabalhos com produtos exigem dar um zoom antes de publicar. Uma nova tentativa (reroll) com o mesmo prompt resolveu: $0.22 pelo par em vez de $0.11. A parte que eu mais gosto não é a foto em si, mas o que acontece a seguir: uma ferramenta edit_image recebe o job_id de uma imagem concluída juntamente com uma instrução como "make the background pure white and add a soft shadow." Refinamento em várias etapas sem precisar reescrever toda a descrição da cena, com cada passagem cobrada como uma única imagem. Para trabalhos de catálogo, esse ciclo é a diferença entre uma ferramenta profissional e um brinquedo.

Caso de uso 3: um personagem recorrente em várias imagens

Mascotes de marcas, painéis de quadrinhos e storyboards exigem que o mesmo personagem apareça de forma consistente de uma imagem para outra. Através do MCP, o método de trabalho é usar um "character sheet" (ficha de personagem): um bloco fixo de descrição que o agente cola em cada prompt. No nosso caso, foi: "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." Duas cenas, duas chamadas, $0.11 cada:

Robô mensageiro gerado por IA com cabeça verde-azulada e bolsa de lona organizando pacotes em um depósito ensolarado, primeira imagem de uma série com consistência de personagem

O mesmo personagem de robô mensageiro gerado por IA andando de bicicleta de carga por uma rua chuvosa ao entardecer, segunda imagem da série

Serei direto sobre o resultado: está bom, mas não perfeito. A bolsa, o olho âmbar e o corpo creme com parafusos de latão foram todos mantidos. No entanto, a cabeça mudou de uma esfera para algo parecido com um capacete, e a cena ao entardecer veio com um estilo de traço mais gráfico. Esse é o limite conhecido de usar apenas texto como base. Imagens de referência resolvem isso de verdade, e o gerador web aceita até 5 referências de personagem no Nano Banana Pro; contudo, a ferramenta MCP generate_image ainda não aceita imagens de entrada. Nosso guia prático de consistência de personagens aborda ambos os métodos, incluindo quais características costumam mudar primeiro.

Caso de uso 4: um clipe de vídeo no mesmo chat

A geração de vídeo roda pelo mesmo servidor, com uma proteção extra. Cliques de vídeo custam mais que imagens (até $4.40 para uma renderização de alto nível no Veo 3.1), então a função generate_video nunca cobra na primeira chamada. Ela retorna um orçamento (quote), e o agente precisa repetir a chamada aceitando o valor exato:

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

O resultado: seis segundos silenciosos em 720p gerados pelo Veo 3.1 Fast, logo na primeira tentativa:

Como os vídeos levam de um a dez minutos para ficar prontos, o agente monitora com get_result em segundo plano enquanto executa outras tarefas. Se você quiser áudio, o Omni Flash roda pela mesma ferramenta a $0.10 por segundo com áudio sempre ativado, e você define a duração — de 3 a 10 segundos. Ele também aceita imagens como entrada: passe o job_id de uma imagem que você já gerou (ou um link público) como o primeiro frame, adicione até dez imagens de referência para manter um personagem consistente, e o agente as animará. Os últimos frames e os loops ainda precisam do gerador web.

Cada imagem neste post veio deste fluxo de trabalho

Se eu estivesse lendo este artigo, eu gostaria de provas dessa parte, então aqui está o ciclo concreto de como aconteceu. O Claude Code escreveu uma seção deste artigo, compôs um prompt de ilustração no estilo visual do nosso site, chamou a ferramenta de geração, esperou cerca de vinte segundos, checou a imagem recebida e inseriu o markdown com o alt text correspondente antes de prosseguir. Foram oito chamadas de geração para as mídias que você vê aqui — seis imagens e o vídeo deram certo logo de primeira, e o conjunto de café exigiu uma nova tentativa depois que um olhar mais atento percebeu a xícara e o pires grudados. Ter apenas um refazer em oito tentativas superou minhas expectativas. A única mídia que não foi gerada por IA é o print da página de documentação, capturado com uma ferramenta de navegador.

As imagens não são impecáveis (a cabeça do robô mensageiro, como observamos, tem personalidade própria). Mas a grande questão é que a etapa de "ilustração" deixou de ser um processo separado de produção. A mesma sessão que redige o texto já entrega os elementos visuais, e o custo total disso ficou em torno do preço de uma passagem de ônibus.

Quanto realmente custaram as mídias deste artigo?

Tudo listado abaixo foi cobrado com base nos preços padrão por geração da nossa página de preços, os mesmos valores que a função list_models reporta para o agente. Sem descontos para a equipe.

MídiaModeloPreço
Imagem de capaNano Banana Pro, 1K$0.11
Ilustração escritor-e-pintorNano Banana Pro, 1K$0.11
Destaque do guia de cache (caso de uso 1)Nano Banana Pro, 1K$0.11
Mockup do conjunto de café, 2 tentativas incl. um reroll (caso de uso 2)Nano Banana Pro, 1K$0.22
Série do robô mensageiro, 2 imagens (caso de uso 3)Nano Banana Pro, 1K$0.22
Clipe dos campos de chá, 6 s silencioso 720p (caso de uso 4)Veo 3.1 Fast$0.52
Print da documentaçãonavegador, não foi uma geração$0.00
Total$1.29

Utilizamos o melhor modelo de imagem em todos os casos porque estas mídias estão publicadas em uma página pública. Se tivéssemos feito os rascunhos com o Nano Banana 2 Lite a $0.03, o custo das imagens teria caído de $0.77 para $0.21; nosso guia do Lite explica quando o modelo de baixo custo é o suficiente.

Pronto para testar? Conecte o servidor MCP do BananaBanana e peça sua primeira imagem ao Claude.

FAQ

O servidor MCP do BananaBanana funciona com outros clientes além do Claude?

Sim, funciona com qualquer cliente MCP compatível com Streamable HTTP e que permita anexar um cabeçalho Authorization: Claude Code, Claude Desktop, Gemini CLI, ZCode da Z.ai para GLM-5.2, agentes de edição como o Cursor ou o VS Code e — por meio do suporte a MCP remoto do Codex — o app de desktop do ChatGPT, Codex CLI e extensão de IDE, que compartilham uma única entrada no arquivo config.toml contendo url e bearer_token_env_var. A API do xAI anexa servidores MCP por requisição via server_url. O que ainda é incerto: os conectores web do ChatGPT autenticam por OAuth em vez de chaves coladas, e a tela de conector personalizado do grok.com recebe uma URL sem um campo de chave documentado, portanto, ambos podem exigir o suporte a OAuth 2.1 planejado do nosso lado. A tabela atualizada para cada cliente com snippets de configuração fica na página do servidor MCP; qualquer integração que você mesmo desenvolva já pode se conectar diretamente por JSON-RPC.

Preciso de uma chave de API do Google ou de uma conta no Google Cloud?

Não, e esse é o principal motivo para este servidor existir. Os servidores MCP locais de geração de imagens que você encontra no GitHub chamam a API do Gemini diretamente, exigindo uma chave própria do Google AI Studio; com isso, você mesmo gerencia as cotas e o faturamento. Aqui, a geração roda no pool gerenciado de chaves da Vertex AI do BananaBanana, e a sua única credencial é a chave bb_live_ do seu perfil. Você nunca entra no painel do Google e o Google nunca cobra nada de você. É uma troca justa: você abre mão dos preços de custo da API do Google e do controle direto de parâmetros, e ganha preços por geração sem gasto mínimo obrigatório, rotação automática de chaves e um saldo único compartilhado entre o servidor MCP, o gerador web e o aplicativo do Telegram. Revogar uma chave vazada leva um clique e não afeta mais nada.

Como funciona o faturamento no servidor MCP?

Saldo pré-pago, preços por geração, sem assinatura. Você recarrega o saldo e cada geração desconta o valor correspondente: de $0.03 a $0.20 para imagens (dependendo do modelo e resolução) e de $0.10 a $4.40 para vídeos (dependendo do modelo, duração, resolução e áudio). O agente sabe todos os preços com antecedência: a função list_models fornece valores em tempo real, e cada chamada de vídeo (assim como qualquer lote com várias imagens) precisa primeiro receber um orçamento e confirmá-lo via confirm_cost antes de cobrar qualquer centavo. Cada resultado reporta os valores de cost_charged_usd and balance_remaining_usd, integrando o controle de custos diretamente no chat. Gerações que falharem são reembolsadas de forma automática. Se você tem receio de o agente gastar demais sem querer, é possível definir um limite diário em dólares por chave em Perfil → Chaves de API MCP (Profile → MCP API Keys) e auditar o histórico de uso por chave, que registra a ferramenta, o modelo, o custo e uma prévia do prompt utilizado.

O que acontece se meu saldo acabar no meio de uma tarefa?

A próxima chamada de ferramenta paga falhará de forma limpa, retornando um erro INSUFFICIENT_BALANCE que inclui um link para recarga, e o agente repassa isso para você. O saldo nunca fica negativo, não há cheque especial nem faturas surpresa. As ferramentas gratuitas (list_models, get_account, get_result, list_generations) continuam ativas, garantindo que tudo o que já foi gerado permaneça acessível. Além disso, uma geração iniciada antes de o saldo zerar é concluída normalmente, pois a cobrança ocorre uma única vez, no início. Na prática, o Claude apenas relata a falha na chamada com a URL de recarga e continua com o restante do trabalho. Caso queira uma margem de segurança em vez de uma interrupção brusca, acompanhe o balance_remaining_usd em cada resultado ou configure o agente para consultar a função get_account antes de realizar tarefas em lote.

O que o filtro de conteúdo bloqueia? Eu pago pelos prompts filtrados?

Os próprios modelos de base do Google aplicam seus filtros de segurança. Quando uma geração é rejeitada, o servidor retorna um código único SAFETY_FILTERED, em vez da meia dúzia de variantes internas do Google. As categorias bloqueadas são aquelas já esperadas pelas políticas do Gemini e do Veo: conteúdo sexual envolvendo menores, violência explícita, deepfakes de pessoas reais e afins. Ocasionalmente, os filtros também geram falsos positivos em prompts inocentes, o que não depende de nós e não vamos fingir o contrário. O faturamento é simples: uma geração totalmente filtrada é reembolsada automaticamente; para vídeos, em que o Google às vezes filtra apenas parte do conteúdo final, o reembolso é proporcional. Você paga somente pelas mídias que receber de fato. Se um prompt continuar ativando o filtro, altere o detalhe específico que causou o bloqueio em vez de reenviar exatamente o mesmo texto.

Quem é o dono das imagens que eu gero através do servidor MCP?

Você. De acordo com os nossos termos, as imagens e vídeos gerados pertencem a você para uso pessoal e comercial, sujeito aos termos de uso do respectivo provedor do modelo de IA. Nós não reivindicamos qualquer propriedade sobre o seu conteúdo, e os prompts enviados continuam sendo seus. Há dois detalhes de armazenamento importantes na prática: as URLs retornadas pelo get_result são links assinados com validade de 24 horas, portanto, faça o download do que for importante ou chame o get_result novamente para obter novos links. Além disso, as mídias geradas são armazenadas por 30 dias e depois excluídas permanentemente: o servidor MCP funciona como uma pipeline de geração, não como um arquivo de armazenamento. Por fim, tudo o que for gerado via MCP também aparecerá no histórico de gerações da sua conta web, permitindo que você navegue e baixe os arquivos novamente pelo site dentro do período de retenção.

tutorialmcpclaude