Zurück zum Blog
BananaBanana Teamtutorialmcpclaude

Bilder in Claude Code generieren: MCP-Setup in 2 Minuten

Bilder in Claude Code oder Claude Desktop generieren – über einen Remote-MCP-Server: keine lokale Installation, kein Google-API-Schlüssel, Bilder ab $0.03.

Bilder in Claude Code generieren: MCP-Setup in 2 Minuten

Ein MCP-Server für Bildgenerierung ist das fehlende Puzzleteil, mit dem Claude Bilder erstellen kann: Claude schreibt den Prompt und ruft ein generate_image-Tool auf, der Server rendert das Ergebnis mit einem echten Modell (bei uns die Nano-Banana-Familie von Google) und gibt eine URL zurück. Claude selbst kann nicht zeichnen. Anthropic hat nie ein Bildmodell veröffentlicht, Claude Code und Claude Desktop lesen Bilder also problemlos, erzeugen aber keine.

Die schnelle Antwort, falls du nur deswegen hier bist: Leg in deinem BananaBanana-Profil einen API-Schlüssel an und führe dann einen einzigen Befehl im Terminal aus:

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

Das ist die ganze Installation. Kein lokaler Server, kein Google-Cloud-Konto, kein Abo. Bilder kosten ab $0.03 pro Stück aus einem vorab aufgeladenen Guthaben, Video ab $0.10. Und damit dieser Guide ehrlich bleibt: Jede Illustration in diesem Artikel hat Claude Code über genau diesen Server generiert, während es den Text geschrieben hat. Die gesamte Medienrechnung lag bei $1.29, ein zweiter Versuch inklusive, Belege am Ende.

Warum kann Claude keine Bilder selbst generieren?

Anthropic baut Modelle für Text und Reasoning. Beim Sehen geht es nur in eine Richtung: Claude kann sich deine Screenshots und Fotos anschauen, aber in der ganzen Modellfamilie gibt es keinen Bildgenerator, und angekündigt ist auch keiner. ChatGPT bringt ein eingebautes Bildmodell mit. Claude nicht.

Die Antwort der Community waren lokale MCP-Server – auf GitHub gibt es einen ganzen Haufen davon, und sie funktionieren. Aber „installieren“ heißt dort: einen eigenen lokalen Prozess laufen lassen, Node oder Python parat halten, den Server auf jedem Rechner in eine Konfigurationsdatei eintragen und, der eigentliche Haken, einen eigenen Google-API-Schlüssel mitbringen. Die Abrechnung landet auf deinem Google-Konto, mit eigenen Kontingenten und eigenem Dashboard. Für einen Entwickler, der auf einem Laptop herumprobiert, okay. Für alle anderen ist es ein kleines Infrastrukturprojekt.

Ein Remote-MCP-Server dreht das um. Der Server läuft schon bei uns, dahinter steckt dieselbe Pipeline, die auch den BananaBanana-Generator bedient. Du authentifizierst dich mit einem Schlüssel, zahlst pro Generierung aus einem vorab aufgeladenen Guthaben, und das Setup ist identisch in Claude Code auf dem Laptop, in Claude Desktop auf dem Rechner einer Kollegin und in claude.ai im Browser. Es gibt wirklich nichts zu warten.

Editorial-Illustration: Ein Schreiber-Roboter reicht einem Maler-Roboter an der Staffelei einen Zettel – Metapher dafür, dass Claude die Bildgenerierung an einen MCP-Server delegiert

Wie verbindest du Claude Code mit einem MCP-Server für Bildgenerierung?

Zwei Minuten, drei Schritte. Zuerst registrierst du dich und öffnest Profil → MCP-API-Schlüssel. Leg einen Schlüssel an: Er wird nur einmal angezeigt, beginnt mit bb_live_ und wird bei uns gehasht gespeichert, also kopier ihn sofort. Neue Accounts bekommen $0.20 Startguthaben, genug für sechs Testbilder mit dem günstigsten Modell, bevor du entscheidest, ob du auflädst.

Claude Code

Ein Befehl, wie oben:

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

Die Flags sind in der MCP-Doku von Claude Code beschrieben, HTTP ist dort der empfohlene Transport für Remote-Server. Führ in einer Session /mcp aus, um zu prüfen, ob die Verbindung steht: Du solltest zehn Tools sehen, von list_models bis list_generations. Ab dann ist „generier ein 16:9-Titelbild für diesen Beitrag“ eine Anweisung, die Claude Code tatsächlich ausführen kann.

