|

Beheben von Nano Banana 2 Bild-API-Fehlern: 3 Schritte zum Wechseln zum korrekten Aufrufformat von generateContent

Autorenhinweis: Detaillierte Erklärung der Ursache für den Fehler "not supported model for image generation" bei der Nano Banana 2 Bilderzeugungs-API und wie man von OpenAI-Format auf das native Google generateContent-Format umstellt, um korrekt aufzurufen.

Beim Generieren von Bildern mit Nano Banana 2 auf den Fehler not supported model for image generation gestoßen? Dies ist einer der häufigsten API-Aufruffehler für Gemini-Bildmodelle. Dieser Artikel erklärt die Ursache und zeigt den korrekten Aufruf, um den Fehler schnell zu beheben.

Kernwert: Nach dem Lesen verstehen Sie die Unterschiede zwischen Gemini-Bildmodellen und Imagen-Modellen bei API-Aufrufen, beherrschen die korrekte Verwendung des generateContent-Endpunkts und beheben den Fehler in 3 Schritten.

nano-banana-2-api-error-fix-generatecontent-guide-de 图示


Kernursache des Nano Banana 2 Bild-API-Fehlers

Punkt Erklärung Lösung
Fehlermeldung not supported model for image generation, only imagen models are supported Auf generateContent-Endpunkt umstellen
Ursache OpenAI-Format-Endpunkt unterstützt nur Imagen-Modelle, nicht Gemini-Bildmodelle Natives Google-API-Format verwenden
Korrekter Endpunkt /v1beta/models/{MODEL}:generateContent Ersetze /v1/images/generations
Erforderlicher Parameter responseModalities: ["TEXT", "IMAGE"] In generationConfig setzen

Detaillierte Erklärung des Nano Banana 2 Bild-API-Fehlers

Wenn Sie den OpenAI-kompatiblen Endpunkt /v1/images/generations verwenden, um Nano Banana 2 (gemini-3.1-flash-image-preview) oder Nano Banana Pro (gemini-3-pro-image-preview) aufzurufen, gibt das System folgenden Fehler zurück:

not supported model for image generation, only imagen models are supported
(request id: 20260315043447253411115cvUiXJMF)
new_api_error convert_request_failed, 500

Die Kernursache dieses Fehlers liegt darin: Gemini-Bildmodelle und Imagen-Modelle sind zwei völlig unterschiedliche Architekturen.

  • Imagen-Modelle (z.B. imagen-3.0-generate-001) sind spezialisierte Bildgenerierungsmodelle und verwenden die Endpunkte /v1/images/generations oder :predict.
  • Gemini-Bildmodelle (Nano Banana-Serie) sind multimodale Sprachmodelle, die sowohl Text als auch Bilder ausgeben können und müssen den :generateContent-Endpunkt verwenden.

Einfach gesagt: Sie haben den "Text-zu-Bild-Dediziertkanal" verwendet, um ein "multimodales Dialogmodell" aufzurufen – das Format passt nicht, daher der Fehler.

nano-banana-2-api-error-fix-generatecontent-guide-de 图示


Nano Banana 2 Bild-API: Richtiges Aufruf-Format

Falscher vs. richtiger Aufruf im Vergleich

Vergleichspunkt ❌ Falsche Methode (OpenAI-Format) ✅ Richtige Methode (generateContent-Format)
API-Endpunkt /v1/images/generations /v1beta/models/{MODEL}:generateContent
Anfragestruktur prompt + size + n Parameter contents + generationConfig Struktur
Antwortformat Bild-URL Inline-Base64-Bilddaten
Unterstützte Modelle DALL-E, Imagen Serie Gemini-Bildmodelle (Nano Banana Serie)
Ausgabeinhalt Nur Bild Text + Bild (multimodale Ausgabe)

Beispiel für einen fehlerhaften Nano Banana 2 Bild-API-Aufruf

Hier ist ein Aufruf, der zu einem Fehler führt:

# ❌ Falsch: OpenAI-Format für Nano Banana 2 verwenden
curl -X POST https://api.apiyi.com/v1/images/generations \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemini-3.1-flash-image-preview",
    "prompt": "Eine süße orange Katze, die in der Sonne döst",
    "size": "1024x1024",
    "n": 1
  }'
