HiAPI
Blog

Benutzerhandbuch

E-Commerce-Produktbilder mit gpt-6-astra über die hiapi API generieren

Es erzeugt keine Fotos – aber es verfasst alles andere in einem Produktlisting.

Sep 9, 2026
E-Commerce-Produktbilder mit gpt-6-astra über die hiapi API generieren

GPT-6 Astra erzeugt keine Bilder – hier ist, wofür es im E-Commerce-Stack wirklich nützlich ist

Wenn Sie hierhergekommen sind in der Hoffnung, dass GPT-6 Astra Produktfotos zeichnet, dann kann es das nicht – es ist ein reines Text- und Reasoning-Modell, das über den /v1/responses-Endpunkt zugegriffen wird und keinerlei Bild-, Audio- oder Videoausgabe liefert. Doch für E-Commerce-Teams ist das keine Sackgasse. Jedes Produktbild lebt auf einer Seite, und diese Seite benötigt zudem Beschreibungen, Alt-Texte, Kundendienst-Antworten und drei kanalspezifische Werbeversionen derselben Verkaufsargumente – und genau für diese Ebene ist GPT-6 Astra gemacht. Dieser Leitfaden behandelt den Textteil im Produktbild-Workflow: die Massengenerierung von Beschreibungen, die Extraktion strukturierter Daten für Produktlistings sowie Kunden-Fragen-und-Antworten – mit echten Anfragebeispielen für die Responses API. Wenn Sie das Foto selbst benötigen, kombinieren Sie es mit einem Bildmodell wie GPT Image 2 und lassen GPT-6 Astra den gesamten Text rund um das Foto übernehmen.

Warum die Responses API und nicht Chat Completions

GPT-6 Astra ist ausschließlich über POST /v1/responses verfügbar – dieselbe Endpunktfamilie, die OpenAI für seine neueren Reasoning-Modelle verwendet – und nicht über die älteren Chat-Completions-Form. Wenn Sie es in eine Produktpipeline einbinden, sind drei Unterschiede wichtig:

  • Verwenden Sie input statt messages. Sie übergeben ein Array von Eingabeelementen und keine messages-Liste. Passen Sie Ihren Chat-Completions-Client an, statt den Code zur Request-Erstellung unverändert wiederzuverwenden.
  • In der Praxis ist stream=true Standard, der Status ist store=false. Das Modell streamt response.output_text.delta-Events, sobald Text eintrifft, und sendet response.output_item.done, sobald ein strukturiertes Element abgeschlossen ist. Mit store=false bleibt zwischen Aufrufen serverseitig nichts erhalten – wenn Sie einen mehrstufigen Kundendienst-Dialog führen, müssen Sie die vorherigen Nutzer-/Assistenten-Runden im nächsten input-Array selbst erneut übermitteln.
  • Verwenden Sie reasoning.effort statt temperature. Diese Integration bietet keine temperature-, top_p- oder max_output_tokens-Regler. Die Ausgabequalität/Latenz steuern Sie über reasoning.effort mit einem der Werte low, medium, high, xhigh oder max (es gibt kein none – Reasoning lässt sich nicht abschalten). Für kurze, deterministische Aufgaben wie die Beschreibungsgenerierung reicht in der Regel low oder medium; überlassen Sie high und höher Situationen, die Urteilsvermögen erfordern, etwa dem Entwerfen von Kundendienst-Antworten zu richtlinienkritischen Fragen.

Die Basis-URL lautet https://api.hiapi.ai/v1, der Schlüssel ist derselbe wie bei Ihren anderen hiapi-Modellen.

Anwendungsfall 1: Produktbeschreibungen in Massen mit strukturierter Ausgabe generieren

Die direkteste E-Commerce-Anwendung besteht darin, Spezifikationstabellen im großen Maßstab in markenkonforme Listing-Texte zu verwandeln. Statt aus dem vom Modell zurückgegebenen Freitext zu parsen, verwenden Sie text.format.type=json_schema, damit jede Antwort in einer Form zurückkommt, die Ihr CMS direkt aufnehmen kann – Titel, Kurzbeschreibung, Langbeschreibung und Aufzählungspunkte, alles in einem Aufruf.

import json
import requests

