DEV Community

Cover image for Nano Banana 2.1 API verwenden: Anleitung
Emre Demir
Emre Demir

Posted on Originally published at apidog.com

Nano Banana 2.1 API verwenden: Anleitung

Google hat Nano Banana 2.1 am 6. Oktober 2026 veröffentlicht. Das Modell ist über die Gemini API als gemini-nano-banana-2.1 verfügbar und aktualisiert Nano Banana 2 (Gemini 3.1 Flash Image) mit besserer visueller Qualität, maskenartiger Bearbeitung und stärkerer Zeichenkonsistenz über mehrere Durchgänge. Bei jeder gemeinsamen Auflösung kostet die Bildausgabe nur halb so viel wie bei Nano Banana 2.

Testen Sie Apidog noch heute

Dieser Leitfaden zeigt den vollständigen Weg vom leeren Terminal bis zur gespeicherten Bilddatei. Sie lernen, Seitenverhältnisse, 2K- und 4K-Ausgabe, Bildbearbeitung, mehrstufige Änderungen, Referenzbilder, Google-Suche und Kosten zu nutzen. Jede Anfrage können Sie in Apidog speichern und reproduzieren, um Nano Banana 2.1 mit Ihrem aktuellen Modell zu vergleichen.

Möchten Sie zuerst den Hintergrund wissen? Lesen Sie Was ist Nano Banana 2.1, um zu erfahren, was sich geändert hat und was Google noch nicht veröffentlicht hat.

Was Sie benötigen

Element Wert
Basis-URL https://generativelanguage.googleapis.com/v1beta
Auth-Header x-goog-api-key: $GEMINI_API_KEY
Modell-ID gemini-nano-banana-2.1
Endpunkt POST /v1beta/interactions
Auflösungen 1K (Standard), 2K, 4K
Eingaben Text, Bilder (bis zu 14 Referenzen), Video
Python SDK pip install google-genai
JavaScript SDK npm install @google/genai

Alle Beispiele verwenden die Interactions API, die Google in der Bildgenerierungsdokumentation für 2.1 verwendet.

Schritt 1: Einen Gemini API-Schlüssel erhalten

  1. Öffnen Sie Google AI Studio und melden Sie sich an.
  2. Wählen Sie API-Schlüssel abrufen und erstellen Sie einen Schlüssel in einem Google-Cloud-Projekt.
  3. Aktivieren Sie die Abrechnung für das Projekt. Google listet die kostenlose Stufe für Nano Banana 2.1 als „Nicht verfügbar“ auf. API-Aufrufe erfordern daher ein kostenpflichtiges Projekt.
  4. Exportieren Sie den Schlüssel in Ihrer Shell:
export GEMINI_API_KEY="your-key-here"
Enter fullscreen mode Exit fullscreen mode

Google verknüpft 2.1 mit dem AI Studio Playground. Das ist praktisch, um Prompts zu testen, aber Google hat nicht veröffentlicht, wie viel ein kostenloses Konto dort generieren kann. Unser Leitfaden zum kostenlosen Verwenden von Nano Banana 2.1 behandelt diesen Weg. Einen Gemini API-Schlüssel erhalten erklärt die Schlüsseleinrichtung ausführlicher.

Schritt 2: Ihr erstes Bild generieren

curl

Senden Sie eine POST-Anfrage an /v1beta/interactions:

curl -s -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemini-nano-banana-2.1",
    "input": [
      {
        "type": "text",
        "text": "Create a picture of a nano banana dish in a fancy restaurant with a Gemini theme"
      }
    ]
  }'
Enter fullscreen mode Exit fullscreen mode

Die Antwort ist JSON. Das Bild wird als Base64-Daten in einem Bildinhaltsblock geliefert. Verwenden Sie ein SDK oder ein Skript, um diese Daten zu dekodieren und als Datei zu speichern.

Python

Installieren Sie zunächst das SDK:

pip install google-genai
Enter fullscreen mode Exit fullscreen mode

Generieren und speichern Sie anschließend das Bild:

from google import genai
import base64

client = genai.Client()  # liest GEMINI_API_KEY

interaction = client.interactions.create(
    model="gemini-nano-banana-2.1",
    input="Create a picture of a nano banana dish in a fancy restaurant with a Gemini theme",
)

with open("generated_image.png", "wb") as f:
    f.write(base64.b64decode(interaction.output_image.data))
Enter fullscreen mode Exit fullscreen mode

interaction.output_image enthält den zuletzt generierten Bildblock. Das Feld data ist Base64-kodiert und muss vor dem Schreiben der Datei dekodiert werden.

JavaScript

Installieren Sie das SDK:

