Benutzerhandbuch
E-Commerce-Produktbilder mit Nano-Banana-2-Lite über die hiapi API generieren
Wenn du Produktbilder für einen E-Commerce-Katalog generierst, ist die Stückkostenrechnung wichtiger als jedes einzelne Bild. Ein Hauptbild für $0,17 ist kein Problem, wenn du nur zehn brauchst; aber wenn du für 1000 SKUs jeweils drei Bilder generieren musst, sieht die Sache völlig anders aus. Genau diese Lücke füllt Nano-Banana-2-Lite auf hiapi: $0,033 pro Bild, 1K-Auflösung, dieselbe asynchrone Task-API wie die größeren Nano-Banana-Modelle und Unterstützung für bis zu 10 Referenzbilder – genug, um das klassische E-Commerce-Trio zum Mengenpreis zu erledigen: Hauptbild auf weißem Hintergrund, Lifestyle-Szene und eine hochwertige dunkle Variante.
Dieser Leitfaden ist der Budget-Begleiter zu unserem früheren Artikel Nano-Banana E-Commerce-Workflow. Alles im Folgenden – Requests, Ausgaben, Laufzeiten, Kosten – stammt aus unseren tatsächlichen Läufen gegen die Live-API zum Zeitpunkt der Erstellung dieses Artikels.

Wo Lite in der Nano-Banana-Produktlinie steht
Die folgenden Informationen wurden zum Zeitpunkt der Erstellung mit der hiapi-Preisseite abgeglichen:
| Modell | Preis pro Bild | Auflösung | Referenzbilder |
|---|---|---|---|
| Nano-Banana-2-Lite | $0,033 | 1K | bis zu 10 über image_urls |
| nano-banana | $0,05 | Standard | unterstützt |
| nano-banana-2 | $0,085 (1K) / $0,076 (2K) / $0,114 (4K) | bis zu 4K | über image_input |
| nano-banana-pro | $0,17 (1K/2K) / $0,2992 (4K) | bis zu 4K | über image_input |
Die Entscheidungsregel für Produktkataloge ist einfach:
- Marktplatz-Listings, Long-Tail-SKUs, A/B-Varianten → Lite. Bei 1K (kurze Kante ca. 1024px) erreichen oder übertreffen die Ausgaben die Standards der meisten Marktplätze für hochgeladene Bilder nach der Komprimierung.
- Startseiten-Banner, Kampagnen-Keyvisuals, Druckmaterialien → auf nano-banana-pro upgraden für 2K/4K-Ausgaben und stärkeres Text-Rendering. Lite für die Masse, Pro für die Schlüsselbilder – sie ergänzen sich, statt zu konkurrieren.
Ein funktionierender Request
Nano-Banana-2-Lite läuft auf der einheitlichen asynchronen Task-API von hiapi: Task einreichen, bis zum Abschluss pollen, Ergebnis herunterladen. Vor dem Code gibt es drei Hinweise:
- Die Modell-ID ist groß-/kleinschreibungssensitiv. Sende exakt
Nano-Banana-2-Lite– die kleingeschriebene Variante gibt400 MODEL_UNAVAILABLEzurück. aspect_ratioist ein Enum, kein Freitext. Erlaubte Werte:auto,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,8:1. Es gibt keinresolution-Feld – Lite ist fest auf 1K, und das Senden vonresolutionführt zur Ablehnung des Requests.- Ausgabe-URLs sind signierte Links und laufen ab. Lade die Bytes sofort nach erfolgreichem Task herunter; speichere die Datei, nicht die URL.
curl -s -X POST https://api.hiapi.ai/v1/tasks \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "Nano-Banana-2-Lite",
"input": {
"prompt": "Professional e-commerce product photo of a minimalist matte-white wireless earbuds charging case, centered on a seamless pure white background, soft even studio lighting, gentle shadow beneath, crisp edges, catalog-ready hero shot, no text, no logo",
"aspect_ratio": "1:1"
}
}'
Die Antwort enthält eine taskId. Polle GET /v1/tasks/{taskId}, bis status gleich success ist, und lade dann data.output[0].url herunter. In unseren Läufen war ein einzelner Task inklusive Polling-Zeit nach etwa 55–65 Sekunden von Anfang bis Ende abgeschlossen.
Hier ist die Ausgabe zu genau diesem Prompt – ein unbearbeitetes, von Lite generiertes Bild:

Prompts für Hauptbilder auf Katalogniveau schreiben
Für Produkt-Listings auf weißem Hintergrund hat dieses Prompt-Muster bei uns stets funktioniert:
*Professional e-commerce product photo of [product, materials, colors], centered on a seamless pure white background, soft even studio lighting, subtle natural shadow, crisp focus, marketplace catalog style, no text, no logo*
Zwei weitere Produkte mit derselben Vorlage, wobei nur die Produktbeschreibung und das Seitenverhältnis geändert wurden (4:5 passt für Mode/Beauty, 4:3 für Schuhe und Elektronik):


Praktische Hinweise für die Massengenerierung:
- Immer mit "no text, no logo" enden. Wie die meisten Bildmodelle erfindet Lite sonst willkürlich Etikettentexte und Markenlogos – ein Compliance-Problem bei echten Produkt-Listings. Wenn dein Produkt echte Etiketten hat, füge sie nachträglich ein oder nutze den Referenzbild-Workflow weiter unten.
- Schatten ausdrücklich verlangen ("subtle natural shadow"). Ohne diese Anforderung bekommst du oft einen schwebenden Freisteller-Effekt, der auf Marktplätzen unecht wirkt.
- Nur ein Produkt pro Bild. Lite meistert Einzelmotiv-Kompositionen zuverlässig; bei flächigen Anordnungen mehrerer Produkte brauchst du allmählich größere Modelle.
Dasselbe Produkt, neue Szene: der image_urls-Workflow
Der eigentliche E-Commerce-Trick liegt in der Konsistenz: ein Standard-Produktbild, neu arrangiert in Lifestyle- und hochwertigen Szenen, wobei das Produkt zwischen den Bildern unverändert bleibt. Lite akzeptiert bis zu 10 Referenzbilder über das Feld image_urls (Achtung: die größeren Nano-Banana-2-Modelle nennen dieses Feld image_input – die Umbenennung ist die wichtigste Portierungsfalle, siehe unser Lite-API-Tutorial).
Wir verwenden das obige Hauptbild als Referenz und verlangen zwei Neuanordnungen:
{
"model": "Nano-Banana-2-Lite",
"input": {
"prompt": "Place this exact product on a warm oak wooden desk next to a laptop keyboard and a small green potted plant, soft morning window light from the left, shallow depth of field, cozy home-office lifestyle e-commerce scene, keep the product design, colors and proportions unchanged",
"aspect_ratio": "4:3",
"image_urls": ["https://your-cdn.example.com/hero-earbuds.jpg"]
}
}