Claude Desktop und claude.ai

In Claude Desktop und claude.ai geht der Weg über Settings → Connectors → Add custom connector, dann fügst du https://bananabanana.pro/api/mcp als Server-URL ein. Für den Schlüssel öffnest du den Abschnitt Request headers und fügst einen Authorization-Header mit dem Wert Bearer bb_live_YOUR_KEY hinzu. Gib den vollständigen Wert ein, inklusive des Worts Bearer und des Leerzeichens: Laut Anthropics Connector-Doku schickt Claude den Header genau so, wie er eingetippt wurde, und setzt kein eigenes Präfix davor.

Eine ehrliche Einschränkung: Die Authentifizierung per Request-Header in Connectors ist in der Beta, und Anthropic rollt sie schrittweise aus. Bei deinem Account fehlt dieser Abschnitt also vielleicht noch. Der Ausweg funktioniert überall, wo Claude Desktop läuft: Trag den Server über die mcp-remote-Brücke in claude_desktop_config.json ein (Settings → Developer → Edit Config). Dafür muss Node.js installiert sein:

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

Beide Varianten, plus ein rohes JSON-RPC-Beispiel für alles andere, stehen auf der MCP-Server-Seite:

Quick-Start-Abschnitt der MCP-Doku von BananaBanana mit Setup-Snippets für Claude Code und Claude Desktop

Funktioniert das auch außerhalb von Claude?

Ja. MCP ist ein offenes Protokoll, also verbindet sich jeder Client mit demselben Endpoint, der Streamable HTTP spricht und einen Authorization-Header mitschicken kann: Gemini CLI, ZCode von Z.ai, Editor-Agents – und seit Codex Remote-MCP unterstützt auch die ChatGPT-Desktop-App, Codex CLI und die IDE-Erweiterung, über einen gemeinsamen Eintrag in config.toml (url plus bearer_token_env_var, laut der MCP-Doku von Codex). Die xAI API hängt MCP-Server pro Request mit server_url an. Nachzügler sind Web-Dialoge, die auf OAuth statt auf eingefügte Schlüssel setzen – die Web-Connectors von ChatGPT und womöglich die URL-basierten Custom-Connectors von grok.com. Die maßgebliche, gepflegte Tabelle pro Client mit Setup-Snippets findest du auf der MCP-Server-Seite. In diesem Artikel bleibt es bei Claude.

Anwendungsfall 1: ein Titelbild für den Beitrag, den du gerade schreibst

Der Alltagsfall. Du schreibst in Claude Code an einem Blogbeitrag, und der braucht ein Titelbild. Du sagst: „generier ein 16:9-Editorial-Titelbild zum Thema Datenbank-Caching, Bibliotheks-Metapher.“ Claude formuliert den Prompt und macht den Aufruf:

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

Hier ist das Ergebnis genau dieses Prompts, erster Versuch, keine Wiederholungen:

KI-generiertes Titelbild: Ein Bibliothekar-Roboter stellt leuchtende Bücher auf ein kleines Regal vor einem riesigen Archiv, erstellt von Claude Code per MCP

Kosten: $0.11 mit Nano Banana Pro in 1K. Der Agent lädt die Datei über die signierte URL herunter, legt sie ins Repo und schreibt den Alt-Text. Die Links bleiben 24 Stunden gültig, danach stellt get_result neue aus.

Anwendungsfall 2: Produktfotos ohne Fotografen

Bei Marketing-Mockups zahlt sich Prompten im Fotografenstil aus. Beschreib die Aufnahme so, wie ein Fotograf sie gebrieft bekäme: Motiv, Untergrund, Lichtquelle, Objektiv.

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

Fotorealistisches KI-Produktfoto eines salbeigrünen Pour-over-Kaffeesets aus Keramik auf Leinen im weichen Fensterlicht, generiert über den MCP-Server

