KI-Bildanalyse
Strukturierte Produktdaten direkt aus dem Cover-Bild
Workflow
- Bild laden & skalieren — Das Cover-Bild des Produkts wird geladen. Ist die längste Kante > 1024 px, skaliert das Plugin per GD auf max. 1024 px (JPEG, Qualität 85). Das spart Token und Zeit bei der API.
- Produktkontext sammeln — Produktname, Produktnummer und ggf. der Shopware-Hersteller werden aus der DB gelesen. Bei Varianten wird auf das Hauptprodukt zurückgefallen.
- Prompt aufbauen — Ein systemseitiger Prompt beschreibt die aktiven Felder, Multi-Value-Regeln, die Farbpalette und die Beschreibungslänge.
- API-Call — Das Bild (base64) und der Prompt gehen an Anthropic oder OpenAI. Timeout 60 s, max. 2048 Output-Tokens.
- Antwort parsen — Das zurückkommende JSON wird validiert, Farben werden auf die feste 21er-Palette normalisiert, Multi-Value-Felder in saubere Arrays zerlegt.
- Speichern — Jedes Feld wird als Property oder Custom Field abgelegt, Meta-Titel und Meta-Beschreibung optional direkt ins Produkt geschrieben.
Anbieter & Modelle
DasBild unterstützt zwei KI-Vision-Anbieter. Der Provider wird in der Plugin-Konfiguration gewählt; der API-Key liegt als Passwort-Feld vor und wird nicht im Admin ausgegeben.
| Anbieter | API-Endpoint | Standard-Modell | Key-Format |
|---|---|---|---|
| Anthropic (Claude) | api.anthropic.com/v1/messages |
claude-sonnet-4-20250514 |
sk-ant-… |
| OpenAI (GPT-4o) | api.openai.com/v1/chat/completions |
gpt-4o |
sk-… |
claude-haiku-4-5-20251001 oder gpt-4o-mini) sind möglich, solange der Anbieter Vision unterstützt.
Neben Provider und Key bietet der Konfigurationsbereich zwei Convenience-Komponenten:
- API Key erstellen — Direktlinks zu den Konsolen-Seiten beider Anbieter.
- API Key testen — Sendet einen minimalen Probe-Request (
max_tokens: 5) und gibt sprechende Fehlermeldungen aus (ungültiger Key, kein Guthaben, Modell nicht gefunden …).
Standard-Felder
Ohne eigene Konfiguration liefert die KI folgende 12 Felder. Alle lassen sich einzeln über Aktive KI-Felder ein- und ausschalten:
| Feld-Key | Label (DE) | Typ | Beispiel-Ausgabe |
|---|---|---|---|
farben | Farbe | Multi, Palette | ["Schwarz","Chrom"] |
designer | Designer | Single | Charles Eames |
hersteller | Hersteller | Single | Vitra |
material | Material | Multi, frei | ["Metall","Kunstleder"] |
stil | Stil | Single | Mid-Century Modern |
epoche | Epoche | Single | 1960er |
design_referenz | Design-Referenz | Single | Eames Lounge Chair |
muster | Muster | Multi, frei | ["gestreift"] |
herkunft | Herkunft | Single | Dänemark |
technik | Technik | Multi, frei | ["gegossen","poliert"] |
meta_titel | Meta-Titel (SEO) | Single, reserviert | Eames Lounge Chair Original 1956 Echtleder |
beschreibung | Beschreibung | Single, reserviert | (Produkttext, siehe unten) |
Jedes KI-Ergebnis enthält pro Feld zusätzlich ein confidence-Flag mit den Werten sicher oder unsicher — bei manueller Bearbeitung im Admin wird es auf manuell gesetzt.
Eigene KI-Felder
Die Standard-Felder sind für Design- und Vintage-Shops gedacht. Für andere Branchen (Fashion, Lebensmittel, Technik, Spielzeug…) können Sie eigene Felder definieren — eine Zeile pro Feld, Pipe-getrennt:
field_key | DE Label | EN Label | multi (ja/nein) | Prompt-Hinweis
Beispiel Fashion-Shop:
marke | Marke | Brand | nein | Markenname, z.B. "Nike", "Adidas"
material | Material | Material | ja | Materialien als Array
anlass | Anlass | Occasion | ja | Anlässe, z.B. ["Business","Freizeit"]
schnitt | Schnitt | Cut | nein | Passform, z.B. "slim", "regular", "oversized"
- Keys müssen mit einem Buchstaben beginnen und sind
a-z 0-9 _. - Zeilen mit
#,//oder;sind Kommentare. - Multi-Wert:
ja,yes,true,1,multioderarray— alles andere = Single-Wert. - Reservierte Keys:
farben(Palette+Hex),beschreibung(Custom Field),meta_titel(Produkt-Meta). - Leeres Textfeld = Standard-Set (12 Felder für Design/Vintage).
Produktbeschreibung
Wenn das Feld beschreibung aktiv ist, generiert die KI einen verkaufsorientierten Produkttext. Die Länge steuert die Konfigurationsoption Beschreibungslänge:
| Option | Zielwörter | Einsatz |
|---|---|---|
| Kurz | ~50 | Kategorieseiten, Teaser |
| Mittel | ~120 | Standard-Produktseite |
| Lang | ~250 | Ausführliche Detailseiten, SEO |
Der Prompt weist die KI explizit an, das Produkt zu beschreiben, nicht das Bild — „Das Bild zeigt …“, „Zu sehen ist …“ o.ä. werden vermieden. Die Beschreibung landet im Custom Field ki_beschreibung.
SEO: Meta-Titel & Meta-Beschreibung
Zwei Schalter in der Plugin-Konfiguration steuern das SEO-Verhalten:
| Einstellung | Wirkung |
|---|---|
| Meta-Titel automatisch setzen | Ist der Schalter aktiv und die KI liefert einen meta_titel-Wert, wird der native Shopware-Meta-Titel des Produkts überschrieben. Der Prompt fragt nach max. 60 Zeichen, prägnant mit Stil / Designer / Material. |
| Meta-Beschreibung automatisch setzen | Ist der Schalter aktiv, werden die ersten ~155 Zeichen der KI-Beschreibung (HTML gestrippt, Whitespace normalisiert) in die Meta-Beschreibung geschrieben. |
ki_result_json verfügbar und können im Admin per Knopfdruck übernommen werden.
Produktkontext – warum die KI auch Text bekommt
Viele Hersteller haben kein sichtbares Logo auf dem Produkt (z.B. „Grundig Audiorama 9000“). Damit die KI den Hersteller trotzdem erkennt, bekommt sie zusätzlich zum Bild drei Zusatz-Informationen:
- Produktname — aus Shopware (Übersetzung bevorzugt)
- Produktnummer — aus Shopware
- Shopware-Hersteller — aus der Manufacturer-Zuordnung
designer oder material kopiert werden — die KI soll nur die relevanten Teile extrahieren.
Wo wird was gespeichert
| Feld | Ablage | Property-Gruppe |
|---|---|---|
farben |
Property-Group Typ color mit Hex-Codes aus der Palette |
Name aus Config (Standard: Image Colors) |
| Andere Felder (designer, material, stil …) | Property-Group Typ text, mehrsprachig (DE + EN) |
Label aus DEFAULT_FIELD_MAP bzw. eigener Config |
beschreibung |
Custom Field ki_beschreibung (Produkt) |
— |
meta_titel |
Native Shopware metaTitle (nur wenn Schalter aktiv) |
— |
| Komplettes KI-Ergebnis | Custom Field ki_result_json (Referenz & Admin-Review) |
— |
| Status-Flags | Custom Fields ki_status (pending/approved/rejected), ki_generated_at (ISO-Zeitstempel) |
— |
Admin-Oberfläche
DasBild integriert sich an zwei Stellen in der Shopware-Administration:
- Kataloge → Farberkennung — Übersichtsseite mit Einzel- und Batch-Analyse, Modell-Info und Statusanzeige.
- Produktdetailseite — Zusätzlicher „KI-Button“ (
sven-das-bild-ki-button), der eine Vorschau oder direkte Analyse des aktuellen Produkts auslöst. Die API-Endpunkte:POST /api/_action/sven-das-bild/ki-preview— Vorschau, speichert nichtsPOST /api/_action/sven-das-bild/ki-analyze-product— Vollanalyse mit SpeicherungPOST /api/_action/sven-das-bild/ki-update-fields— Einzelne Felder selektiv übernehmen / überschreibenPOST /api/_action/sven-das-bild/ki-update-status— Status aufapproved/rejectedsetzenGET|POST /api/_action/sven-das-bild/ki-fields— aktuelle Feld-Definition inkl. Farbpalette für das FrontendPOST /api/sven-das-bild/test-api-key— API-Key & Modell testen
Review-Workflow
Die KI-Analyse ist auf review-freundlich ausgelegt:
- Batch-Lauf per CLI schreibt alle Felder und setzt
ki_status = pending. - Redakteur:in sichtet im Admin Produkt für Produkt die Vorschläge, passt einzelne Felder an (
ki-update-fields) und markiert alsapprovedoderrejected. - Manuelle Änderungen werden in
ki_result_jsonmitconfidence: "manuell"markiert und bleiben bei einer erneuten KI-Analyse erhalten, solange man nicht bewusst mit--forceüberschreibt. - Storefront nutzt die Properties wie jede andere — sofort filterbar, ohne Theme-Änderungen.