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 Connect credentials: Shopify, Gemini (same key for Vision and Chat), and Google Sheets.
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.
Run a test: execute the workflow and confirm six rows per product (one per language) appear in the sheet.

Data contract (Agent output) { "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.

0
Downloads
0
Views
8.38
Quality Score
intermediate
Complexity
Author:Weiser22(View Original →)
Created:9/10/2025
Updated:11/7/2025

🔒 Please log in to import templates to n8n and favorite templates

Workflow Visualization

Loading...

Preparing workflow renderer

Comments (0)

Login to post comments