npm install @google/genai
Enter fullscreen mode Exit fullscreen mode

Erstellen Sie dann die Bilddatei:

import { GoogleGenAI } from "@google/genai";
import * as fs from "node:fs";

const ai = new GoogleGenAI({});

const interaction = await ai.interactions.create({
  model: "gemini-nano-banana-2.1",
  input: "Create a picture of a nano banana dish in a fancy restaurant with a Gemini theme",
});

const image = interaction.output_image;

if (image) {
  fs.writeFileSync("nano-banana.png", Buffer.from(image.data, "base64"));
}
Enter fullscreen mode Exit fullscreen mode

Gemini-3-Bildmodelle denken, bevor sie zeichnen. Das Modell kann bis zu zwei vorläufige „Gedankenbilder“ erzeugen, während es die Komposition plant. Diese werden nicht berechnet, und das Nachdenken kann über die API nicht deaktiviert werden.

Schritt 3: Seitenverhältnis, Auflösung und reine Bildausgabe festlegen

Steuern Sie die Ausgabe über response_format. Mit "type": "image" erhalten Sie nur das Bild und keinen Konversationstext. Das reduziert die Antwortgröße und vereinfacht das Parsen.

interaction = client.interactions.create(
    model="gemini-nano-banana-2.1",
    input="A product shot of a matte black coffee grinder on a marble counter",
    response_format={
        "type": "image",
        "mime_type": "image/png",
        "aspect_ratio": "16:9",
        "image_size": "2K",
    },
)
Enter fullscreen mode Exit fullscreen mode

Beachten Sie dabei:

  • image_size akzeptiert 1K, 2K und 4K. Verwenden Sie ein großes K; Kleinbuchstaben wie 2k werden abgelehnt.
  • Nano Banana 2.1 hat keine 512px-Stufe. Diese gehört zu Nano Banana 2.
  • Unterstützte Seitenverhältnisse sind 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9, 1:4, 4:1, 1:8 und 8:1.
  • Ein 16:9-Bild in 2K hat 2752x1536 Pixel; in 4K sind es 5504x3072.
  • Für Text und Bild in derselben Antwort verwenden Sie eine Liste:
response_format=[
    {"type": "text"},
    {"type": "image"},
]
Enter fullscreen mode Exit fullscreen mode

Schritt 4: Ein bestehendes Bild bearbeiten

Übergeben Sie das Quellbild als Base64-kodierten image-Block zusammen mit einer präzisen Textanweisung:

with open("living_room.png", "rb") as f:
    image_b64 = base64.b64encode(f.read()).decode("utf-8")

interaction = client.interactions.create(
    model="gemini-nano-banana-2.1",
    input=[
        {
            "type": "text",
            "text": (
                "Using the provided image of a living room, change only the blue sofa "
                "to be a vintage, brown leather chesterfield sofa. Keep the rest of "
                "the room, including the pillows on the sofa and the lighting, unchanged."
            ),
        },
        {
            "type": "image",
            "data": image_b64,
            "mime_type": "image/png",
        },
    ],
)
Enter fullscreen mode Exit fullscreen mode

Maskenartiges Inpainting ohne Maskendatei

Es gibt keinen separaten Masken-Upload. Definieren Sie den zu bearbeitenden Bereich direkt im Prompt.

Verwenden Sie das bereitgestellte Bild, ändern Sie nur das [spezifische Element] zu [neuem Element/Beschreibung]. Behalten Sie alles andere im Bild genau gleich bei und bewahren Sie den ursprünglichen Stil, die Beleuchtung und die Komposition.

Nennen Sie genau ein Element, beschreiben Sie den Ersatz konkret und wiederholen Sie explizit, welche Bereiche unverändert bleiben sollen. Vage Prompts wie „Mach das Sofa schöner“ erhöhen die Wahrscheinlichkeit, dass das Modell den gesamten Raum neu zeichnet.

Schritt 5: Iterieren mit mehrstufiger Bearbeitung

Für schrittweise Verfeinerungen übergeben Sie die id der vorherigen Interaktion als previous_interaction_id. Senden Sie anschließend nur die nächste gewünschte Änderung.

interaction_2 = client.interactions.create(
    model="gemini-nano-banana-2.1",
    input="Update this infographic to be in Spanish. Do not change any other elements of the image.",
    previous_interaction_id=interaction.id,
    response_format={
        "type": "image",
        "mime_type": "image/png",
        "aspect_ratio": "16:9",
        "image_size": "2K",
    },
)
Enter fullscreen mode Exit fullscreen mode

Über REST gehört dasselbe Feld in den Request-Body:

{
  "previous_interaction_id": "<PREVIOUS_INTERACTION_ID>"
}
Enter fullscreen mode Exit fullscreen mode

Hier ist die verbesserte Zeichenkonsistenz von 2.1 besonders relevant: Figuren oder Produkte sollten über mehrere Bearbeitungsrunden hinweg erkennbar bleiben.

Schritt 6: Bis zu 14 Referenzbilder kombinieren

Fügen Sie weitere image-Blöcke zur input-Liste hinzu. Google dokumentiert für 2.1 bis zu 10 hochauflösende Objektbilder und bis zu 4 Charakterbilder, also maximal 14 Referenzen.

interaction = client.interactions.create(
    model="gemini-nano-banana-2.1",
    input=[
        {
            "type": "text",
            "text": "An office group photo of these people, they are making funny faces.",
        },
        {"type": "image", "data": person_1_b64, "mime_type": "image/png"},
        {"type": "image", "data": person_2_b64, "mime_type": "image/png"},
        {"type": "image", "data": person_3_b64, "mime_type": "image/png"},
    ],
    response_format={
        "type": "image",
        "aspect_ratio": "5:4",
        "image_size": "2K",
    },
)
Enter fullscreen mode Exit fullscreen mode

Referenzbilder zählen als Eingabe-Tokens. Die Eingabe für 2.1 kostet dreimal so viel wie bei Nano Banana 2. Bei Workflows mit vielen Referenzen verringert sich der Preisvorteil daher. Messen Sie Ihre tatsächlichen Prompts vor einer Migration.

Schritt 7: Bilder mit Google Suche fundieren

Für Bilder, die von aktuellen Informationen abhängen, etwa Wetterkarten oder aktuelle Ereignisse, fügen Sie das Suchwerkzeug hinzu:

interaction = client.interactions.create(
    model="gemini-nano-banana-2.1",
    input="A detailed painting of a Timareta butterfly resting on a flower",
    tools=[
        {
            "type": "google_search",
            "search_types": ["web_search", "image_search"],
        }
    ],
)
Enter fullscreen mode Exit fullscreen mode

{"type": "google_search"} aktiviert nur die Websuche. Mit image_search kann das Modell zusätzlich Webbilder als visuellen Kontext verwenden. Diese Funktion unterstützen nur 2.1 und Nano Banana 2.

Die Fundierung kann keine echten Bilder von Personen aus der Suche verwenden. Wenn Sie Nutzern fundierte Ergebnisse anzeigen, verlangt Google außerdem, dass Sie die im Schritt google_search_result zurückgegebenen search_suggestions anzeigen.

Schritt 8: In Apidog testen

Skripte eignen sich für die Generierung. Für schnelle Prüfungen von Prompt, API-Schlüssel und Modell ist eine gespeicherte Anfrage in Apidog praktischer.

  1. Erstellen Sie eine Umgebung und fügen Sie die Variable GEMINI_API_KEY mit Ihrem Schlüssel hinzu.
  2. Erstellen Sie eine Anfrage:
   POST https://generativelanguage.googleapis.com/v1beta/interactions
Enter fullscreen mode Exit fullscreen mode
  1. Fügen Sie diesen Header hinzu:
   x-goog-api-key: {{GEMINI_API_KEY}}
Enter fullscreen mode Exit fullscreen mode
  1. Fügen Sie einen JSON-Body mit model, input und response_format ein und klicken Sie auf Senden.
  2. Ergänzen Sie ein Post-Response-Skript mit zwei Assertions:
pm.test("status is 200", () => {
  pm.response.to.have.status(200);
});

pm.test("response contains an image block", () => {
  const steps = pm.response.json().steps || [];

  const hasImage = steps.some(
    (s) =>
      s.type === "model_output" &&
      (s.content || []).some((c) => c.type === "image" && c.data)
  );

  pm.expect(hasImage).to.be.true;
});
Enter fullscreen mode Exit fullscreen mode
  1. Duplizieren Sie die Anfrage und ändern Sie model zu gemini-3.1-flash-image.
  2. Senden Sie beide Anfragen mit identischem Prompt.

Damit erhalten Sie einen direkten Vergleich zwischen 2.1 und Nano Banana 2, einschließlich Status, Zeitpunkt und Antwortgröße für jeden Durchlauf. Einen breiteren Funktionsvergleich finden Sie in Nano Banana 2.1 vs. Nano Banana 2 vs. Pro.

Was es kostet

Kostenpflichtige Stufe gemäß Googles Preisgestaltungsseite vom 7. Oktober 2026:

Modell Eingabe / 1M 1K Bild 2K Bild 4K Bild Batch 1K
Nano Banana 2.1 $1.50 $0.0336 $0.0504 $0.0756 $0.0168
Nano Banana 2 $0.50 $0.067 $0.101 $0.151 $0.034
Nano Banana Pro $2.00 $0.134 $0.134 $0.24 $0.067

Die Bildausgabe für 2.1 kostet 30 $ pro 1 Mio. Tokens:

  • 1K-Bild: 1.120 Tokens
  • 2K-Bild: 1.680 Tokens
  • 4K-Bild: 2.520 Tokens

Text- und Denkprozess-Ausgabe kostet 7,50 $ pro 1 Mio. Tokens. Die Suchgrundlagen umfassen 5.000 kostenlose Anfragen pro Monat, die über Gemini-3.x-Modelle geteilt werden. Danach kosten sie 14 $ pro 1.000 Anfragen.

Beispielrechnung: 1.000 Produktbilder in 2K aus kurzen Text-Prompts mit jeweils etwa 100 Eingabe-Tokens.

  • Ausgabe: 1.000 × $0.0504 = $50.40
  • Eingabe: 100.000 Tokens × $1.50 / 1M = $0.15
  • Gesamt: etwa $50.55, zuzüglich möglicher Denkprozess-Text-Tokens

Dieselbe Aufgabe kostet auf Nano Banana 2 etwa 101 $. Über die Batch API sinkt der 2K-Preis von 2.1 auf $0.0252. Die Ausgabeseite fällt damit auf $25.20, wenn Sie warten können. Batch-Jobs tauschen eine Bearbeitungszeit von bis zu 24 Stunden gegen höhere Ratenlimits ein.

Weitere Details finden Sie in unserer Aufschlüsselung der Nano Banana 2 API-Preise.

Häufige Fehler

Diese Fehler sind generische Gemini-API-Verhaltensweisen und keine dokumentierten 2.1-spezifischen Fehler.

Fehler Wahrscheinliche Ursache Lösung
400 INVALID_ARGUMENT Kleinbuchstaben bei image_size, nicht unterstütztes Verhältnis oder fehlerhafte input-Struktur Verwenden Sie 2K statt 2k und prüfen Sie die Liste der Seitenverhältnisse
403 PERMISSION_DENIED Falscher Schlüssel oder Projekt ohne Abrechnung API-Schlüssel prüfen und Abrechnung aktivieren
404 NOT_FOUND Tippfehler in der Modell-ID Exakt gemini-nano-banana-2.1 verwenden
429 RESOURCE_EXHAUSTED Ratenlimit erreicht Mit Backoff erneut versuchen oder Batch verwenden
500 / 503 Temporäres Serverproblem Mit exponentiellem Backoff erneut versuchen
200, aber kein Bild Prompt blockiert oder reine Textantwort "type": "image" setzen und Prompt überarbeiten

FAQ

Gibt es eine kostenlose Stufe für die Nano Banana 2.1 API?

Nein. Google listet die kostenlose API-Stufe als „Nicht verfügbar“ auf. Der AI Studio Playground verweist auf 2.1, aber Google hat kein kostenloses Limit dafür veröffentlicht.

Ist 2.1 ein Drop-in-Ersatz für Nano Banana 2?

Meistens. Tauschen Sie die Modell-ID gegen gemini-nano-banana-2.1 aus. Sie verlieren die 512px-Stufe, und Eingabe-Tokens kosten mehr. Referenzlastige Bearbeitungen sollten daher vorab auf Kosten geprüft werden.

Tragen generierte Bilder ein Wasserzeichen?

Ja. Alle Ausgaben enthalten ein SynthID-Wasserzeichen.

Kann ich ein Bild aus einem Video generieren?

Ja. 2.1 akzeptiert einen video-Eingabeblock, beispielsweise eine YouTube-URL, zusammen mit Ihrem Text-Prompt.

Gilt der alte Nano Banana 2 API-Leitfaden noch?

Die Konzepte gelten weiterhin. Siehe den Nano Banana 2 API-Leitfaden für das frühere Modell.

Zusammenfassung

Nano Banana 2.1 bietet bessere Bilder zum halben Preis pro Bild von Nano Banana 2 und verwendet dieselbe Interactions-API-Struktur. Besorgen Sie sich einen kostenpflichtigen API-Schlüssel, generieren Sie ein Bild und speichern Sie die Anfrage anschließend in Apidog mit Status- und Bild-Assertions.

Duplizieren Sie die Anfrage mit der alten Modell-ID. So können Sie innerhalb eines Nachmittags prüfen, ob Nano Banana 2.1 für Ihre Prompts einen Wechsel rechtfertigt.

Top comments (0)