Offen gesagt: Dieses Bild hat zwei Anläufe gebraucht. Der erste Render sah auf den ersten Blick richtig aus, aber beim genaueren Hinsehen waren Tasse und Untertasse zu einem einzigen deckelförmigen Teil verschmolzen. Objektgeometrie ist genau die Stelle, an der fotorealistische Modelle noch patzen, und bei Produktbildern musst du vor der Auslieferung reinzoomen. Ein zweiter Durchlauf mit demselben Prompt hat es behoben: $0.22 für beide statt $0.11. Am meisten gefällt mir aber nicht das Bild selbst, sondern was danach kommt: Ein edit_image-Tool nimmt die job_id eines fertigen Bilds plus eine Anweisung wie „mach den Hintergrund reinweiß und füg einen weichen Schatten hinzu“. Verfeinerung über mehrere Runden, ohne die Szene neu zu beschreiben, jeder Durchgang wird als ein Bild abgerechnet. Für Katalogarbeit ist diese Schleife der Unterschied zwischen Werkzeug und Spielzeug.

Anwendungsfall 3: eine wiederkehrende Figur über mehrere Bilder

Maskottchen, Comic-Panels, Storyboards – überall muss dieselbe Figur von einem Bild ins nächste überleben. Über MCP ist die bewährte Methode ein Character Sheet: ein fester Beschreibungsblock, den der Agent in jeden Prompt einfügt. Unserer lautete „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.“ Zwei Szenen, zwei Aufrufe, je $0.11:

KI-generierter Kurier-Roboter mit petrolfarbenem Kopf und Umhängetasche aus Canvas beim Sortieren von Paketen in einem sonnigen Depot, erstes Bild einer Serie mit konsistentem Charakter

Derselbe KI-Kurier-Roboter fährt in der Dämmerung auf einem Lastenrad durch eine verregnete Straße, zweites Bild der Serie

Ich sag dir ehrlich, wie das Ergebnis ist: gut, nicht perfekt. Die Tasche, das bernsteinfarbene Auge, der cremefarbene Körper mit Messingschrauben – alles ist geblieben. Aber der Kopf ist von einer Kugel Richtung Helm gewandert, und die Dämmerungsszene kam in einem grafischeren Linienstil zurück. Das ist die bekannte Grenze der reinen Textverankerung. Referenzbilder lösen das richtig, und sowohl der Web-Generator (bis zu 5 Charakterreferenzen bei Nano Banana Pro) als auch das MCP-Tool generate_image nehmen sie inzwischen an, übergeben als Job-ID, URL oder Data-URI. Unser Praxisguide zu Charakterkonsistenz behandelt beide Methoden, inklusive der Frage, welche Merkmale zuerst abdriften.

Anwendungsfall 4: ein Videoclip aus demselben Chat

Video läuft über denselben Server, mit einer zusätzlichen Absicherung. Clips kosten mehr als Bilder (bis zu $4.40 für einen Veo-3.1-Render der Spitzenklasse), deshalb berechnet generate_video beim ersten Aufruf nie etwas. Es gibt ein Angebot zurück, und der Agent muss den Aufruf wiederholen und dabei den exakten Betrag bestätigen:

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

Das Ergebnis, sechs Sekunden ohne Ton in 720p aus Veo 3.1 Fast, erster Take:

Videos brauchen eine bis zehn Minuten, also fragt der Agent get_result ab, während er anderes erledigt. Wenn du Ton willst, läuft Omni Flash über dasselbe Tool, Ton immer an – $0.03 bis $0.30 pro Sekunde je nach Auflösung –, und die Länge legst du fest, irgendwo zwischen 3 und 10 Sekunden. Es nimmt auch Bilder als Eingabe: Übergib die job_id eines schon generierten Bilds (oder einen öffentlichen Link) als Start- oder Endbild, füg bis zu zehn Referenzbilder hinzu, damit eine Figur konsistent bleibt, und der Agent animiert sie.

Jedes Bild in diesem Beitrag stammt aus diesem Workflow

Das ist der Teil, für den ich als Leser einen Beweis wollen würde, also hier der konkrete Ablauf. Claude Code hat einen Abschnitt dieses Artikels geschrieben, einen Illustrations-Prompt in unserem Hausstil formuliert, das Generierungs-Tool aufgerufen, die gut zwanzig Sekunden gewartet, das zurückgegebene Bild geprüft und das Markdown mit Alt-Text eingefügt, bevor es weiterging. Acht Generierungsaufrufe für die Medien, die du hier siehst – sechs Bilder und das Video saßen beim ersten Versuch, und das Kaffeeset brauchte einen zweiten Durchlauf, nachdem ein genauerer Blick die verschmolzene Tasse samt Untertasse entdeckt hatte. Eine Wiederholung bei acht Aufrufen hat meine Erwartungen trotzdem übertroffen. Das einzige Asset, das keine Generierung ist, ist der Screenshot der Doku-Seite, aufgenommen mit einem Browser-Tool.