resp = requests.post(
    "https://api.hiapi.ai/v1/responses",
    headers={
        "Authorization": f"Bearer {HIAPI_KEY}",
        "Content-Type": "application/json",
    },
    json={
        "model": "gpt-6-astra",
        "store": False,
        "reasoning": {"effort": "low"},
        "input": [
            {
                "role": "system",
                "content": "You write concise, factual e-commerce listing copy. "
                            "Never invent specs that aren't in the input.",
            },
            {
                "role": "user",
                "content": "Product: ceramic pour-over coffee dripper, 400ml, "
                            "matte white, dishwasher safe, fits standard filters. "
                            "Write listing copy for this product.",
            },
        ],
        "text": {
            "format": {
                "type": "json_schema",
                "name": "listing_copy",
                "schema": {
                    "type": "object",
                    "properties": {
                        "title": {"type": "string"},
                        "short_description": {"type": "string"},
                        "long_description": {"type": "string"},
                        "bullet_points": {
                            "type": "array",
                            "items": {"type": "string"},
                        },
                    },
                    "required": [
                        "title",
                        "short_description",
                        "long_description",
                        "bullet_points",
                    ],
                    "additionalProperties": False,
                },
            }
        },
    },
    stream=False,
)
data = resp.json()

Führen Sie diesen Code SKU für SKU gegen Ihre Produktdatenbank aus, und Sie erhalten konsistenten, schema-validierten Text statt Prosa, die aus einem Chatfenster kopiert wurde. Der System-Prompt sollte das Erfinden von Spezifikationen strikt verbieten – wenn Sie es zulassen, schreibt das Modell nur allzu gern ausschweifend über Funktionen, die Sie ihm gar nicht gegeben haben.

Anwendungsfall 2: Kundendienst-Fragen-und-Antworten auf Basis eigener Dokumente

Für einen Kundendienst-Assistenten ist das entscheidende Muster die Replay-Schleife mit store=false. In jeder Runde senden Sie die aktuelle Konversation plus etwaige Tool-Ergebnisse wieder im input mit; was Sie nicht senden, daran erinnert sich das Modell nicht. Das ist ein bewusster Kompromiss – der Preis dafür ist, dass das erneute Übermitteln von Eingabe-Tokens etwas teurer ist, aber es bedeutet, dass der Konversationsstatus Ihrer Anwendung gehört und nicht dem Anbieter (was nützlich ist, wenn Sie Konversationen aus Ihrer eigenen Datenbank anonymisieren, verzweigen oder wiederherstellen möchten).

history = [
    {"role": "system", "content": "Answer only from the provided product FAQ context. "
                                    "If the answer isn't in context, say so and offer to escalate."},
]

def ask(user_message: str, faq_context: str) -> str:
    history.append({"role": "user", "content": f"Context:\n{faq_context}\n\nQuestion: {user_message}"})
    resp = requests.post(
        "https://api.hiapi.ai/v1/responses",
        headers={"Authorization": f"Bearer {HIAPI_KEY}", "Content-Type": "application/json"},
        json={
            "model": "gpt-6-astra",
            "store": False,
            "reasoning": {"effort": "medium"},
            "input": history,
        },
    )
    answer = resp.json()["output"][-1]["content"][0]["text"]
    history.append({"role": "assistant", "content": answer})
    return answer

Für alle Aktionen, die den Bestellstatus abfragen oder eine Rückgabe auslösen sollen, deklarieren Sie diese in tools als Funktion – das Modell gibt einen function_call zurück, Ihr Backend führt ihn aus, und dann übermitteln Sie das Ergebnis über function_call_output mit derselben call_id zurück, bevor das Modell fortfährt. So greift das Modell nie direkt auf Ihre Bestelldatenbank zu.

Anwendungsfall 3: Marketingtext-Varianten für verschiedene Kanäle

Dieselben Produktfakten benötigen auf der Produktseite, in E-Mail-Betreffzeilen und in 30-Zeichen-Anzeigentiteln unterschiedliche Formulierungen. Da GPT-6 Astra response.output_text.delta-Events streamt, können Sie in einem Aufruf mehrere Kanalvarianten generieren und sie beim Eintreffen sofort rendern, statt auf die vollständige Antwort zu warten – nützlich, wenn dies für eine Live-Vorschau in einem internen Tool verwendet wird. Halten Sie auch hier reasoning.effort auf low; die Tonanpassung kurzer Texte erfordert kein stärkeres Reasoning und hält die Latenz niedrig, während Marketingmitarbeiter in Echtzeit iterieren.

Wie die Kosten berechnet werden

GPT-6 Astra wird pro Token abgerechnet, und es gibt eine harte Tarifstufe statt eines marginalen Aufschlags – das sollten Sie kennen, bevor Sie große Produktkataloge in einer Anfrage bündeln:

