PS PrestaShop Gemiddeld

dfgoogletryon: module voor virtueel passen met AI (Google Vertex AI)

Installatie, het Google Cloud-project en het serviceaccount aanmaken, configuratie, werking van de paswidget, AVG-privacy, kostenbeheersing en probleemoplossing van dfgoogletryon.

Bijgewerkt Moduleversie 1.0.0

Overzicht

dfgoogletryon voegt een widget voor virtueel passen toe aan uw productfiches in PrestaShop 8 en 9. De klant uploadt een foto (of gebruikt zijn camera) en ziet zichzelf het kledingstuk van de fiche dragen, dankzij het generatieve model Google Vertex AI Virtual Try-On. Alle aanroepen naar Google lopen via een proxy aan serverzijde: de sleutel van het serviceaccount bereikt nooit de browser. De module bevat AVG-toestemming, het niet bewaren van de foto’s, het SynthID-watermerk en beveiligingen tegen oplopende kosten.

Wat is het verschil met het try-on van Google Shopping?

Google biedt twee verschillende dingen aan, die u niet moet verwarren:

  • Het passen van kleding in het Merchant Center: een badge die alleen in de Google-zoekresultaten en in Google Shopping verschijnt. Die is niet in uw winkel te integreren en biedt geen enkele API voor uw productfiche.
  • Vertex AI Virtual Try-On: de generatieve API die deze module gebruikt. Dat is het enige onderdeel waarmee u een paswidget rechtstreeks op uw productpagina’s krijgt.

dfgoogletryon steunt uitsluitend op Vertex AI. Dat is een generatieve dienst die per afbeelding wordt betaald: elke passessie levert een of meer afbeeldingen op die Google factureert.

Vereisten

  • PrestaShop 8.0 tot 9.x
  • PHP 8.1, 8.2, 8.3 of 8.4
  • PHP-extensies: curl, openssl, gd
  • Een Google Cloud-project met facturatie ingeschakeld
  • De Vertex AI-API ingeschakeld op dat project
  • Een serviceaccount met de rol Vertex AI-gebruiker en de bijbehorende JSON-sleutel

Stap 1: Google Cloud voorbereiden

  1. Open console.cloud.google.com en maak een project aan of kies er een. Noteer de project-ID.
  2. Schakel de facturatie op het project in (menu Facturatie).
  3. Schakel de Vertex AI-API in: zoek « Vertex AI API » (aiplatform.googleapis.com) in de API-bibliotheek en klik op Inschakelen.

Stap 2: het serviceaccount aanmaken

  1. Ga naar IAM en beheer > Serviceaccounts.
  2. Klik op Een serviceaccount maken en geef het een naam (bijvoorbeeld tryon-prestashop).
  3. Ken het de rol Vertex AI-gebruiker toe (roles/aiplatform.user).
  4. Open het daarna en ga naar het tabblad Sleutels > Sleutel toevoegen > Nieuwe sleutel maken > JSON. Het JSON-bestand wordt gedownload.

Die JSON-sleutel geeft in uw naam toegang tot Vertex AI. Publiceer die nooit en plaats die niet in een openbare repository. De module bewaart hem aan serverzijde en stelt hem nooit bloot aan de frontoffice.

Stap 3: de module installeren

  1. Download dfgoogletryon.zip vanuit uw klantaccount.
  2. Ga in de PrestaShop-backoffice naar Modules > Modulebeheer > Een nieuwe module toevoegen.
  3. Upload de ZIP en klik op Installeren.
  4. Bij de installatie legt de module zijn standaardinstellingen en een toestemmingstekst vast, en koppelt hij zich aan de hooks displayProductAdditionalInfo (de knop op de fiche) en actionFrontControllerSetMedia (het laden van de bestanden, alleen op de productpagina).

Stap 4: de module configureren

Open de configuratie van de module. Vul de sectie Google Cloud / Vertex AI in:

  • GCP Project ID: de project-ID uit stap 1.
  • Region: de Vertex AI-locatie, bijvoorbeeld us-central1.
  • Model ID: standaard virtual-try-on-preview-08-04 (u kunt ook virtual-try-on-001 gebruiken).
  • Service-account JSON key: plak de volledige inhoud van het JSON-bestand uit stap 2.

Klik daarna op Save & test authentication. De module ondertekent een JWT, haalt een OAuth-token op en bevestigt « Authentication OK » als alles klopt.

Het OAuth-token blijft ongeveer 55 minuten in cache staan, zodat het niet bij elke passessie opnieuw hoeft te worden aangemaakt. Elke wijziging aan de inloggegevens maakt de cache automatisch ongeldig.