# Antwort: not supported model for image generation

Beispiel für einen korrekten Nano Banana 2 Bild-API-Aufruf

Hier ist der richtige Aufruf im generateContent-Format:

# ✅ Richtig: Google-natives generateContent-Format verwenden
curl -X POST https://api.apiyi.com/v1beta/models/gemini-3.1-flash-image-preview:generateContent \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [{
      "parts": [
        {"text": "Eine süße orange Katze, die in der Sonne döst"}
      ]
    }],
    "generationConfig": {
      "responseModalities": ["TEXT", "IMAGE"]
    }
  }'

🎯 Technischer Tipp: Wenn Sie Nano Banana 2 über die APIYI-Plattform apiyi.com aufrufen, benötigen Sie keinen separaten Google Cloud-Account. Verwenden Sie einfach Ihren einheitlichen API-Schlüssel für den generateContent-Endpunkt.


Nano Banana 2 Bild-API: Schnellstart

3 Schritte, um Nano Banana 2 Bild-API-Fehler zu beheben

Schritt 1: API-Endpunkt wechseln

Ändern Sie die Anfrage-URL vom OpenAI-Format zum generateContent-Format:

# Falscher Endpunkt
https://api.apiyi.com/v1/images/generations

# Richtiger Endpunkt (Nano Banana 2)
https://api.apiyi.com/v1beta/models/gemini-3.1-flash-image-preview:generateContent

# Richtiger Endpunkt (Nano Banana Pro)
https://api.apiyi.com/v1beta/models/gemini-3-pro-image-preview:generateContent

Schritt 2: Anfrage-Body-Struktur anpassen

Wechseln Sie von den OpenAI-Parametern prompt + size zur nativen Google-Struktur contents + generationConfig. Wichtige Parameter:

  • contents.parts.text: Beschreibungstext für das Bild
  • generationConfig.responseModalities: Muss auf ["TEXT", "IMAGE"] gesetzt werden

Schritt 3: Antwortdaten verarbeiten

Die von generateContent zurückgegebenen Bilder sind Base64-kodierte Inline-Daten, keine URLs. Sie müssen die Bilder aus der Antwort extrahieren und dekodieren.

Minimales Python-Beispiel

import requests
import base64

API_KEY = "YOUR_API_KEY"
BASE_URL = "https://api.apiyi.com"  # APIYI einheitliche Schnittstelle

response = requests.post(
    f"{BASE_URL}/v1beta/models/gemini-3.1-flash-image-preview:generateContent",
    headers={
        "Authorization": f"Bearer {API_KEY}",
        "Content-Type": "application/json"
    },
    json={
        "contents": [{"parts": [{"text": "Eine süße orange Katze, die in der Sonne döst"}]}],
        "generationConfig": {"responseModalities": ["TEXT", "IMAGE"]}
    }
)

result = response.json()
for part in result["candidates"][0]["content"]["parts"]:
    if "inlineData" in part:
        img_data = base64.b64decode(part["inlineData"]["data"])
        with open("output.png", "wb") as f:
            f.write(img_data)
        print("Bild gespeichert als output.png")
    elif "text" in part:
        print("Modellbeschreibung:", part["text"])

Vollständigen Implementierungscode anzeigen (mit Fehlerbehandlung und Seitenverhältnis-Einstellung)
import requests
import base64
import os
from typing import Optional

