HiAPI
Blog

Benutzerhandbuch

E-Commerce-Produktbilder mit seedream-4.5/image-to-image über die hiapi API generieren

Aug 6, 2026
E-Commerce-Produktbilder mit seedream-4.5/image-to-image über die hiapi API generieren

Ein Produktkatalog ist nicht ein einziges Foto – sondern derselbe SKU in einem Dutzend Situationen: Freisteller auf Weiß, Lifestyle-Aufnahmen, Retusche nach einem Komponentenwechsel beim Lieferanten und Versionen, die zum saisonalen Branding passen. Neu zu fotografieren oder von Grund auf neu zu generieren zerstört jedes Mal die Konsistenz, denn ein völlig neuer Prompt zeichnet ein etwas anderes Produkt.

seedream-4.5/image-to-image wurde genau dafür gemacht. Es nimmt dein echtes Produktfoto – oder gleich mehrere Referenzbilder – plus eine natürlichsprachliche Bearbeitungsanweisung entgegen und liefert ein bearbeitetes Bild zurück, das die tatsächliche Geometrie, das Material und die Markenkennzeichnung des Produkts unverändert lässt und nur das ändert, was du verlangst: den Hintergrund, Abnutzungsdetails oder die Farbabstimmung, die für ein einheitliches visuelles Erscheinungsbild nötig ist. Auf hiapi läuft es wie alle anderen Modelle über denselben asynchronen /v1/tasks-Endpunkt, zu $0.045 pro Bild.

Die beiden folgenden Beispiele sind echte API-Aufrufe und zeigen die exakten Prompts und die generierten Bilder.

Warum bearbeiten statt neu generieren

Text-zu-Bild und Bild-zu-Bild lösen unterschiedliche Probleme:

  • Text-zu-Bild erzeugt ein Produkt aus einer Beschreibung heraus. Gut für Konzeptdesign, nicht für Produktkataloge – zweimal gefragt, bekommst du zwei verschiedene Tassen.
  • Bild-zu-Bild-Bearbeitung startet von deinem echten Produktfoto. Das Modell behandelt das Referenzbild als Grundwahrheit für Form, Proportionen und Markenkennzeichnung und ändert nur, was der Prompt vorgibt. Genau das macht es für echte Produkteinträge sicher: Das Produkt in der Ausgabe ist immer noch dein Produkt.

Der praktische Workflow: Behalte für jeden SKU ein sauberes Basis-Foto (ein einfaches Studiofoto als Referenz genügt) und starte dann für jede benötigte Situation einen seedream-4.5/image-to-image-Durchlauf – Lifestyle-Szene, Hintergrundaustausch, markenkonforme Kulisse, Detailreparatur –, statt jedes Mal neu zu fotografieren oder von Grund auf neu zu prompten.

Beispiel 1: Hintergrund durch eine Lifestyle-Szene ersetzen

Basis-Referenz: ein einfaches Studiofoto eines Keramik-Handfilters vor weißem Hintergrund.

Der an das Modell gesendete Bearbeitungs-Prompt:

Behalte die exakte Form, die Glasurfarbe und die Proportionen des Keramik-
Handfilters unverändert bei. Stelle ihn auf eine warme Arbeitsplatte aus Holz
in einer Küche neben einen dampfenden Keramikbecher und einen offenen
Jutesack mit Kaffee. Warmes goldenes Seitenlicht der goldenen Stunde,
geringe Schärfentiefe, weiche Schatten. Verändere den Filter selbst in
keiner Weise – ändere nur die umgebende Szene.

Das Ergebnis bewahrt die Silhouette und die Glasurfarbe des Filters pixelgenau und platziert ihn zugleich in einer lebendigen Alltagsszene, die ein einfaches Produktfoto allein nicht erzeugen könnte – kein Nachfotografieren, kein separater Compositing-Schritt.

Beispiel 2: Produkte auf einem Markenhintergrund vereinheitlichen