Stufe Eingabe Ausgabe Cache-Eingabe Cache-Schreiben
Standard (≤272.000 Eingabe-Token/Anfrage) 2,50 $ / 1 Mio. Tokens 12,50 $ / 1 Mio. Tokens 0,25 $ / 1 Mio. Tokens 3,125 $ / 1 Mio. Tokens
Langkontext (>272.000 Eingabe-Token/Anfrage) 5,00 $ / 1 Mio. Tokens 18,75 $ / 1 Mio. Tokens 0,50 $ / 1 Mio. Tokens 6,25 $ / 1 Mio. Tokens

Der Schwellenwert wird anhand der gesamten Eingabe der Anfrage geprüft – einschließlich Cache-Lese- und -Schreibvorgängen –, und sobald er überschritten wird, wird die gesamte Anfrage zum Langkontext-Tarif abgerechnet, nicht nur der Teil der Token, der 272.000 überschreitet. Bei den oben genannten Anwendungsfällen (Generierung einer einzelnen Produktbeschreibung, ein Kundendienst-Dialog, eine Textvariante) sind Sie weit von dieser Grenze entfernt; sie wirkt sich vor allem aus, wenn Sie einen ganzen Produktkatalog oder ein langes Dokument in einen einzigen Aufruf packen. Prüfen Sie vor der Zusage großer Batch-Aufträge unter hiapi.ai/pricing die aktuellen Tarife, da diese nutzungsbasiert sind und sich ändern können.

Wie dies mit dem restlichen Stack zusammenspielt

Nichts davon ersetzt ein echtes Bildmodell – GPT-6 Astra hat keinen Zugriff auf /v1/tasks und kann keine visuelle Ausgabe erzeugen. Wenn Ihr Workflow Produktfotografie oder Lifestyle-Bilder zu diesen Texten benötigt, erfordert das einen separaten Aufruf eines Bildmodells wie GPT Image 2, und die Anfrageformate und Endpunkte beider Systeme sind nicht miteinander kompatibel. Vollständige Konfigurationsdetails, einschließlich Modell-ID und der exakten Anfrageform, finden Sie im GPT-6 Astra API-Leitfaden und auf der Modellseite.

Häufig gestellte Fragen

Kann GPT-6 Astra Produktbilder generieren? Nein. Es ist ein reines Textmodell, auf das über /v1/responses zugegriffen wird, und gibt keine Bilder, Audios oder Videos aus. Kombinieren Sie es für den visuellen Teil der Produktlistings mit einem Bildmodell.

Worin unterscheidet sich input von dem messages-Array, das ich in Chat Completions verwendet habe? input ist das Anfragefeld der Responses API für Konversationsrunden und Inhalte – es ist kein direkter Ersatz für messages, daher muss Chat-Completions-Clientcode angepasst werden, nicht nur ein Feldname geändert.

Muss ich für einfache Aufgaben wie die Beschreibungsgenerierung das Reasoning abschalten? Sie können es nicht abschalten – es gibt kein reasoning.effort=none. Verwenden Sie low für kurze, risikoarme Generierungsaufgaben; es ist die schnellste und günstigste der fünf Stufen.

Bedeutet store=false, dass ich den Konversationsverlauf verliere? Nein, es bedeutet, dass die Plattform ihn nicht für Sie speichert. Ihre Anwendung übermittelt die Runden, die sie benötigt, im nächsten input-Array erneut, was Ihnen die Kontrolle darüber gibt, welcher Kontext enthalten ist (und Ihnen ermöglicht, Konversationen zu anonymisieren oder zu verzweigen) – zum Preis, dass diese Token erneut als Eingabe bezahlt werden müssen.

Erhalte ich einen Cache-Rabatt, wenn ich denselben System-Prompt bei vielen Produktbeschreibungs-Aufrufen wiederhole? Nicht garantiert. Cache-Treffer hängen von Serverstrategie und Timing ab, nicht nur von wörtlicher Wiederholung – prüfen Sie cached_tokens im usage-Objekt der Antwort, und gehen Sie nicht davon aus, dass der Rabatt immer greift.

Was passiert, wenn ich einen ganzen Produktkatalog in einer Anfrage bündele? Wenn die gesamten Eingabe-Token (einschließlich aller Cache-Inhalte) 272.000 überschreiten, wird die gesamte Anfrage – Eingabe, Ausgabe und Cache-Nutzung – zum Langkontext-Tarif abgerechnet, nicht nur der Teil oberhalb des Schwellenwerts. Bei den meisten Anfragen für einzelne Produkte oder einzelne Dialoge trifft das nicht zu, aber vor dem Bündeln großer Kataloge in einem Aufruf lohnt es sich, die Token-Anzahl zu prüfen.

Ä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