def generate_image(
    prompt: str,
    model: str = "gemini-3.1-flash-image-preview",
    aspect_ratio: str = "1:1",
    output_path: str = "output.png",
    api_key: Optional[str] = None
) -> dict:
    """
    Generiert ein Bild mit dem Nano Banana 2 generateContent-Endpunkt

    Args:
        prompt: Bildbeschreibung
        model: Modellname
        aspect_ratio: Seitenverhältnis (1:1, 16:9, 9:16, 4:3, 3:4)
        output_path: Ausgabedateipfad
        api_key: API-Schlüssel

    Returns:
        Dictionary mit Dateipfad und Modellbeschreibung
    """
    api_key = api_key or os.getenv("APIYI_API_KEY")
    base_url = "https://api.apiyi.com"  # APIYI einheitliche Schnittstelle

    response = requests.post(
        f"{base_url}/v1beta/models/{model}:generateContent",
        headers={
            "Authorization": f"Bearer {api_key}",
            "Content-Type": "application/json"
        },
        json={
            "contents": [{"parts": [{"text": prompt}]}],
            "generationConfig": {
                "responseModalities": ["TEXT", "IMAGE"],
                "imageConfig": {"aspectRatio": aspect_ratio}
            }
        },
        timeout=60
    )

    if response.status_code != 200:
        raise Exception(f"API-Anfrage fehlgeschlagen: {response.status_code} - {response.text}")

    result = response.json()
    candidates = result.get("candidates", [])
    if not candidates:
        raise Exception("Keine gültigen Ergebnisse zurückgegeben")

    output = {"text": "", "image_path": ""}
    for part in candidates[0]["content"]["parts"]:
        if "inlineData" in part:
            img_data = base64.b64decode(part["inlineData"]["data"])
            with open(output_path, "wb") as f:
                f.write(img_data)
            output["image_path"] = output_path
        elif "text" in part:
            output["text"] = part["text"]

    return output

# Verwendungsbeispiel
result = generate_image(
    prompt="Eine Tusche-Landschaftsmalerei mit nebelverhangenen Bergen in der Ferne",
    model="gemini-3.1-flash-image-preview",
    aspect_ratio="16:9",
    output_path="landscape.png"
)
print(f"Bild gespeichert: {result['image_path']}")
print(f"Modellbeschreibung: {result['text']}")

Empfehlung: Holen Sie sich Ihren API-Schlüssel über APIYI apiyi.com. Die Plattform bietet kostenlose Testguthaben und unterstützt generateContent-Aufrufe für beide Gemini-Bildmodelle, Nano Banana 2 und Nano Banana Pro.


Nano Banana 2 Bilderzeugungs-API Modellvergleich

Wenn Sie die Unterschiede in den API-Aufrufmethoden verschiedener Bilderzeugungsmodelle verstehen, können Sie ähnliche Formatfehler vermeiden:

Modell Code API-Endpunkt Aufrufformat Verfügbare Plattformen
Nano Banana 2 gemini-3.1-flash-image-preview :generateContent Google natives Format APIYI und andere Plattformen
Nano Banana Pro gemini-3-pro-image-preview :generateContent Google natives Format APIYI und andere Plattformen
Imagen 3 imagen-3.0-generate-001 /v1/images/generations oder :predict OpenAI-kompatibles Format APIYI und andere Plattformen
DALL-E 3 dall-e-3 /v1/images/generations OpenAI-Format APIYI und andere Plattformen

Erklärung der Schlüsselparameter für die Nano Banana 2 Bilderzeugungs-API

nano-banana-2-api-error-fix-generatecontent-guide-de 图示

Der generateContent-Endpunkt unterstützt umfangreiche Parameter für die Bilderzeugung:

Parameter Beschreibung Erforderlich Beispielwert
contents.parts.text Bildbeschreibende Eingabeaufforderung ✅ Erforderlich "Eine orange Katze in der Sonne"
responseModalities Einstellung der Antwortmodalitäten ✅ Erforderlich ["TEXT", "IMAGE"]
imageConfig.aspectRatio Bildseitenverhältnis Optional "1:1", "16:9", "9:16"
contents.parts.inlineData Referenzbild (Bild-zu-Bild) Optional Base64-Bilddaten

💡 Wichtiger Hinweis: responseModalities muss sowohl "TEXT" als auch "IMAGE" enthalten. Nur ["IMAGE"] zu setzen, führt zu einem Anfragefehler. Das liegt daran, dass Gemini-Bildmodelle multimodale Modelle sind, die immer eine Textbeschreibung und ein Bild gleichzeitig ausgeben.


Häufig gestellte Fragen

Q1: Warum kann Nano Banana 2 nicht im OpenAI-Format aufgerufen werden?

