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.
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
inputstattmessages. Sie übergeben ein Array von Eingabeelementen und keinemessages-Liste. Passen Sie Ihren Chat-Completions-Client an, statt den Code zur Request-Erstellung unverändert wiederzuverwenden. - In der Praxis ist
stream=trueStandard, der Status iststore=false. Das Modell streamtresponse.output_text.delta-Events, sobald Text eintrifft, und sendetresponse.output_item.done, sobald ein strukturiertes Element abgeschlossen ist. Mitstore=falsebleibt zwischen Aufrufen serverseitig nichts erhalten – wenn Sie einen mehrstufigen Kundendienst-Dialog führen, müssen Sie die vorherigen Nutzer-/Assistenten-Runden im nächsteninput-Array selbst erneut übermitteln. - Verwenden Sie
reasoning.effortstatttemperature. Diese Integration bietet keinetemperature-,top_p- odermax_output_tokens-Regler. Die Ausgabequalität/Latenz steuern Sie überreasoning.effortmit einem der Wertelow,medium,high,xhighodermax(es gibt keinnone– Reasoning lässt sich nicht abschalten). Für kurze, deterministische Aufgaben wie die Beschreibungsgenerierung reicht in der Regellowodermedium; überlassen Siehighund 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 →-
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