Basis-Referenz: ein einfaches Studiofoto eines weißen Canvas-Sneakers.

Der an das Modell gesendete Bearbeitungs-Prompt:

Behalte die Nähte, Ösen, Schnürsenkel und die Canvas-Textur des Sneakers
exakt wie abgebildet bei. Ersetze den Hintergrund durch eine einfarbige
Terrakotta-Studiokulisse und stelle den Sneaker auf ein passendes
Terrakotta-Podest. Gleichmäßiges, weiches Studiolicht von oben links,
dezenter Kontaktschatten. Ändere weder die Form noch die Farbe oder
gedruckte Details des Sneakers.

Das ist das Muster, um einen Katalog visuell zu vereinheitlichen: Lege eine Hintergrundbehandlung fest und lasse dann die Basis-Fotos jedes SKU durch dieselbe Bearbeitungsanweisung laufen. Die Produkte unterscheiden sich; Hintergrund, Lichtrichtung und Farbton bleiben konsistent, weil der Prompt sie steuert – nicht das Produkt selbst.

Die API direkt aufrufen

seedream-4.5/image-to-image läuft über den asynchronen Task-Endpunkt von hiapi. Task einreichen, bis zum Abschluss pollen, dann das Ergebnis herunterladen.

curl:

curl -s -X POST https://api.hiapi.ai/v1/tasks \
  -H "Authorization: Bearer $HIAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedream-4.5/image-to-image",
    "input": {
      "prompt": "Behalte das Produkt exakt wie abgebildet bei. Ersetze den Hintergrund durch eine einfarbige Terrakotta-Studiokulisse und ein passendes Podest. Gleichmäßiges, weiches Studiolicht von oben links.",
      "image_urls": ["https://your-storage.example.com/base-product-photo.jpg"],
      "aspect_ratio": "1:1",
      "resolution": "2K"
    }
  }'

Die Antwort enthält eine task_id. Pollen mit GET /v1/tasks/{task_id}, bis status succeeded ist, und lies dann die Bild-URL aus output[0].url. Die URL ist zeitlich begrenzt – lade das Bild sofort herunter.

Python (Task einreichen + pollen + herunterladen):

import os
import time
import requests

API_BASE = "https://api.hiapi.ai/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}"}


def edit_product_image(prompt: str, image_urls: list[str],
                        aspect_ratio: str = "1:1", resolution: str = "2K") -> bytes:
    resp = requests.post(
        f"{API_BASE}/tasks",
        headers=HEADERS,
        json={
            "model": "seedream-4.5/image-to-image",
            "input": {
                "prompt": prompt,
                "image_urls": image_urls,
                "aspect_ratio": aspect_ratio,
                "resolution": resolution,
            },
        },
        timeout=30,
    )
    resp.raise_for_status()
    task_id = resp.json()["task_id"]

    while True:
        poll = requests.get(f"{API_BASE}/tasks/{task_id}", headers=HEADERS, timeout=30)
        poll.raise_for_status()
        data = poll.json()
        if data["status"] == "succeeded":
            image_url = data["output"][0]["url"]
            return requests.get(image_url, timeout=30).content
        if data["status"] == "failed":
            raise RuntimeError(f"task {task_id} failed: {data.get('error')}")
        time.sleep(3)

Einen Produktkatalog in Stapel bearbeiten

Das obige Muster lässt sich direkt auf einen Produktkatalog übertragen: Pflege eine Liste von (sku, base_photo_url), wende auf jeden Eintrag dieselbe Bearbeitungsanweisung an – oder eine für jeden SKU eigene Variante – und schreibe die Ergebnisse mit dem SKU als Schlüssel heraus.

CATALOG = [
    {"sku": "dripper-ceramic-01", "base_url": "https://your-storage.example.com/dripper-01.jpg"},
    {"sku": "sneaker-canvas-white", "base_url": "https://your-storage.example.com/sneaker-white.jpg"},
    {"sku": "mug-stoneware-02", "base_url": "https://your-storage.example.com/mug-02.jpg"},
]