Instellingen voor generatie en veiligheid

Sectie Generation & safety:

  • Images per try-on: 1 tot 4 afbeeldingen per passessie. Elke afbeelding wordt door Google gefactureerd.
  • SynthID watermark: voegt een onzichtbaar AI-watermerk toe aan de gegenereerde afbeeldingen (aanbevolen).
  • Safety setting: filterniveau (block_low_and_above, block_medium_and_above, block_only_high, block_none). Standaard block_medium_and_above.
  • Person generation: allow_adult is aan te raden voor een kledingwinkel.
  • Max generations per session: bovengrens per klantsessie tegen misbruik.
  • Cooldown between generations (seconds): minimale wachttijd tussen twee passessies binnen dezelfde sessie.

Sectie Display:

  • Enable widget: schakelt de widget globaal in of uit.
  • Restrict to category IDs: lijst met categorie-ID’s, gescheiden door komma’s. Laat leeg om de widget op alle producten te tonen, of vul uw kledingcategorieën in om die alleen te tonen waar zij zinvol is.
  • Consent text (GDPR): de tekst naast het verplichte toestemmingsvakje.

Werking aan klantzijde

  1. Op een in aanmerking komende productfiche verschijnt een knop Try it on.
  2. De klant opent het venster, uploadt een foto (JPEG, PNG of WebP) of neemt er een op met zijn webcam.
  3. De foto wordt in de browser herschaald (maximaal 1024 px, JPEG) vóór het versturen, om de wachttijd en de kosten te drukken.
  4. De klant vinkt het toestemmingsvakje aan en klikt op Generate try-on.
  5. De module stuurt de foto en de omslagafbeelding van het product naar Vertex AI en toont daarna de gegenereerde afbeelding of afbeeldingen.

Privacy en AVG

De foto van de klant wordt in het geheugen verwerkt en naar Google gestuurd voor de generatie, maar wordt nooit op het bestandssysteem of in de database van de winkel bewaard. Het verplichte en aanpasbare toestemmingsvakje verschijnt vóór elke verzending. Stem de toestemmingstekst af op uw privacybeleid en vermeld de doorgifte naar Google.

De kosten beheersen

Google factureert elke gegenereerde afbeelding volgens de Vertex AI-tarieven per afbeelding. Om de kosten voorspelbaar te houden:

  • Beperk Images per try-on tot 1 als u begint.
  • Stel een redelijke Max generations per session in (standaard 5).
  • Gebruik een Cooldown om spamgeneratie te vermijden.
  • Beperk de weergave tot de kledingcategorieën via Restrict to category IDs.

Een token per product en de same-origincontrole ontmoedigen het gebruik van de proxy buiten uw eigen pagina’s. Dat is geen sterke authenticatie, maar wel een kostenbeveiliging die samengaat met de bovengrenzen hierboven.

Goede praktijken voor de productafbeelding

De module stuurt de omslagafbeelding van het product mee als kledingreferentie. De passessie lukt veel beter met een nette packshot van het kledingstuk (neutrale achtergrond, kledingstuk goed zichtbaar) dan met een lifestylefoto waarop een model het al draagt. Bovenstukken, onderstukken en losse stukken (jurken) geven de beste resultaten.

Problemen oplossen

  • « Authentication failed » bij de test: controleer de project-ID, de geldigheid van de JSON-sleutel, of de Vertex AI-API is ingeschakeld en of het serviceaccount de rol Vertex AI-gebruiker heeft.
  • Geen enkele afbeelding gegenereerd: het verzoek kan door de veiligheidsinstellingen zijn gefilterd. Probeer een andere foto, of versoepel Safety setting. Controleer ook het facturatiesaldo van Google Cloud.
  • De knop verschijnt niet: controleer of Enable widget aanstaat en of het product in een toegestane categorie zit (veld Restrict to category IDs).
  • Netwerkfout of timeout: zorg dat de server uitgaande HTTPS-verbindingen naar oauth2.googleapis.com en REGION-aiplatform.googleapis.com toelaat.
  • « You have reached the maximum number of try-ons »: de bovengrens per sessie is bereikt, wat het verwachte gedrag is. Pas Max generations per session aan als dat nodig is.

Verwijderen

Bij het verwijderen worden de instellingen van de module gewist, inclusief de sleutel van het serviceaccount en het token in cache. De module bewaart geen enkele klantfoto, dus er valt verder niets op te ruimen.

Was deze pagina nuttig?

Loopt u nog vast? Neem contact op met support