HiAPI
Blog

Benutzerhandbuch

gpt-image-2 E-Commerce-Produktbilder: Ein Batch-Workflow auf hiapi

Nutze die Aufgaben-API gpt-image-2/text-to-image von hiapi, um für den gesamten Produktkatalog saubere Listing-Bilder auf weißem Hintergrund, Winkel-/Detailvarianten und Lifestyle-Szenen zu generieren – real reproduzierte Bilder, verifizierte Preisgestaltung von $0.03 pro Bild und direkt kopierbare Batch-Skripte.

Jul 1, 2026
gpt-image-2 E-Commerce-Produktbilder: Ein Batch-Workflow auf hiapi

TL;DR

  • Was ist das: Ein lauffähiger, reproduzierbarer Workflow, der mit gpt-image-2/text-to-image auf hiapi E-Commerce-Produktbilder generiert. Jedes Bild auf dieser Seite wurde mit dem direkt daneben abgedruckten Original-Prompt gerendert – keine Stockfotos, keine geliehenen Demos.
  • Ein Modell, drei Verwendungszwecke: Saubere Katalogbilder auf weißem Hintergrund, Winkel-/Detailvarianten desselben Produkts und Lifestyle-Szenen – alles über dieselbe Text-zu-Bild-Aufgabenschnittstelle.
  • API-Fakten (auf der Plattform verifiziert): gpt-image-2/text-to-image läuft über eine asynchrone Aufgaben-API (/v1/tasks). Das input-Objekt benötigt prompt, aspect_ratio (1:1 für Listings, 4:5 für Social Media, 16:9 für Banner) und resolution (1K / 2K / 4K). Das Ergebnisbild befindet sich unter output[0].url.
  • Preisgestaltung: gpt-image-2/text-to-image kostet pauschal $0.03 pro Bild. Ein Katalog mit 20 SKUs und 3 Bildern pro Produkt umfasst 60 Bilder und kostet $1.80. Aktuelle Preise findest du auf der Preisseite.
  • So führst du es aus: Sende einen POST an die Aufgaben-API, polle bis success und lade dann das Bild von output[0].url herunter – diese URL läuft ab, speichere die Bytes daher sofort. Am Ende findest du das vollständige kopierbare Skript zum Senden/Pollen/Herunterladen sowie die Batch-Schleife.

Warum gpt-image-2 für Produktbilder

Eine Produktbild-Pipeline hat eine langweilige, aber strenge Spezifikation: dasselbe Produkt, saubere Darstellung, konsistenter Hintergrund, listing-taugliches Seitenverhältnis. gpt-image-2/text-to-image eignet sich aus drei Gründen dafür.

Erstens kann es Produktbeschreibungen über eine ganze Charge von Aufgaben hinweg stabil halten – beschreibe einen Artikel einmal, verwende diese Beschreibung wieder und ändere nur den Kamerawinkel. Genau das ist der Schlüssel, um aus „einem Hauptbild“ eine ganze Listing-Bildserie zu machen.

Zweitens ist es eine asynchrone Aufgabe pro Bild. Aufgabe senden, Aufgaben-ID pollen, fertige Datei abrufen – dasselbe Aufgabenprotokoll wie bei allen anderen hiapi-Generierungsmodellen. Wenn du also bereits andere Modelle aufrufst, ist der Kontrollfluss hier identisch.

Drittens ist es günstig genug, um iterativ zu arbeiten. Bei $0.03 pro Bild kannst du drei Winkel pro SKU rendern und die unpassenden verwerfen.

Die einzige Regel: Produktspezifikation einmal schreiben, immer wieder verwenden

Der Trick für eine konsistente Listing-Bildserie besteht darin, die Produkt-Hälfte des Prompts festzuhalten und nur die Kamera-Hälfte zu ändern. Hier ist die feste Produktspezifikation, die für jedes Bild unten verwendet wird:

a matte ceramic pour-over coffee dripper in sage green with a short conical body and a small pouring spout