Beide Varianten kamen zurück, wobei Proportionen des Ladeetuis, Deckelfuge und Status-LED erhalten blieben. Der Ausdruck "keep the product design, colors and proportions unchanged" leistet hier viel – füge ihn in jeden Referenzbild-Prompt ein. Referenz-URLs müssen öffentlich erreichbar sein (signierte private Links, die mitten im Task ablaufen, lassen den Task fehlschlagen).
Python-Batch-Pipeline
Tasks sind unabhängig, daher kommt der Batch-Durchsatz dadurch, dass man alle Tasks auf einmal einreicht und sie als Gruppe pollt – in unseren Läufen benötigten fünf gleichzeitige Tasks ungefähr dieselbe Wall-Clock-Zeit wie ein einzelner Task. Eine minimale Pipeline:
import json
import subprocess
import time
API = "https://api.hiapi.ai/v1/tasks"
TOKEN = "sk-..." # your hiapi API key
def _curl(args):
out = subprocess.run(["curl", "-s", *args], capture_output=True, text=True, timeout=90)
return json.loads(out.stdout)
def submit(prompt, aspect_ratio="1:1", image_urls=None):
inp = {"prompt": prompt, "aspect_ratio": aspect_ratio}
if image_urls:
inp["image_urls"] = image_urls
data = _curl(["-X", "POST", API,
"-H", f"Authorization: Bearer {TOKEN}",
"-H", "Content-Type: application/json",
"-d", json.dumps({"model": "Nano-Banana-2-Lite", "input": inp})])
return data["data"]["taskId"]
def wait(task_id, timeout_s=600):
deadline = time.time() + timeout_s
while time.time() < deadline:
task = _curl([f"{API}/{task_id}", "-H", f"Authorization: Bearer {TOKEN}"])["data"]
if task["status"] == "success":
return task["output"][0]["url"]
if task["status"] == "fail":
raise RuntimeError(f"{task_id}: {task.get('error')}")
time.sleep(5)
raise TimeoutError(task_id)
HERO_TMPL = ("Professional e-commerce product photo of {product}, centered on a "
"seamless pure white background, soft even studio lighting, subtle "
"natural shadow, crisp focus, marketplace catalog style, no text, no logo")
skus = [
{"id": "SKU-001", "product": "a matte-white wireless earbuds charging case"},
{"id": "SKU-002", "product": "an amber glass serum bottle with black dropper cap"},
{"id": "SKU-003", "product": "a white minimalist running sneaker with light gray sole"},
]
# 1) submit everything up front
tasks = {sku["id"]: submit(HERO_TMPL.format(product=sku["product"])) for sku in skus}
# 2) collect results and persist bytes immediately — output URLs expire
for sku_id, task_id in tasks.items():
url = wait(task_id)
subprocess.run(["curl", "-s", "-o", f"{sku_id}.jpg", url], timeout=120)
print(f"{sku_id} done")
Für Produktionsvolumen lohnen sich zwei Verbesserungen: Webhook-Callbacks statt Polling verwenden (beim Erstellen des Tasks callback.url und when: "final" übergeben) und jede taskId zusammen mit deinen SKU-Datensätzen persistieren, damit ein abgestürzter Worker wiederaufnehmen kann, statt erneut Kosten zu verursachen. Beides wird im Task-API-Tutorial und in der hiapi-Dokumentation behandelt.
Tatsächliche Kosten für einen Produktkatalog
Bei $0,033 pro Bild und der Standard-Dreifachbearbeitung (Hauptbild + Lifestyle-Bild + dunkle/Detail-Variante):
| Kataloggröße | Bilderanzahl (×3) | Nano-Banana-2-Lite | Dieselbe Arbeit mit nano-banana-pro |
|---|---|---|---|
| 100 SKUs | 300 | $9,90 | $51,00 |
| 500 SKUs | 1.500 | $49,50 | $255,00 |
| 1.000 SKUs | 3.000 | $99,00 | $510,00 |
Ein sinnvoller Mix: Den gesamten Katalog über Lite laufen lassen und dann nur die 20 umsatzstärksten SKUs auf nano-banana-pro in 2K/4K neu aufnehmen, für Startseite und Kampagnen-Ausspielungen. Für das Beispiel mit 100 SKUs sind das $9,90 + ca. $10 an Pro-Bildkosten – immer noch ein Bruchteil der Kosten eines Studiotags.
Plane 5–10 % Retry-Puffer für Prompts ein, die einen zweiten Versuch brauchen (meist überflüssiger Text auf Etiketten), und denke daran, dass fehlgeschlagene Tasks mit fail und einem Fehlerobjekt gemeldet werden – nur erfolgreiche Generierungen gehören in dein Qualitäts-Gate.
Fazit
Nano-Banana-2-Lite ersetzt nicht deine Flaggschiff-Keyvisual-Pipeline – dafür ist die Pro-Ebene da. Aber für den Long-Tail eines Produktkatalogs, wo jeder SKU ein vorzeigbares, konsistentes Bild braucht und das Budget pro tausend Bilder gemessen wird, ist $0,033 bei 1K-Auflösung mit Referenzbild-Unterstützung kaum zu widerlegen.
Hole dir einen API-Schlüssel und starte auf der Nano-Banana-2-Lite-Modellseite – der obige Request funktioniert direkt, sobald du deinen Token einsetzt, und das Batch-Skript skaliert ihn von einem SKU auf tausend.
Ähnliche Artikel
Alle Artikel ansehen →-
Benutzerhandbuch
seedream-5.0-pro/image-to-image Erste-Schritte-Leitfaden: Fähigkeiten, Preise und Integrationspunkte
Fähigkeitsgrenzen, Abrechnungsmodell und Engineering-Integration des Bildbearbeitungsmodells von ByteDance
-
Benutzerhandbuch
seedream-5.0-pro Text-zu-Bild Einstiegsleitfaden: Fähigkeitsgrenzen, API-Integration und Kostenkontrolle
Praxisorientierte Perspektive für Entwickler: von den wichtigsten Parametern bis zur Kostenschätzung von $0,05 pro Bild
-
Benutzerhandbuch
Hailuo 2.3 Fast Bild-zu-Video-Anleitung: Grenzen der Leistungsfähigkeit, Preisgestaltung und Integration in die Praxis
MiniMax Bild-zu-Video-Modell für Entwickler: Auswahlkriterien und Integrationspunkte