Skip to main content
W

Weiser22

1
Workflow

Workflows by Weiser22

Workflow preview: Generate multilingual Shopify product descriptions with Gemini 2.5 Vision AI
Free intermediate

Generate multilingual Shopify product descriptions with Gemini 2.5 Vision AI

# Shopify Multilingual Product Copy with n8n & Gemini 2.5 Flash-Lite Use for free **Created by** <Weiser22> · **Last update** 2025-09-02 **Categories:** E-commerce, Product Content, Translation, Computer Vision ## Description Generate language-specific Shopify product copy (ES, DE, EN, FR, IT, PT) from each product’s main image and metadata. The workflow performs a vision analysis to extract objective, verifiable details, then produces product names, descriptions, and handles per language, and stores the results in Google Sheets for review or publishing. ## Good to know - **Model:** `models/gemini-2.5-flash-lite` (supports image input). Confirm pricing/limits in your account before scaling. - **Image requirement:** products should have `images[0].src`; add a fallback if some products lack a primary image. - **Sheets mapping:** the sheet node uses Auto-map; ensure your matching column aligns with the field you emit (`id` vs `product_id`). - **Strict output:** the Agent enforces a multilingual JSON contract (`es,de,en,fr,it,pt`), each with `shopify_product_name`, `shopify_description`, `handle`. ## How it works - **Manual Trigger:** start a test run on demand. - **Get many products (Shopify):** fetch products and their images. - **Analyze image (Gemini Vision):** send `images[0].src` with an objective, 3–5 sentence prompt. - **AI Agent (Gemini Chat):** merge Shopify fields + vision text under anti-hallucination rules and a strict JSON schema. - **Structured Output Parser:** validates the exact JSON shape. - **Expand Languages & Sanitize (Code):** split into 6 items and normalize handles/HTML content as needed. - **Append row in sheet (Google Sheets):** add one row per language to your spreadsheet. ## Requirements - Shopify Access Token with product read permissions. - Google AI Studio (Gemini) API key for Vision + Chat Model nodes. - Google Sheets credentials (OAuth or Service Account) with access to the target spreadsheet. ## How to use 1. **Connect credentials:** Shopify, Gemini (same key for Vision and Chat), and Google Sheets. 2. **Configure nodes:** - **Get many products:** adjust `limit`/filters. - **Analyze image:** verify `={{ $json.images[0].src }}` resolves to a public image URL. - **AI Agent & Parser:** keep the strict JSON contract as provided. - **Code (Expand & Sanitize):** emits `product_id`, `lang`, `handle`, `shopify_product_name`, `shopify_description`, `base_handle_es`. - **Google Sheets (Append):** set `documentId` and tab name; confirm the matching column. 3. **Run a test:** execute the workflow and confirm six rows per product (one per language) appear in the sheet. ## Data contract (Agent output) ```json { "es": {"shopify_product_name": "", "shopify_description": "", "handle": ""}, "de": {"shopify_product_name": "", "shopify_description": "", "handle": ""}, "en": {"shopify_product_name": "", "shopify_description": "", "handle": ""}, "fr": {"shopify_product_name": "", "shopify_description": "", "handle": ""}, "it": {"shopify_product_name": "", "shopify_description": "", "handle": ""}, "pt": {"shopify_product_name": "", "shopify_description": "", "handle": ""} } ``` ## Customising this workflow - **Publish to Shopify:** after review in Sheets, add a `product.update` step to write finalized copy/handles. - **Handle policy:** tweak slug rules (diacritics, separators, max length) in the Code node to match store conventions. - **No-image fallback:** add an IF/Switch to skip vision when `images[0].src` is missing and generate copy from title + body only. - **Tone/length:** adjust temperature and token limits on the Chat Model for brand-fit. ## Troubleshooting - **No rows in Sheets:** confirm spreadsheet ID, tab name, Auto-map status, and that the matching column matches your emitted field. - **Vision errors:** ensure `images[0].src` is reachable. - **Parser failures:** the Agent must return **bare JSON** with the six root keys and three fields per language—no extra text.

W
Weiser22
Content Creation
2 Sep 2025
870
0