Die Bilder sind nicht makellos (der Kopf des Kurier-Roboters hat, wie gesagt, seinen eigenen Willen). Der Punkt ist: „Illustriert“ ist kein separater Produktionsschritt mehr. Dieselbe Session, die den Text schreibt, liefert auch die Bilder, und das Ganze hat ungefähr so viel gekostet wie ein Busticket.

Was haben die Medien dieses Artikels tatsächlich gekostet?

Alles unten wurde zu den Standardpreisen pro Generierung von unserer Preisseite abgerechnet, dieselben Zahlen, die list_models dem Agenten meldet. Keine Mitarbeiterrabatte.

AssetModellPreis
TitelbildNano Banana Pro, 1K$0.11
Illustration Schreiber und MalerNano Banana Pro, 1K$0.11
Titelbild Caching-Guide (Anwendungsfall 1)Nano Banana Pro, 1K$0.11
Kaffeeset-Mockup, 2 Takes inkl. einer Wiederholung (Anwendungsfall 2)Nano Banana Pro, 1K$0.22
Kurier-Roboter-Serie, 2 Bilder (Anwendungsfall 3)Nano Banana Pro, 1K$0.22
Clip Teefelder, 6 s ohne Ton, 720p (Anwendungsfall 4)Veo 3.1 Fast$0.52
Doku-ScreenshotBrowser, keine Generierung$0.00
Gesamt$1.29

Wir haben überall das beste Bildmodell verwendet, weil diese Bilder auf einer öffentlichen Seite landen. Entwürfe mit Nano Banana 2 Lite für $0.03 hätten den Bildanteil der Rechnung von $0.77 auf $0.21 gesenkt. Unser Lite-Guide erklärt, wann das günstige Modell reicht.

Lust, es auszuprobieren? Verbinde den BananaBanana-MCP-Server und bitte Claude um dein erstes Bild.

FAQ

Funktioniert der MCP-Server von BananaBanana auch mit anderen Clients als Claude?

Ja, mit jedem MCP-Client, der Streamable HTTP unterstützt und dich einen Authorization-Header anhängen lässt: Claude Code, Claude Desktop, Gemini CLI, ZCode von Z.ai für GLM-5.2, Editor-Agents wie Cursor oder VS Code und – über die Remote-MCP-Unterstützung von Codex – die ChatGPT-Desktop-App, Codex CLI und die IDE-Erweiterung, die sich einen Eintrag in config.toml mit url und bearer_token_env_var teilen. Die xAI API hängt MCP-Server pro Request über server_url an. Noch offen ist: Die Web-Connectors von ChatGPT authentifizieren über OAuth statt über eingefügte Schlüssel, und der Custom-Connector-Dialog von grok.com nimmt eine URL ohne dokumentiertes Schlüsselfeld an. Beide brauchen also womöglich die OAuth-2.1-Unterstützung, die wir für andere Clients schon betreiben. Die gepflegte Tabelle pro Client mit Setup-Snippets steht auf der MCP-Server-Seite. Alles, was du selbst baust, kann sich schon jetzt direkt über JSON-RPC verbinden.

Brauche ich einen Google-API-Schlüssel oder ein Google-Cloud-Konto?

Nein, und genau deshalb gibt es diesen Server überhaupt. Lokale MCP-Server für Bildgenerierung von GitHub rufen die Gemini API direkt auf und brauchen deshalb deinen eigenen Google-AI-Studio-Schlüssel, dessen Kontingente und Abrechnung du selbst verwaltest. Hier läuft die Generierung über den eigenen, verwalteten Pool von API-Schlüsseln von BananaBanana, und deine einzige Zugangsinformation ist der bb_live_-Schlüssel aus deinem Profil. Du fasst die Google-Konsole nie an, und Google stellt dir nie etwas in Rechnung. Der Kompromiss ist ehrlich: Du verzichtest auf Googles direkte API-Preise und den unmittelbaren Zugriff auf Parameter und bekommst dafür Preise pro Generierung ohne Mindestumsatz, automatische Schlüsselrotation und ein Guthaben, das MCP-Server und Web-Generator teilen. Einen geleakten Schlüssel widerrufst du mit einem Klick, ohne dass sonst etwas gestört wird.