Alles andere – Winkel, Hintergrund, Beleuchtung, Komposition – wird je nach Aufnahme angehängt. Packe es in eine Variable und konkatiniere.

Aufnahme 1 – Listing-Bild auf weißem Hintergrund

Das ist die Aufnahme, die Marktplätze wollen: reines Weiß, weiches, gleichmäßiges Licht, ein dezenter Schatten, sonst nichts im Bild.

Prompt: Studio-E-Commerce-Produktfoto eines mattierten keramischen Pour-over-Kaffeefilters in Salbeigrün mit kurzem konischem Körper und kleinem Ausguss, vorderer Dreiviertelwinkel, zentriert auf reinweißem nahtlosem Hintergrund (#ffffff), weiche gleichmäßige Boxbeleuchtung, dezenter weicher Schatten direkt darunter, scharfer Fokus, naturgetreue Farben, Katalog-Listing-Stil, keine Requisiten, kein Text.

Einstellungen: aspect_ratio: 1:1, resolution: 1K

Aufnahme 2 und 3 – Varianten desselben Produkts

Verwende nun dieselbe Produktspezifikation und ändere nur die Kameraanweisung. Da die Produkthälfte des Prompts identisch ist, bleibt der Filter über die gesamte Bildserie hinweg als dasselbe erkennbare Produkt erhalten.

Prompt (Winkel): …hoher Seitenwinkel von oben in den Konus blickend, reinweißer nahtloser Hintergrund (#ffffff), weiche gleichmäßige Boxbeleuchtung, dezenter weicher Schatten, scharfer Fokus, naturgetreue Farben, Katalog-Listing-Stil, keine Requisiten, kein Text.

Prompt (Detail): Nahaufnahme… Fokus auf die Textur von Ausguss und Rand, reinweißer nahtloser Hintergrund (#ffffff), weiche gleichmäßige Boxbeleuchtung, dezenter weicher Schatten, scharfer Fokus, Makrodetail, Katalog-Listing-Stil, keine Requisiten, kein Text.

Aufnahme 4 – Lifestyle-/Social-Variante

Listings brauchen saubere Freisteller; Werbung und Social Media brauchen Szenen. Dieselbe Produktspezifikation, neue Umgebung und ein vertikales 4:5-Format, das in den Feed passt.

Prompt: Lifestyle-E-Commerce-Szene eines mattierten keramischen Pour-over-Kaffeefilters in Salbeigrün mit kurzem konischem Körper und kleinem Ausguss auf einer hellen Eichenholz-Küchenarbeitsplatte neben einer Glaskanne und einem kleinen Haufen Kaffeebohnen, warmes Morgenfensterlicht, geringe Schärfentiefe, gemütliches skandinavisches Interieur unscharf im Hintergrund, natürliche Farben, hochwertige Social-Media-Produktaufnahme, kein Text.

Einstellungen: aspect_ratio: 4:5, resolution: 1K

Die API von Ende zu Ende

Drei Aufrufe: Aufgabe senden, pollen, Datei herunterladen.

1. Senden – POST mit Modell und input-Objekt:

curl -s -X POST https://api.hiapi.ai/v1/tasks \
  -H "Authorization: Bearer $HIAPI_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2/text-to-image",
    "input": {
      "prompt": "Studio e-commerce product photo ... no text.",
      "aspect_ratio": "1:1",
      "resolution": "1K"
    }
  }'
# -> {"data": {"taskId": "task_abc123"}}

2. Pollen – GET auf die Aufgabe, bis status gleich success ist:

curl -s https://api.hiapi.ai/v1/tasks/task_abc123 \
  -H "Authorization: Bearer $HIAPI_TOKEN"
# -> {"data": {"status": "success", "output": [{"url": "https://.../image.png"}]}}

3. Herunterladen – output[0].url ist temporär, speichere daher sofort:

curl -s -o dripper-front.jpg "<output[0].url>"

Batch-Skript: ein Produkt, mehrere Bilder

Im Folgenden findest du eine kopierbare Python-Schleife, die aus einer Produktspezifikation die gesamte Listing-Bildserie rendert. Sie hält die Produktbeschreibung fest und iteriert über die Aufnahmeanweisungen.

import os, time, requests

BASE = "https://api.hiapi.ai/v1/tasks"
TOKEN = os.environ["HIAPI_TOKEN"]
HEAD = {"Authorization": f"Bearer {TOKEN}", "Content-Type": "application/json"}

# Fixed product spec — write it once.
PRODUCT = ("a matte ceramic pour-over coffee dripper in sage green with a short "
           "conical body and a small pouring spout")

# Vary only the shot half.
SHOTS = {
    "front":     ("1:1", "front three-quarter angle, pure white seamless background (#ffffff), "
                         "soft even box lighting, subtle soft shadow, catalog listing style, no text"),
    "angle":     ("1:1", "high side angle looking into the cone, pure white background, "
                         "soft even lighting, catalog listing style, no text"),
    "detail":    ("1:1", "close-up macro on the spout and rim, pure white background, "
                         "soft even lighting, catalog listing style, no text"),
    "lifestyle": ("4:5", "on a light oak kitchen counter with a glass carafe and coffee beans, "
                         "warm morning window light, shallow depth of field, no text"),
}

def submit(prompt, ratio):
    body = {"model": "gpt-image-2/text-to-image",
            "input": {"prompt": prompt, "aspect_ratio": ratio, "resolution": "1K"}}
    r = requests.post(BASE, headers=HEAD, json=body, timeout=60)
    return r.json()["data"]["taskId"]

def wait(task_id, timeout=600):
    deadline = time.time() + timeout
    while time.time() < deadline:
        d = requests.get(f"{BASE}/{task_id}", headers=HEAD, timeout=30).json()["data"]
        if d["status"] == "success":
            return d["output"][0]["url"]
        if d["status"] == "fail":
            raise RuntimeError(d.get("error"))
        time.sleep(5)
    raise TimeoutError(task_id)

for name, (ratio, shot) in SHOTS.items():
    prompt = f"Studio e-commerce product photo of {PRODUCT}, {shot}."
    url = wait(submit(prompt, ratio))
    img = requests.get(url, timeout=120).content   # URL expires — save now
    open(f"dripper-{name}.jpg", "wb").write(img)
    print(f"saved dripper-{name}.jpg  (cost $0.03)")

Ersetze PRODUCT durch deinen SKU, behalte die SHOTS-Zuordnung bei und lege eine äußere Schleife über den Produktkatalog, um jedes Produkt auf dieselbe Weise zu rendern.

Kostenberechnung für einen echten Katalog

gpt-image-2/text-to-image wird pauschal mit $0.03 pro Bild abgerechnet (auf der Plattform verifiziert; aktuelle Zahlen findest du auf der Preisseite). Daher gilt:

Kataloggröße Aufnahmen pro SKU Bilder Kosten
20 SKUs 3 60 $1.80
100 SKUs 3 300 $9.00
100 SKUs 4 (inkl. Lifestyle) 400 $12.00

Das ist günstig genug, um den gesamten Katalog neu zu rendern, anstatt neu zu fotografieren, wenn du deine Hintergrundstandards änderst.

Zusammenfassung

Der Workflow bleibt bewusst schlank: Produktspezifikation festhalten, Aufnahme variieren, senden → pollen → herunterladen und die Ausgabebytes speichern, bevor die URL abläuft. Eine gpt-image-2/text-to-image-Aufgabe pro Bild, $0.03 pro Bild, mit demselben Aufgabenprotokoll, das du bereits bei anderen hiapi-Modellen verwendest. Richte die Batch-Schleife auf deinen Produktkatalog aus, und sie skaliert linear.

Ähnliche Artikel

Alle Artikel ansehen →

Starte mit persistenten KI-Artefakten

Hol dir deinen API-Key und rufe Bild-, Video- und Audiomodelle über eine einzige task-basierte API auf.

API-Dokumentation lesen