Nano Banana 2 (gemini-3.1-flash-image-preview) ist ein multimodales Sprachmodell von Gemini, dessen Bilderzeugungsfähigkeit über "Konversationsgenerierung" realisiert wird, nicht über eine dedizierte "Text-zu-Bild-Schnittstelle". Der OpenAI-formatierte Endpunkt /v1/images/generations ist speziell für dedizierte Bildgenerierungsmodelle wie DALL-E oder Imagen konzipiert und kann die multimodale Anfragestruktur des Gemini-Modells nicht verarbeiten. Bei der Nutzung über die APIYI-Plattform apiyi.com muss je nach Modelltyp das entsprechende Endpunktformat gewählt werden.

Q2: Was ist der Unterschied zwischen der Bild-API von Nano Banana 2 und Nano Banana Pro?

Beide nutzen den generateContent-Endpunkt, das Aufrufformat ist identisch. Die Hauptunterschiede sind:

  • Nano Banana 2 (Flash-Version): Schnellere Generierung, ca. 3-5 Sekunden, geeignet für Batch-Generierung und schnelle Prototypen
  • Nano Banana Pro: Höhere Bildqualität, Textwiedergabe-Genauigkeit von 94%, geeignet für feine Designs und kommerzielle Anwendungen

Auf der APIYI-Plattform apiyi.com sind beide Modelle verfügbar. Es muss lediglich der Modellname im Endpunkt-URL ausgetauscht werden.

Q3: Wie werden die von generateContent zurückgegebenen Bilddaten verarbeitet?

Im Gegensatz zum OpenAI-Format, das Bild-URLs zurückgibt, liefert generateContent Base64-kodierte Inline-Bilddaten. Verarbeitungsschritte:

  1. Im Antwort-JSON unter candidates[0].content.parts den Teil mit inlineData finden
  2. Den Base64-String aus dem Feld inlineData.data extrahieren
  3. Nach dem Dekodieren mit base64.b64decode() als Bilddatei speichern
  4. Das Feld inlineData.mimeType gibt das Bildformat an (üblicherweise image/png)

Zusammenfassung

Die Kernpunkte bei API-Fehlern mit Nano Banana 2 für Bilder:

  1. Fehlerursache klar: Die Nutzung von /v1/images/generations (OpenAI-Format) für den Aufruf des Gemini-Bildmodells löst den Fehler "not supported model" aus.
  2. Zu generateContent wechseln: Der korrekte Endpunkt ist /v1beta/models/gemini-3.1-flash-image-preview:generateContent.
  3. responseModalities setzen: Die generationConfig muss ["TEXT", "IMAGE"] enthalten, sonst werden keine Bilder erzeugt.

Wenn Sie auf einen API-Fehler mit Nano Banana 2 stoßen, lässt sich die Lösung auf einen Satz reduzieren: Ersetzen Sie den OpenAI-Bildgenerierungs-Endpunkt durch den nativen Google generateContent-Endpunkt.

Wir empfehlen, Nano Banana 2 und Nano Banana Pro schnell über APIYI apiyi.com zu testen. Die Plattform bietet kostenloses Guthaben, unterstützt den direkten Aufruf im generateContent-Format und erfordert keine Konfiguration eines Google Cloud-Kontos.

📚 Referenzmaterial

  1. Google Gemini Bildgenerierung Dokumentation: Offizielle Anleitung zur Bildgenerierung mit der Gemini API

    • Link: ai.google.dev/gemini-api/docs/image-generation
    • Beschreibung: Enthält vollständige Parametererklärungen und Beispiele für den generateContent Endpunkt.
  2. Google generateContent API Referenz: Dokumentation für den Inhaltsgenerierungs-Endpunkt der Gemini API

    • Link: ai.google.dev/api/generate-content
    • Beschreibung: Detaillierte Erklärung der Anfrage- und Antwortstruktur für den generateContent Endpunkt.
  3. Google Gemini OpenAI Kompatibilitätsdokumentation: Erklärung zur Kompatibilität zwischen Gemini und OpenAI-Formaten

    • Link: ai.google.dev/gemini-api/docs/openai
    • Beschreibung: Erläutert, welche Funktionen das OpenAI-kompatible Format unterstützen und welche das native Format benötigen.

Autor: APIYI Technikteam
Technischer Austausch: Diskutieren Sie gerne im Kommentarbereich Fragen zum Nano Banana 2 Bild-API-Aufruf. Weitere Ressourcen finden Sie im APIYI Dokumentationszentrum unter docs.apiyi.com.

Ähnliche Beiträge