Anmerkung des Autors: Detaillierte Erläuterung, warum die Nano Banana 2 API Bilder im PNG-Format statt JPEG ausgibt, Analyse der technischen Gründe für den Rückgang der 4K-Bildgröße von 30 MB auf 8 MB in AI Studio sowie die Unterschiede in der Formatsteuerung zwischen Vertex AI und AI Studio.
Viele Entwickler stehen bei der Bilderzeugung mit der Nano Banana 2 API vor einem Rätsel: Die API gibt Base64-Daten zurück – handelt es sich beim Speichern nun um ein PNG oder ein JPEG? Noch verwirrender ist, dass die Dateigröße von 4K-Bildern, die in AI Studio generiert werden, von über 30 MB auf etwa 8 MB gesunken ist. Dieser Artikel beleuchtet die zugrunde liegenden API-Mechanismen und klärt die Hintergründe zur Formatsteuerung und Größenänderung.
Kernnutzen: Nach dem Lesen dieses Artikels beherrschen Sie die korrekte Methode zur Ausgabe von PNG-Formaten über die Nano Banana 2 API und verstehen die grundlegenden Ursachen für die Reduzierung der 4K-Bildgröße.

Kernpunkte zum Bildausgabeformat der Nano Banana 2 API
Stellen Sie zunächst eine wichtige Tatsache fest: Die von der Nano Banana 2 API zurückgegebenen Bilddaten sind Base64-kodiert, aber Base64 ist nur die Übertragungskodierung; die tatsächlichen Byte-Daten bestimmen das Bildformat.
| Punkt | Beschreibung | Auswirkung |
|---|---|---|
| Standard-Ausgabeformat | Base64-kodiert, deklariert als image/png, aber die Bytes können JPEG sein |
Direktes Speichern kann zu falschem Format führen |
| AI Studio Formatsteuerung | Unterstützt den Parameter outputMimeType nicht |
Konvertierung muss clientseitig erfolgen |
| Vertex AI Formatsteuerung | Unterstützt imageOutputOptions zur Angabe von PNG/JPEG |
Serverseitig steuerbar |
| 4K-Größenänderung | Von ~30 MB auf ~8 MB gesunken | Durch serverseitige Rechenanpassungen verursacht |
| Bekannter Bug | API behauptet PNG, liefert aber ggf. JPEG-Bytes | Magic Bytes müssen geprüft werden |
Die zugrunde liegenden Mechanismen der Bildausgabe der Nano Banana 2 API
Die Bildausgabe von Nano Banana 2 (Modell-ID: gemini-3.1-flash-image-preview) erfolgt über das inlineData-Objekt mit folgender Struktur:
{
"candidates": [{
"content": {
"parts": [{
"inlineData": {
"mime_type": "image/png",
"data": "<BASE64_IMAGE_DATA>"
}
}]
}
}]
}
Hier gibt es einen von Google offiziell bestätigten Bug (GitHub Issue #1824): Das Feld mime_type in der Antwort ist als image/png deklariert, aber die dekodierten Byte-Daten können tatsächlich im JPEG-Format vorliegen. Das bedeutet, Sie können sich nicht blind auf den von der API zurückgegebenen MIME-Typ verlassen, sondern müssen das tatsächliche Format anhand der Magic Bytes am Dateianfang prüfen.
Die Prüfung ist einfach: Der JPEG-Dateikopf lautet \xff\xd8, der PNG-Dateikopf \x89PNG\r\n\x1a\n.

3 Methoden zur Ausgabe von PNG-Formaten über die Nano Banana 2 API
Dies ist der Kern dieses Artikels: Wie Sie sicherstellen, dass Sie tatsächlich ein Bild im PNG-Format erhalten.
Methode 1: Clientseitige Konvertierung mit Python (Empfehlung für AI Studio)
Da die Gemini API von AI Studio keine serverseitige Formatsteuerung unterstützt, ist die clientseitige Konvertierung der zuverlässigste Weg:
import base64
from PIL import Image
from io import BytesIO
# Nano Banana 2 für die Bilderzeugung aufrufen
from google import genai
from google.genai import types
client = genai.Client(api_key="YOUR_API_KEY")
response = client.models.generate_content(
model="gemini-3.1-flash-image-preview",
contents=["Eine orangefarbene Katze, die in der Sonne döst"],
config=types.GenerateContentConfig(
response_modalities=["TEXT", "IMAGE"],
image_config=types.ImageConfig(
image_size="4K",
aspect_ratio="1:1"
),
)
)
# Als PNG speichern (unabhängig vom tatsächlichen Format der API-Antwort)
for part in response.parts:
if image := part.as_image():
image.save("output.png", format="PNG") # Erzwingt verlustfreies Speichern als PNG
Der entscheidende Punkt ist die explizite Angabe von format="PNG" in image.save("output.png", format="PNG"). Wenn der format-Parameter nicht angegeben wird, leitet Pillow das Format von der Dateiendung ab – was meistens funktioniert, aber eine explizite Deklaration ist sicherer.
Vollständigen Code zur manuellen Formaterkennung und Konvertierung anzeigen
import base64
from PIL import Image
from io import BytesIO
def detect_and_save(base64_data: str, output_path: str, target_format: str = "PNG"):
"""
Erkennt das tatsächliche Format eines Base64-Bildes und konvertiert es beim Speichern
Args:
base64_data: Base64-kodierte Bilddaten
output_path: Pfad für die Ausgabedatei
target_format: Zielformat (PNG/JPEG/WEBP)
"""
image_bytes = base64.b64decode(base64_data)
# Echtes Format über Magic Bytes erkennen
if image_bytes[:2] == b'\xff\xd8':
actual_format = "JPEG"
elif image_bytes[:8] == b'\x89PNG\r\n\x1a\n':
actual_format = "PNG"
elif image_bytes[:4] == b'RIFF':
actual_format = "WEBP"
else:
actual_format = "Unbekannt"
print(f"Tatsächliches Format der API-Antwort: {actual_format}")
print(f"Größe der Rohdaten: {len(image_bytes) / 1024 / 1024:.2f} MB")
# Mit Pillow öffnen und in das Zielformat konvertieren
img = Image.open(BytesIO(image_bytes))
print(f"Bildgröße: {img.size[0]}x{img.size[1]}")
if target_format == "PNG":
img.save(output_path, format="PNG", optimize=True)
elif target_format == "JPEG":
img.save(output_path, format="JPEG", quality=95)
elif target_format == "WEBP":
img.save(output_path, format="WEBP", quality=90)
import os
saved_size = os.path.getsize(output_path) / 1024 / 1024
print(f"Dateigröße nach dem Speichern: {saved_size:.2f} MB ({target_format})")
Methode 2: Serverseitige Formatsteuerung über Vertex AI
Wenn Sie Nano Banana 2 über Vertex AI aufrufen, können Sie das Ausgabeformat direkt in der Anfrage festlegen. Dies ist die einzige Methode, die eine serverseitige Formatsteuerung unterstützt:
import os
from google import genai
from google.genai import types
from google.genai.types import HttpOptions
os.environ["GOOGLE_CLOUD_PROJECT"] = "your-project-id"
os.environ["GOOGLE_CLOUD_LOCATION"] = "global"
os.environ["GOOGLE_GENAI_USE_VERTEXAI"] = "True"
client = genai.Client(http_options=HttpOptions(api_version="v1"))
response = client.models.generate_content(
model="gemini-3.1-flash-image-preview",
contents=["Eine orangefarbene Katze, die in der Sonne döst"],
config=types.GenerateContentConfig(
response_modalities=["TEXT", "IMAGE"],
image_config=types.ImageConfig(
image_size="4K",
aspect_ratio="1:1",
output_mime_type="image/png", # PNG-Ausgabe festlegen
# compression_quality=75, # Nur für JPEG wirksam, 0-100
),
)
)
Methode 3: Einheitliche Verarbeitung über den API-Proxy-Dienst von APIYI
Bei einem Aufruf über den API-Proxy-Dienst von APIYI kümmert sich die Plattform automatisch um die Formatkompatibilität:
import openai
client = openai.OpenAI(
api_key="YOUR_API_KEY",
base_url="https://vip.apiyi.com/v1"
)
response = client.chat.completions.create(
model="gemini-3.1-flash-image-preview",
messages=[
{"role": "user", "content": "Eine orangefarbene Katze, die in der Sonne döst"}
]
)
🎯 Empfehlung zur Formatwahl: Wählen Sie PNG für verlustfreie Qualität und JPEG für geringe Dateigrößen (quality=95 ist nahezu verlustfrei).
Wir empfehlen, Tests über die Plattform APIYI (apiyi.com) durchzuführen, da diese die Formatkompatibilität zentral verwaltet und Ihnen die manuelle Base64-Dekodierung sowie Formaterkennung erspart.
Vergleich der Formatsteuerungsfunktionen der Nano Banana 2 API
Dies ist ein Punkt, an dem viele Entwickler verwirrt sind: Die Fähigkeiten von AI Studio und Vertex AI zur Formatsteuerung unterscheiden sich grundlegend.
Vergleich der Formatparameter-Unterstützung der Nano Banana 2 API
| Parameter | AI Studio (Gemini API) | Vertex AI | Imagen API |
|---|---|---|---|
| outputMimeType | Nicht unterstützt | Unterstützt (image/png, image/jpeg) | Unterstützt |
| compressionQuality | Nicht unterstützt | Unterstützt (0-100, nur JPEG) | Unterstützt |
| imageSize | Unterstützt (512/1K/2K/4K) | Unterstützt | Unterstützt |
| aspectRatio | Unterstützt | Unterstützt | Unterstützt |
Das bedeutet: Wenn Sie Nano Banana 2 über AI Studio aufrufen, können Sie serverseitig nicht steuern, ob die Ausgabe im PNG- oder JPEG-Format erfolgt. Das von der API zurückgegebene Format hängt vom Standardverhalten der Google-Server ab – und dieses Verhalten weist derzeit einen Fehler auf (es wird PNG behauptet, aber tatsächlich könnte JPEG geliefert werden).
Volumenvergleich verschiedener Formate der Nano Banana 2 API
Bei demselben KI-generierten 4K-Bild (4096×4096) gibt es enorme Unterschiede im Datenvolumen:
| Format | Komprimierung | Typisches 4K-Volumen | Transparenz unterstützt | Qualitätsverlust |
|---|---|---|---|---|
| PNG | Verlustfrei | 15-30 MB | Ja | Keiner |
| JPEG quality=95 | Verlustbehaftet | 3-8 MB | Nein | Minimal |
| JPEG quality=75 | Verlustbehaftet | 1-3 MB | Nein | Leicht |
| WebP quality=90 | Verlustbehaftet | 2-5 MB | Ja | Minimal |
PNG ist ein verlustfreies Format, dessen Dateigröße direkt die Informationskomplexität (Entropie) des Bildes widerspiegelt. Je detailreicher und komplexer die Texturen des Bildes sind, desto größer wird die PNG-Datei. Dies ist auch die Grundlage für das Verständnis der Volumenänderungen bei 4K-Bildern im nächsten Abschnitt.
Hinweis: Wenn Ihr Anwendungsszenario keinen Transparenzkanal benötigt, ist JPEG quality=95 visuell kaum von PNG zu unterscheiden, belegt aber nur 1/4 bis 1/3 des Speicherplatzes von PNG. Über APIYI (apiyi.com) können Sie die Unterschiede in der Wirkung beider Formate in realen Szenarien schnell vergleichen.

Die Wahrheit über die 4K-Bildgrößenreduzierung der Nano Banana 2 API
Dies ist die Frage, die viele Nutzer am meisten beschäftigt: Warum ist die Dateigröße der Nano Banana 2-Bilder, die über AI Studio generiert werden, bei gleicher 4K-Auflösung von zuvor über 30 MB auf etwa 8 MB geschrumpft?
Die Änderung der Bildgröße bei der Nano Banana 2 API ist kein Formatproblem
Zuerst ein häufiges Missverständnis ausräumen: Es liegt nicht daran, dass PNGs in JPEGs umgewandelt wurden. Wenn Sie die Magic Bytes prüfen, werden Sie feststellen, dass sich das zurückgegebene Datenformat nicht geändert hat.
Der wahre Grund ist, dass Google serverseitig die Berechnungsparameter des Modells angepasst hat, was zu einer geringeren Informationskomplexität (Entropie) der generierten Bilder führt. Dies geschieht durch drei Mechanismen:
Grund 1: Reduzierung der Inferenzschritte (Hauptursache)
Diffusionsmodelle durchlaufen bei der Bilderzeugung mehrere Runden von Entrauschungs-Iterationen. Die Anzahl dieser Schritte bestimmt direkt den Detailreichtum des Bildes:
- Früher: Möglicherweise wurden 50–100 Entrauschungsschritte verwendet, was zu bildreichen Texturen und feinen Details führte.
- Heute: Die Anzahl wurde vermutlich auf 20–40 Schritte reduziert. Das Bild ist insgesamt klar, aber die lokalen Details und die Texturkomplexität haben abgenommen.
Weniger Entrauschungsschritte → weniger Texturdetails → geringere Informationsentropie → kleinere Dateigröße nach der verlustfreien PNG-Kompression.
Das ist nicht einfach nur eine "schlechtere Bildqualität" – bei bloßer Betrachtung der Komposition und Farben mag der Unterschied gering sein, aber auf Pixelebene erkennt man, dass mikroskopische Texturen und Farbverläufe nicht mehr so fein sind wie zuvor.
Grund 2: Serverseitige Vorverarbeitungsoptimierung
Nach der Generierung und vor der Kodierung als PNG hat Google möglicherweise eine leichte Rauschunterdrückung und Farbvereinfachung hinzugefügt:
- Eine schwache Rauschunterdrückung reduziert hochfrequente Details.
- Die Reduzierung der Farbabstufungen verringert die Feinheit der Farbübergänge.
- Diese Maßnahmen machen die PNG-Kompression effizienter (mehr ähnliche Pixel führen zu einer höheren Kompressionsrate).
Grund 3: Anpassung der Fließkommapräzision
Die Modellinferenz wurde möglicherweise von FP32 (32-Bit-Fließkomma) auf FP16 (16-Bit-Fließkomma) umgestellt:
- Die Rechengenauigkeit von FP16 ist halb so hoch wie bei FP32, und der GPU-Verbrauch sinkt massiv.
- Die verringerte Präzision führt dazu, dass Farbverläufe nicht mehr so glatt sind, was sich letztlich in einer kleineren PNG-Datei widerspiegelt.
Zeitplan der Bildgrößenänderung bei der Nano Banana 2 API
| Zeitpunkt | Ereignis | Auswirkung |
|---|---|---|
| Nov. 2025 | Nano Banana Pro Start, volle Rechenleistung | 4K PNG ca. 25–35 MB |
| Dez. 2025 | Kostenloses Kontingent von 3 auf 2 Bilder/Tag gesenkt | Ressourcenbeschränkung beginnt |
| Jan. 2026 | Nutzer melden Qualitätsverlust | Details reduziert, Auflösung bleibt gleich |
| Feb. 2026 | Nano Banana 2 Veröffentlichung | 4K PNG ca. 6–10 MB |
| Mitte 2026 (erw.) | Google TPU v7 Kapazität erreicht | Mögliche Rückkehr zur vollen Leistung |
Wichtiges Fazit: Dies ist ein Kompromiss, den Google eingegangen ist, um während der TPU-Engpässe das Nutzeraufkommen und die Servicequalität auszubalancieren. Die Auflösung (Pixelanzahl) bleibt gleich, aber die Informationsdichte (die Menge an einzigartigen Informationen pro Pixel) ist gesunken. Nutzer können die ursprüngliche 30-MB-Qualität nicht über API-Parameter wiederherstellen.
🎯 Empfehlung: Wenn Sie extrem hohe Anforderungen an die Bilddetails haben, versuchen Sie: 1) Den Parameter
compressionQuality=100in Vertex AI zu verwenden; 2) In der Eingabeaufforderung explizit Details und Texturen zu fordern; 3) Ein 2K-Bild zu generieren und dieses mit einem Super-Resolution-Modell auf 4K hochzuskalieren.
Über APIYI (apiyi.com) können Sie verschiedene Parameterkombinationen testen, um das optimale Gleichgewicht zwischen Qualität und Dateigröße zu finden.
Häufig gestellte Fragen
Q1: Ist es automatisch ein PNG-Format, wenn ich base64-Daten direkt als .png-Datei speichere?
Nicht unbedingt. Die Dateiendung bestimmt nicht das tatsächliche Format. Sie müssen die Daten zuerst mit base64.b64decode() dekodieren, dann mit Image.open() von Pillow öffnen und anschließend mit img.save("output.png", format="PNG") explizit als PNG speichern. Wenn Sie die dekodierten Bytes direkt in eine .png-Datei schreiben, hängt das tatsächliche Format von den Rohbytes ab, die die API zurückgibt – und es gibt einen bekannten Bug, bei dem die API behauptet, ein PNG zu liefern, aber tatsächlich ein JPEG zurückgibt.
Q2: Warum unterstützt AI Studio kein outputMimeType, Vertex AI aber schon?
AI Studio (Gemini API) ist als Tool für Entwickler zur schnellen Prototypen-Validierung gedacht und bietet einen reduzierten Funktionsumfang. Vertex AI richtet sich an Unternehmensumgebungen und bietet eine umfassendere Parametersteuerung. In den Typdefinitionen des Google JS SDK ist outputMimeType explizit als "Not supported in Gemini API" gekennzeichnet. Wenn Sie die Formatsteuerung serverseitig benötigen, wechseln Sie zu Vertex AI oder nutzen Sie die einheitliche Schnittstelle von APIYI (apiyi.com).
Q3: Lohnt sich die 4K-Auflösung nach der Größenreduzierung überhaupt noch?
Das hängt vom Verwendungszweck ab. Obwohl die 4K-Ausgabe jetzt kleiner ist, bleibt die Auflösung bei 4096×4096 Pixeln, was für Drucke oder großformatige Präsentationen weiterhin wertvoll ist. Wenn Ihr Anwendungsfall soziale Medien oder Webpräsentationen sind, ist 2K (2048px) möglicherweise die bessere Wahl hinsichtlich Preis-Leistung – kleinere Datei, geringere API-Kosten ($0,101/Bild vs. $0,151/Bild).
Q4: Gibt es eine Möglichkeit, die hochwertige 30-MB-Ausgabe von früher wiederherzustellen?
Derzeit nicht. Die Größenreduzierung ist eine serverseitige Anpassung der Rechenparameter durch Google, die Nutzer nicht über API-Parameter steuern können. Sobald die Kapazitäten der Google TPU v7 Mitte 2026 erreicht sind, könnte die volle Leistung wiederhergestellt werden. Die aktuelle Lösung besteht darin, detailliertere Eingabeaufforderungen zu verwenden, um mehr Texturdetails zu erzwingen, oder ein 2K-Bild zu generieren und es mit einem Super-Resolution-Modell (wie Real-ESRGAN) auf 4K zu skalieren.
Zusammenfassung
Die Kernpunkte zur Steuerung des Bildausgabeformats bei der Nano Banana 2 API:
- AI Studio unterstützt keine serverseitige Formatsteuerung: Sie müssen die Base64-Daten clientseitig dekodieren und explizit mit Pillow als PNG speichern. Achten Sie dabei auf die Prüfung der Magic Bytes, um das tatsächliche Format zu bestätigen.
- Vertex AI unterstützt
outputMimeType: Sie können direkt in der Anfrageimage/pngoderimage/jpegsowie die JPEG-Komprimierungsqualität festlegen. - Die Reduzierung der 4K-Dateigröße ist eine Anpassung der Rechenleistung: Der Abfall von 30 MB auf 8 MB liegt nicht am Format, sondern daran, dass Google die Inferenzschritte und die Fließkommapräzision reduziert, was die Informationsentropie verringert. Dies kann vom Benutzer nicht über Parameter rückgängig gemacht werden.
Wenn Sie diese zugrunde liegenden Mechanismen verstehen, können Sie die für Ihre Anforderungen am besten geeignete Speicherstrategie wählen.
Wir empfehlen, die Auswirkungen verschiedener Formate und Parameter schnell über APIYI (apiyi.com) zu testen. Die Plattform bietet kostenlose Kontingente, eine einheitliche Schnittstelle und unterstützt verschiedene Methoden für den Modellaufruf von Nano Banana 2.
📚 Referenzen
-
Entwicklerdokumentation zur Bilderzeugung mit Gemini: Offizielle API-Referenz inklusive Erläuterungen zu den
ImageConfig-Parametern.- Link:
ai.google.dev/gemini-api/docs/image-generation - Hinweis: Informationen zu Parametern und Einschränkungen bei der Nutzung über AI Studio.
- Link:
-
Vertex AI ImageOutputOptions Referenz: Vollständige Dokumentation der Formatsteuerungsparameter für Vertex AI.
- Link:
docs.cloud.google.com/vertex-ai/generative-ai/docs/reference/rest/Shared.Types/ImageOutputOptions - Hinweis: Enthält detaillierte Erläuterungen zu
mimeTypeundcompressionQuality.
- Link:
-
GitHub Issue #1824 – MIME-Typ-Nichtübereinstimmung: Fehlerbericht zu Fällen, in denen die API PNG angibt, aber tatsächlich JPEG zurückgibt.
- Link:
github.com/googleapis/python-genai/issues/1824 - Hinweis: Technische Details und Workarounds für dieses bekannte Problem.
- Link:
-
APIYI Dokumentationszentrum: Leitfaden zur Formatsteuerung beim Modellaufruf von Nano Banana 2 über die einheitliche Schnittstelle.
- Link:
docs.apiyi.com - Hinweis: Ideal für Entwickler, die den Prozess der Formatverarbeitung vereinfachen möchten.
- Link:
Autor: APIYI Technik-Team
Technischer Austausch: Wir freuen uns auf Diskussionen in den Kommentaren. Weitere Informationen finden Sie im Dokumentationszentrum von APIYI unter docs.apiyi.com.