BACKDROP_PROMPT = (
    "Behalte die exakte Form, die Materialien und jede aufgedruckte "
    "Markenkennzeichnung des Produkts unverändert bei. Ersetze den "
    "Hintergrund durch eine einfarbige Terrakotta-Studiokulisse und ein "
    "passendes Podest. Gleichmäßiges, weiches Studiolicht von oben links, "
    "dezenter Kontaktschatten. Verändere das Produkt selbst nicht."
)

for item in CATALOG:
    image_bytes = edit_product_image(
        prompt=BACKDROP_PROMPT,
        image_urls=[item["base_url"]],
        aspect_ratio="1:1",
        resolution="2K",
    )
    with open(f"{item['sku']}-branded.jpg", "wb") as f:
        f.write(image_bytes)
    print(f"{item['sku']}: done")

Bei $0.045 pro Bild kostet eine Hintergrundbehandlung für einen Katalog mit 50 SKUs rund $2.25 – und da jeder Task unabhängig läuft, lässt sich das über Thread-Pools oder Task-Queues parallelisieren statt sequenziell.

image_urls akzeptiert bis zu 14 Referenzbilder pro Aufruf, sodass fortgeschrittenere Varianten dem Modell mehrere Ansichten desselben Produkts (Vorder-, Seiten-, Detailansicht) auf einmal übergeben können, wenn ein einzelnes Referenzbild für eine komplexe Bearbeitung nicht ausreicht.

Häufige Fragen

Ändert seedream-4.5/image-to-image das Produkt selbst oder nur die Szene? Es führt die Bearbeitungsanweisung exakt aus. Wenn der Prompt nur Hintergrund-, Licht- oder Situationsänderungen beschreibt und ausdrücklich verlangt, das Produkt beizubehalten, bleiben Form, Farbe und gedruckte Details des Produkts über mehrere Bearbeitungen hinweg konsistent – genau deshalb ist es für echte Produktkataloge tauglich und nicht nur für einmalige Konzeptbilder.

Wie viele Referenzbilder kann ich pro Aufruf senden? Bis zu 14 öffentliche Bild-URLs in image_urls. Die meisten Bearbeitungen eines einzelnen Produkts brauchen nur ein Bild (das Basis-Foto); mehrere Referenzbilder helfen, wenn das Modell Details aus verschiedenen Winkeln desselben Gegenstands zusammenführen soll.

Welche Auflösungen werden unterstützt? resolution akzeptiert 2K oder 4K. Dieses Modell hat keine 1K-Stufe.

Was kostet es, einen ganzen Katalog in Stapel zu bearbeiten? $0.045 pro Bild, unabhängig von der Auflösungsstufe. Für eine Bearbeitung eines Katalogs mit 100 SKUs sind das rund $4.50.

Kann ich Bearbeitungen parallel laufen lassen, um Stapeljobs zu beschleunigen? Ja – jeder Task ist unabhängig, daher ist das gleichzeitige Einreichen mehrerer /v1/tasks-Aufrufe (unter Beachtung der Ratenlimits deines Kontos) und deren paralleles Polling der schnellste Weg, große Kataloge zu verarbeiten.

Selbst ausprobieren

Die vollständige Parameterreferenz und aktuelle Preise findest du auf der Modellseite und der Preisseite. Das genaue Anforderungs-/Antwortformat des oben genannten Task-Endpunkts findest du in der Dokumentation zur Task-Erstellung. Wenn du einen ähnlichen Workflow mit einer anderen Modellebene aufsetzt, geht der seedream-5.0-lite E-Commerce-Leitfaden tiefer auf das Muster aus Verankerung pro SKU und anschließender Bearbeitung ein.

Hole dir einen API-Schlüssel und führe deine erste Bearbeitung an einem echten Produktfoto durch – der obige Code lässt sich heute kopieren und einfügen und auf der hiapi API ausführen.

Ä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