Wie funktioniert die Abrechnung beim MCP-Server?

Vorab aufgeladenes Guthaben, Preise pro Generierung, kein Abo. Du lädst auf, und jede Generierung zieht ihren angegebenen Preis ab: Bilder $0.03 bis $0.20 je nach Modell und Auflösung, Video $0.10 bis $4.40 je nach Modell, Dauer, Auflösung und Ton. Der Agent kennt jeden Preis vorher: list_models liefert aktuelle Zahlen, und jeder Videoaufruf (plus jeder Batch mit mehreren Bildern) muss erst ein Angebot erhalten und es mit confirm_cost bestätigen, bevor auch nur ein Cent fließt. Jedes Ergebnis meldet cost_charged_usd und balance_remaining_usd, die Kostenkontrolle steckt also direkt im Gespräch. Fehlgeschlagene Generierungen werden automatisch erstattet. Falls dir ein außer Kontrolle geratener Agent Sorgen macht, setz unter Profil → MCP-API-Schlüssel ein tägliches USD-Limit pro Schlüssel und prüf das Nutzungsprotokoll pro Schlüssel, das Tool, Modell, Kosten und eine Prompt-Vorschau festhält.

Was passiert, wenn mein Guthaben mitten in einer Aufgabe auf null fällt?

Der nächste kostenpflichtige Tool-Aufruf scheitert sauber mit einem INSUFFICIENT_BALANCE-Fehler samt Link zum Aufladen, und der Agent gibt ihn an dich weiter. Nichts rutscht ins Minus, es gibt weder Überziehung noch überraschende Rechnung. Die kostenlosen Tools (list_models, get_account, get_result, list_generations) funktionieren weiter, alles bereits Generierte bleibt also erreichbar, und eine Generierung, die vor dem leeren Guthaben gestartet ist, läuft normal zu Ende, weil einmalig beim Start abgebucht wird. In der Praxis meldet Claude einfach den gescheiterten Aufruf mit der Aufladen-URL und macht mit dem Rest der Aufgabe weiter. Wenn du lieber einen Puffer statt eines harten Stopps willst, behalte balance_remaining_usd bei jedem Ergebnis im Blick oder lass den Agenten vor Batch-Jobs get_account prüfen.

Was blockiert der Inhaltsfilter, und zahle ich für gefilterte Prompts?

Die Google-Modelle im Hintergrund wenden ihre eigenen Sicherheitsfilter an. Wird eine Generierung abgelehnt, gibt der Server einen einheitlichen Code SAFETY_FILTERED zurück statt Googles halbem Dutzend interner Varianten. Blockiert wird, was du von den Richtlinien für Gemini und Veo erwartest: sexuelle Inhalte mit Minderjährigen, explizite Gewalt, Deepfakes realer Personen und Ähnliches. Die Filter schlagen gelegentlich auch bei harmlosen Prompts falsch an. Das entscheiden nicht wir, und wir tun auch nicht so. Die Abrechnung ist einfach: Eine komplett gefilterte Generierung wird automatisch erstattet, und bei Video, wo Google manchmal nur einen Teil der Ausgabe filtert, anteilig. Du zahlst nur für Medien, die du bekommst. Wenn ein Prompt immer wieder am Filter hängen bleibt, formulier das konkrete Detail um, das ihn auslöst, statt denselben Text erneut zu schicken.

Wem gehören die Bilder, die ich über den MCP-Server generiere?

Dir. Laut unseren Nutzungsbedingungen gehören generierte Bilder und Videos dir, für private und kommerzielle Nutzung, vorbehaltlich der Bedingungen des jeweiligen Modellanbieters. Wir beanspruchen kein Eigentum an deinen Inhalten, und die Prompts, die du einreichst, bleiben deine. Zwei Details zur Speicherung sind in der Praxis wichtig. Die URLs, die get_result zurückgibt, sind signierte Links mit 24 Stunden Gültigkeit, also lade herunter, was dir wichtig ist, oder ruf get_result erneut für neue Links auf. Und generierte Medien werden 30 Tage gespeichert und dann endgültig gelöscht: Der MCP-Server ist eine Generierungspipeline, kein Archiv. Alles, was über MCP generiert wird, landet außerdem im Generierungsverlauf deines Web-Accounts, sodass du es innerhalb der Aufbewahrungsfrist auf der Website durchsehen und erneut herunterladen kannst.

tutorialmcpclaude