Generar listas de productos de Shopify a partir de imágenes con Gemini AI y Airtable
Este es unContent Creation, Multimodal AIflujo de automatización del dominio deautomatización que contiene 33 nodos.Utiliza principalmente nodos como If, Set, Code, Wait, Limit. Usar Gemini AI y Airtable para generar listas de productos de Shopify desde imágenes
- •Credenciales de API de Admin de Shopify
- •Clave de API de Airtable
- •Credenciales de API de Google Drive
- •Pueden requerirse credenciales de autenticación para la API de destino
- •Clave de API de OpenAI
- •Clave de API de Google Gemini
Nodos utilizados (33)
Categoría
{
"meta": {
"instanceId": "818217039c98483edc5f2e50a5e7ea3ae47b57a621c9a4429b9c0454fe5f315c",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "d93982bc-9446-4bef-9a68-660a5df9b398",
"name": "inicio",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-3856,
2912
],
"parameters": {},
"typeVersion": 1
},
{
"id": "d735219d-c2ca-4ed3-9d95-54e0edcf7118",
"name": "no hacer nada",
"type": "n8n-nodes-base.noOp",
"position": [
-3568,
2912
],
"parameters": {},
"typeVersion": 1
},
{
"id": "e397c1fb-f707-4e12-9ce6-b34906a83b10",
"name": "ID_tienda",
"type": "n8n-nodes-base.set",
"position": [
-3792,
3424
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "68233ea1-2741-4c61-8f80-3b484e96ff55",
"name": "store_id",
"type": "string",
"value": "1qzkpy-1s"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "1a60742b-efb1-42fd-9240-df477c61c295",
"name": "obtener_datos_tabla_imagen_cruda",
"type": "n8n-nodes-base.airtable",
"position": [
-3792,
3136
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "appYnPOyDUwImADqj",
"cachedResultUrl": "https://airtable.com/appYnPOyDUwImADqj",
"cachedResultName": "shopify_digital_product"
},
"table": {
"__rl": true,
"mode": "list",
"value": "tbl1s3jAxiwbfaQQO",
"cachedResultUrl": "https://airtable.com/appYnPOyDUwImADqj/tbl1s3jAxiwbfaQQO",
"cachedResultName": "raw_data"
},
"options": {},
"operation": "search"
},
"credentials": {
"airtableTokenApi": {
"id": "9vQPBWEQTviLi4pr",
"name": "n8n.verified@gmail.com_shopify_raw_digital_product_"
}
},
"typeVersion": 2.1
},
{
"id": "fb027d2f-72b6-41df-b372-93c85ac22638",
"name": "filtrar_fila_cruda",
"type": "n8n-nodes-base.switch",
"position": [
-3568,
3136
],
"parameters": {
"rules": {
"values": [
{
"outputKey": "Unused",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "d40b20b3-42c3-4999-b4ac-f99a766d0be7",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.status }}",
"rightValue": "=Unused"
}
]
},
"renameOutput": true
},
{
"outputKey": "Used",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "1bf7a6a8-dbe3-433e-aace-a914f9883623",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.status }}",
"rightValue": "=Used"
}
]
},
"renameOutput": true
}
]
},
"options": {}
},
"typeVersion": 3.3
},
{
"id": "eb39feb9-0052-467d-bc29-13aeb2592a9e",
"name": "bucle_analisis_imagen",
"type": "n8n-nodes-base.splitInBatches",
"position": [
-3264,
3120
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "99f1edc0-d2d4-47a0-b240-1248b4a927a6",
"name": "obtener_datos_coleccion",
"type": "n8n-nodes-base.httpRequest",
"position": [
-3568,
3424
],
"parameters": {
"url": "=https://{{ $json.store_id }}.myshopify.com/admin/api/2025-10/custom_collections.json?limit=50",
"options": {},
"authentication": "predefinedCredentialType",
"nodeCredentialType": "shopifyAccessTokenApi"
},
"credentials": {
"shopifyAccessTokenApi": {
"id": "cWbUpQhRGFUOo8GG",
"name": "admin_flow_forge_art"
}
},
"typeVersion": 4.2
},
{
"id": "53365348-0ce1-4cb4-b81f-782ac4d4488c",
"name": "refinar_salida_coleccion",
"type": "n8n-nodes-base.code",
"position": [
-3344,
3424
],
"parameters": {
"jsCode": "// Input data assumed to be in items[0].json.custom_collections\nconst collections = items[0].json.custom_collections;\n\n// Map only id and title to a new array of objects\nconst simplifiedCollections = collections.map(collection => {\n return {\n json: {\n id: collection.id,\n title: collection.title\n }\n };\n});\n\nreturn simplifiedCollections;\n"
},
"typeVersion": 2
},
{
"id": "1bff9b59-7e1a-49a0-9b8d-2b6be9788872",
"name": "limitar_1",
"type": "n8n-nodes-base.limit",
"position": [
-3040,
3136
],
"parameters": {},
"typeVersion": 1
},
{
"id": "2bab1d58-92eb-430a-8605-44e3b65c47e6",
"name": "descargar_imagen",
"type": "n8n-nodes-base.googleDrive",
"position": [
-2816,
3136
],
"parameters": {
"fileId": {
"__rl": true,
"mode": "id",
"value": "={{ $json.drive_file_id }}"
},
"options": {},
"operation": "download"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "f01nZ9QGzYgioVNy",
"name": "n8n.verified@gmail.com"
}
},
"typeVersion": 3
},
{
"id": "252be6f6-0b62-4cd3-bafb-29e1a76190af",
"name": "analizar_imagen",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
-2592,
3136
],
"parameters": {
"text": "=# Role:\nYou are an expert AI image analyst specialized in digital posters and artwork content.\n\n# Instruction:\nAnalyze the digital poster and provide all relevant details about the characters, series, style, text, and visual mood in structured JSON format. Focus only on the artwork content.\n\n\n# Restriction:\n## Ignore all background elements, shadows, frames, walls, furniture, or any photography/mockup context.\n- Do not make assumptions beyond what is visible in the poster.\n- If a specific detail is missing or unclear, use null.\n- Avoid hallucinations or adding fictional content. Focus only on observable details.\n\n# Output Structure:\n## Output must be valid JSON with the following keys:\n\n## Example Output:\n{\n \"character_name\": \"Monkey D. Luffy\",\n \"series_name\": \"One Piece\",\n \"category\": \"anime\",\n \"poster_text\": \"Friendship is the most precious treasure, and chasing dreams is the meaning of life\",\n \"poster_type\": \"motivational\"\n}\n\n# Hallucination Avoidance Rule:\n- Only include elements that are visibly present in the poster.\n- Do not infer names, series, or text if not clearly visible.\n- Do not describe the environment, room, frame, or mockup context.\n- If unsure, return null rather than guessing.",
"modelId": {
"__rl": true,
"mode": "list",
"value": "chatgpt-4o-latest",
"cachedResultName": "CHATGPT-4O-LATEST"
},
"options": {},
"resource": "image",
"simplify": false,
"inputType": "base64",
"operation": "analyze"
},
"credentials": {
"openAiApi": {
"id": "2HxBb6WtylA8XF3I",
"name": "OpenAI_Paid"
}
},
"typeVersion": 1.8
},
{
"id": "5a4a23a4-d805-44f2-94e4-b12d4ce592d2",
"name": "actualizar_datos_imagen",
"type": "n8n-nodes-base.airtable",
"position": [
-2368,
3136
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "appYnPOyDUwImADqj",
"cachedResultUrl": "https://airtable.com/appYnPOyDUwImADqj",
"cachedResultName": "shopify_digital_product"
},
"table": {
"__rl": true,
"mode": "list",
"value": "tbl1s3jAxiwbfaQQO",
"cachedResultUrl": "https://airtable.com/appYnPOyDUwImADqj/tbl1s3jAxiwbfaQQO",
"cachedResultName": "raw_data"
},
"columns": {
"value": {
"status": "Used",
"image_data": "={{ $json.choices[0].message.content }}",
"drive_file_id": "={{ $('download_image').item.json.drive_file_id }}"
},
"schema": [
{
"id": "id",
"type": "string",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "id",
"defaultMatch": true
},
{
"id": "drive_file_id",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "drive_file_id",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "file_name",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "file_name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "file_type",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "file_type",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "drive_url",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "drive_url",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "uploaded_date",
"type": "dateTime",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "uploaded_date",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "status",
"type": "options",
"display": true,
"options": [
{
"name": "Unused",
"value": "Unused"
},
{
"name": "Used",
"value": "Used"
}
],
"removed": false,
"readOnly": false,
"required": false,
"displayName": "status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "image_data",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "image_data",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"drive_file_id"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update"
},
"credentials": {
"airtableTokenApi": {
"id": "9vQPBWEQTviLi4pr",
"name": "n8n.verified@gmail.com_shopify_raw_digital_product_"
}
},
"typeVersion": 2.1
},
{
"id": "7271487c-0d69-4c2c-b062-97105d136a93",
"name": "Cadena Basic LLM",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
-2448,
3440
],
"parameters": {
"text": "=## Input\nAnalyzed image data : {{ $json.image_data }}\n\n## Available Categories/Collections:\nCategory Title : {{ $('refine_collection_output').item.json.title }}\nCategory id : {{ $('refine_collection_output').item.json.id }}",
"batching": {},
"messages": {
"messageValues": [
{
"message": "=You are a Shopify product content generator AI. \nYour task is to take structured analyzed image data (JSON format) and generate **Shopify product details**.\n\n### Input Data Example:\n{\n \"character_name\": \"Naruto\",\n \"series_name\": \"Naruto\",\n \"category\": \"anime\",\n \"poster_text\": \"I never go back on my word! That's my nindō: my ninja way.\",\n \"poster_type\": \"motivational\"\n}\n\n### Available Categories/Collections:\nCategory Title : {{ $('refine_collection_output').item.json.title }}\nCategory id : {{ $('refine_collection_output').item.json.id }}\n\n### Output Rules:\n- Always respond in **valid JSON format only**. \n- Use the `series_name` and `character_name` in `product_title` if available. \n- If no character/series, create a general title using poster_type and poster_text keywords. \n- `product_description` must be 4–6 sentences, engaging, and SEO-friendly. \n- Select the most relevant `product_category` from the available categories. \n- Add `\"matched_category_id\"` to match `product_category`. \n- `SEL_page_title` must be catchy within 70 characters. \n- `SEL_meta_description` must be engaging within 160 characters. \n- `SEL_url_handle` must be SEO-friendly (lowercase + hyphens). \n\n### Output JSON Structure:\n{\n \"product_title\": \"\",\n \"matched_category\": \"\",\n \"matched_category_id\": \"\",\n \"product_description\": \"\",\n \"product_category\": \"\",\n \"SEL_page_title\": \"\",\n \"SEL_meta_description\": \"\",\n \"SEL_url_handle\": \"\"\n}"
}
]
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 1.7
},
{
"id": "124951f1-6d2b-4ffc-8bb6-63f9568ab0d9",
"name": "Analizador Auto-corrector",
"type": "@n8n/n8n-nodes-langchain.outputParserAutofixing",
"position": [
-2384,
3680
],
"parameters": {
"options": {}
},
"typeVersion": 1
},
{
"id": "79b254f4-ceb9-4685-ba62-5fab927b8009",
"name": "Analizador Salida Estructurada",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
-2608,
3696
],
"parameters": {
"jsonSchemaExample": "{\n \"product_title\": \"Naruto Motivational Anime Poster - Ninja Way\",\n \"matched_category\": \"Anime\",\n \"matched_category_id\": \"320625541282\",\n \"product_description\": \"Bring home the spirit of Naruto Uzumaki with this motivational anime poster. Featuring his iconic quote about never giving up, it’s the perfect wall art for fans and dreamers.\",\n \"product_category\": \"Anime Posters\",\n \"SEL_page_title\": \"Naruto Motivational Anime Poster - Ninja Way\",\n \"SEL_meta_description\": \"Shop this Naruto motivational anime poster featuring his nindō quote. Perfect wall decor for anime fans and dreamers.\",\n \"SEL_url_handle\": \"naruto-motivational-anime-poster-ninja-way\"\n}\n"
},
"typeVersion": 1.3
},
{
"id": "d5625b75-2a40-48ea-bfc3-b6d36bbb1741",
"name": "limitar_",
"type": "n8n-nodes-base.limit",
"position": [
-2672,
3440
],
"parameters": {},
"typeVersion": 1
},
{
"id": "64838bc3-8aac-4903-8c66-52e4c60c237b",
"name": "actualizar_detalles_producto",
"type": "n8n-nodes-base.airtable",
"position": [
-2864,
3680
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "appYnPOyDUwImADqj",
"cachedResultUrl": "https://airtable.com/appYnPOyDUwImADqj",
"cachedResultName": "shopify_digital_product"
},
"table": {
"__rl": true,
"mode": "list",
"value": "tblalx8WQPAgA6VVY",
"cachedResultUrl": "https://airtable.com/appYnPOyDUwImADqj/tblalx8WQPAgA6VVY",
"cachedResultName": "product_details"
},
"columns": {
"value": {
"product_id": "={{Date.now().toString(36) + Math.random().toString(36).slice(2,8)}}",
"drive_file_id": "={{ $('limit_').item.json.drive_file_id }}",
"product_title": "={{ $json.output.product_title }}",
"SEL_page_title": "={{ $json.output.SEL_page_title }}",
"SEL_url_handle": "={{ $json.output.SEL_url_handle }}",
"product_status": "generated",
"product_category": "={{ $json.output.matched_category }}",
"product_description": "={{ $json.output.product_description }}",
"SEL_meta_description": "={{ $json.output.SEL_meta_description }}"
},
"schema": [
{
"id": "drive_file_id",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "drive_file_id",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "product_id",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "product_id",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "product_title",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "product_title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "product_description",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "product_description",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "product_category",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "product_category",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "product_price",
"type": "number",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "product_price",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "SEL_page_title",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "SEL_page_title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "SEL_meta_description",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "SEL_meta_description",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "SEL_url_handle",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "SEL_url_handle",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "product_status",
"type": "options",
"display": true,
"options": [
{
"name": "generated",
"value": "generated"
},
{
"name": "posted",
"value": "posted"
}
],
"removed": false,
"readOnly": false,
"required": false,
"displayName": "product_status",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"drive_file_id"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update"
},
"credentials": {
"airtableTokenApi": {
"id": "9vQPBWEQTviLi4pr",
"name": "n8n.verified@gmail.com_shopify_raw_digital_product_"
}
},
"typeVersion": 2.1
},
{
"id": "35bbe721-47d2-4173-b7f5-87dd6060c428",
"name": "actualizar_ID_archivo_drive",
"type": "n8n-nodes-base.airtable",
"position": [
-2592,
2912
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "appYnPOyDUwImADqj",
"cachedResultUrl": "https://airtable.com/appYnPOyDUwImADqj",
"cachedResultName": "shopify_digital_product"
},
"table": {
"__rl": true,
"mode": "list",
"value": "tblalx8WQPAgA6VVY",
"cachedResultUrl": "https://airtable.com/appYnPOyDUwImADqj/tblalx8WQPAgA6VVY",
"cachedResultName": "product_details"
},
"columns": {
"value": {
"drive_file_id": "={{ $json.drive_file_id }}"
},
"schema": [
{
"id": "drive_file_id",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "drive_file_id",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "product_id",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "product_id",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "product_title",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "product_title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "product_description",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "product_description",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "product_category",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "product_category",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "product_price",
"type": "number",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "product_price",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "SEL_page_title",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "SEL_page_title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "SEL_meta_description",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "SEL_meta_description",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "SEL_url_handle",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "SEL_url_handle",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "product_status",
"type": "options",
"display": true,
"options": [
{
"name": "generated",
"value": "generated"
},
{
"name": "posted",
"value": "posted"
}
],
"removed": true,
"readOnly": false,
"required": false,
"displayName": "product_status",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "create"
},
"credentials": {
"airtableTokenApi": {
"id": "9vQPBWEQTviLi4pr",
"name": "n8n.verified@gmail.com_shopify_raw_digital_product_"
}
},
"typeVersion": 2.1
},
{
"id": "3ba9b580-69d6-4b31-89a0-21dec6f49ef3",
"name": "obtener_fila_analizada",
"type": "n8n-nodes-base.airtable",
"position": [
-2896,
3440
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "appYnPOyDUwImADqj",
"cachedResultUrl": "https://airtable.com/appYnPOyDUwImADqj",
"cachedResultName": "shopify_digital_product"
},
"table": {
"__rl": true,
"mode": "list",
"value": "tbl1s3jAxiwbfaQQO",
"cachedResultUrl": "https://airtable.com/appYnPOyDUwImADqj/tbl1s3jAxiwbfaQQO",
"cachedResultName": "raw_data"
},
"options": {},
"operation": "search",
"filterByFormula": "{status} = 'Used'"
},
"credentials": {
"airtableTokenApi": {
"id": "9vQPBWEQTviLi4pr",
"name": "n8n.verified@gmail.com_shopify_raw_digital_product_"
}
},
"executeOnce": true,
"typeVersion": 2.1
},
{
"id": "99d2c7d8-efe2-4e25-84b6-a50b9798fb69",
"name": "Si",
"type": "n8n-nodes-base.if",
"position": [
-2816,
2896
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "8b3e6db0-8236-4eec-926e-68df625ebcc7",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.drive_file_id }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "3ff30e4c-1797-4546-9597-f99204fc60b3",
"name": "no hacer nada1",
"type": "n8n-nodes-base.noOp",
"position": [
-2288,
2880
],
"parameters": {},
"typeVersion": 1
},
{
"id": "160dc1d3-0181-4c4b-a678-1711b5974be9",
"name": "obtener_tabla_productos",
"type": "n8n-nodes-base.airtable",
"position": [
-3040,
2896
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "appYnPOyDUwImADqj",
"cachedResultUrl": "https://airtable.com/appYnPOyDUwImADqj",
"cachedResultName": "shopify_digital_product"
},
"table": {
"__rl": true,
"mode": "list",
"value": "tblalx8WQPAgA6VVY",
"cachedResultUrl": "https://airtable.com/appYnPOyDUwImADqj/tblalx8WQPAgA6VVY",
"cachedResultName": "product_details"
},
"options": {},
"operation": "search"
},
"credentials": {
"airtableTokenApi": {
"id": "9vQPBWEQTviLi4pr",
"name": "n8n.verified@gmail.com_shopify_raw_digital_product_"
}
},
"executeOnce": false,
"typeVersion": 2.1
},
{
"id": "cf6a3a2b-af2a-46db-afe9-6a04e950a9d0",
"name": "creacion_info_producto",
"type": "n8n-nodes-base.splitInBatches",
"position": [
-3120,
3424
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "b3733423-3cd6-4cfe-97c8-3b8ae35f0bcd",
"name": "limitar_2",
"type": "n8n-nodes-base.limit",
"position": [
-3328,
2896
],
"parameters": {},
"typeVersion": 1
},
{
"id": "0b5f1b3a-d6cf-4f23-ab48-dba15410d309",
"name": "Esperar",
"type": "n8n-nodes-base.wait",
"position": [
-4016,
3424
],
"webhookId": "e35aea41-7574-48e1-8b9c-8a548a1ddf14",
"parameters": {},
"typeVersion": 1.1
},
{
"id": "eaa6025b-a015-4525-9bd0-578878301a9b",
"name": "Modelo Gimini",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
-2496,
3696
],
"parameters": {
"options": {}
},
"credentials": {
"googlePalmApi": {
"id": "rJcvhJlIc3a5dpyu",
"name": "gimini_myFirstProject_manipritraj"
}
},
"typeVersion": 1
},
{
"id": "5abd0b24-2b29-4d69-9b4d-5a0564e4eb6d",
"name": "obtener_fila_analizada2",
"type": "n8n-nodes-base.airtable",
"position": [
-3008,
3968
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "appYnPOyDUwImADqj",
"cachedResultUrl": "https://airtable.com/appYnPOyDUwImADqj",
"cachedResultName": "shopify_digital_product"
},
"table": {
"__rl": true,
"mode": "list",
"value": "tblalx8WQPAgA6VVY",
"cachedResultUrl": "https://airtable.com/appYnPOyDUwImADqj/tblalx8WQPAgA6VVY",
"cachedResultName": "product_details"
},
"options": {},
"operation": "search",
"filterByFormula": "{product_status} = 'generated'"
},
"credentials": {
"airtableTokenApi": {
"id": "9vQPBWEQTviLi4pr",
"name": "n8n.verified@gmail.com_shopify_raw_digital_product_"
}
},
"executeOnce": true,
"typeVersion": 2.1
},
{
"id": "64b9d2e6-2b74-4505-9ce2-45d4f4559332",
"name": "Crear producto",
"type": "n8n-nodes-base.shopify",
"position": [
-2784,
3968
],
"parameters": {
"title": "={{ $('get_analyzed_row2').item.json.product_title }}",
"resource": "product",
"authentication": "accessToken",
"additionalFields": {
"handle": "={{ $('get_analyzed_row2').item.json.SEL_url_handle }}",
"images": [],
"body_html": "={{ $('get_analyzed_row2').item.json.product_description }}",
"product_type": "={{ $('get_analyzed_row2').item.json.SEL_page_title }}"
}
},
"credentials": {
"shopifyAccessTokenApi": {
"id": "cWbUpQhRGFUOo8GG",
"name": "admin_flow_forge_art"
}
},
"typeVersion": 1
},
{
"id": "bd81c5a1-291a-48b6-a78a-d22db70fc27a",
"name": "Nota Adhesiva",
"type": "n8n-nodes-base.stickyNote",
"position": [
-5120,
2608
],
"parameters": {
"color": 3,
"width": 944,
"height": 1568,
"content": "# Digital Art to Shopify Automation\n\n## Overview :\nThis template automates the process of turning digital art files into fully structured Shopify products using n8n, OpenAI, Airtable, Google Drive, and Shopify. The workflow fetches raw digital artwork, analyzes it for categories and descriptions using AI, generates SEO-optimized product content, and posts it to Shopify.\n\n## Ideal for : \nDigital artists, print-on-demand sellers, e-commerce store managers, and anyone looking to automate Shopify product creation for digital art.\n\n## SEO Keywords : \nDigital art automation, Shopify product creation, n8n workflow template, AI image analysis, Airtable to Shopify integration, OpenAI product description generator, automated e-commerce workflow.\n\n\n\n# User Guide\nThis workflow automates image analysis, product detail generation, and Shopify product posting.\n\n---\n## Step 1: Upload Images\n- Upload your digital artwork or poster images to **Google Drive**. \n- In **Airtable Raw Image Table**, add new entries with:\n - `drive_file_id` → Google Drive file ID \n - `status` → set as `Unused` \n\n---\n## Step 2: Image Analysis (Subworkflow 1)\n- Fetch `Unused` images from Airtable. \n- Download images from Google Drive. \n- AI analyzes images to extract:\n - Characters\n - Series\n - Poster text\n - Style\n - Category\n - Visual mood \n- Updates analyzed data back to Airtable. \n- Marks the image `Used` after processing. \n\n---\n## Step 3: Product Generation (Subworkflow 2)\n- Fetch analyzed image data from Airtable. \n- Retrieve available Shopify collections for your store. \n- AI generates Shopify-ready product details:\n - `product_title`\n - `product_description` (SEO-friendly, 4–6 sentences)\n - `product_category` and matched collection ID\n - SEO fields: `SEL_page_title`, `SEL_meta_description`, `SEL_url_handle` \n- Updates generated product details in Airtable and marks as `generated`. \n\n---\n## Step 4: Posting Products to Shopify\n- Fetch `generated` product details from Airtable. \n- Automatically create products in Shopify using the API. \n- Update Airtable product status to `posted` once successfully added. \n\n---\n## Step 5: Batch Processing & Automation\n- Workflow processes images and products in **batches** for efficiency. \n- Can be triggered automatically via schedule or webhook. \n"
},
"typeVersion": 1
},
{
"id": "fcb13329-e49e-4831-8a91-8fb6d1feccd1",
"name": "actualizar_estado_actualizacion_producto",
"type": "n8n-nodes-base.airtable",
"position": [
-2544,
3968
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "appYnPOyDUwImADqj",
"cachedResultUrl": "https://airtable.com/appYnPOyDUwImADqj",
"cachedResultName": "shopify_digital_product"
},
"table": {
"__rl": true,
"mode": "list",
"value": "tblalx8WQPAgA6VVY",
"cachedResultUrl": "https://airtable.com/appYnPOyDUwImADqj/tblalx8WQPAgA6VVY",
"cachedResultName": "product_details"
},
"columns": {
"value": {
"product_id": "={{ $('get_analyzed_row2').item.json.product_id }}",
"product_status": "posted"
},
"schema": [
{
"id": "id",
"type": "string",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "id",
"defaultMatch": true
},
{
"id": "drive_file_id",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "drive_file_id",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "product_id",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "product_id",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "product_title",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "product_title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "product_description",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "product_description",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "product_category",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "product_category",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "product_price",
"type": "number",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "product_price",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "SEL_page_title",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "SEL_page_title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "SEL_meta_description",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "SEL_meta_description",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "SEL_url_handle",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "SEL_url_handle",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "product_status",
"type": "options",
"display": true,
"options": [
{
"name": "generated",
"value": "generated"
},
{
"name": "posted",
"value": "posted"
}
],
"removed": false,
"readOnly": false,
"required": false,
"displayName": "product_status",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"product_id"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update"
},
"credentials": {
"airtableTokenApi": {
"id": "9vQPBWEQTviLi4pr",
"name": "n8n.verified@gmail.com_shopify_raw_digital_product_"
}
},
"typeVersion": 2.1
},
{
"id": "92d6bbc1-5b29-42fb-af8f-a2dd3394fa4f",
"name": "Nota Adhesiva1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-4128,
2608
],
"parameters": {
"width": 2096,
"height": 752,
"content": "# Digital Image Analysis\n\n## Purpose:\nAutomatically fetch raw digital images, analyze their content using AI, and update the results in Airtable for further processing.\n\n## How It Works:\nThis workflow retrieves all unused images from Airtable, downloads them from Google Drive, and uses an AI model to analyze key details \nlike characters, series, category, poster text, and type. After analysis, the results are updated back into Airtable, and images are \nmarked as processed, creating a seamless loop for continuous image handling."
},
"typeVersion": 1
},
{
"id": "8609bce8-b6ce-42dc-9b60-9032a024c89b",
"name": "Nota Adhesiva2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-4128,
3408
],
"parameters": {
"width": 2096,
"height": 768,
"content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n# Shopify Product Creation\n\n## Purpose:\nConvert AI-analyzed image data into structured Shopify product details and post them automatically to your Shopify store.\n\n## How It Works:\nHere we will fetch analyzed image data from Airtable.\nIt retrieves available Shopify collections to match products with the most relevant category.\n\n## AI (LLM) generates structured product details including:\n- Product title\n- Description (SEO-friendly and engaging)\n- Product category and matched collection ID\n- SEO metadata (page title, meta description, URL handle)\nGenerated product details are updated back into Airtable.\n\n## The workflow then posts the product to Shopify automatically.\nFinally, the workflow updates the product status in Airtable to indicate it has been posted.\n"
},
"typeVersion": 1
},
{
"id": "095edb67-2ee2-4c32-921a-fe5f5fa06c32",
"name": "Nota Adhesiva4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-5648,
2608
],
"parameters": {
"color": 6,
"width": 464,
"height": 912,
"content": "# Author Details\n\n## Manish Kumar\n### Expert Designer & Automation Engineer for Custom Shopify Apps\n\nI specialize in designing seamless customer experiences and automating workflows for Shopify, web, and business platforms. From custom apps integration to process optimization, my solutions empower teams to work smarter and scale faster.\n\n## Contact:\n### 📧 [manipritraj@gmail.com](mailto:manipritraj@gmail.com)\n### 📞 +91-9334888899\n\n"
},
"typeVersion": 1
}
],
"pinData": {
"get_analyzed_row2": [
{
"id": "recdAJ3GIepvodx2f",
"product_id": "mgc6pd12riar5y",
"createdTime": "2025-10-03T23:29:54.000Z",
"drive_file_id": "1FtIvbMF7TKO0F1KXK0IRsLavZvW869Pn",
"product_title": "Motivational Poster: Perseverance is the Key to Strength",
"SEL_page_title": "Perseverance is Key | Motivational Strength Poster",
"SEL_url_handle": "motivational-perseverance-strength-poster",
"product_status": "generated",
"product_category": "Best Sellers",
"product_description": "Unlock your potential with this powerful motivational poster featuring the timeless message: \"Perseverance is the key to strength.\" This inspiring piece serves as a daily reminder that true power comes from unwavering dedication and never giving up on your goals. Perfect for any aspiring individual, whether you're a student, professional, or simply seeking daily encouragement. Let its profound wisdom fuel your resolve and inspire you to overcome any challenge. Elevate your workspace, bedroom, or living area with this high-quality, thought-provoking design.\n",
"SEL_meta_description": "Inspire your journey with our 'Perseverance is the Key to Strength' motivational poster. A powerful reminder to stay strong and achieve your goals. Perfect for any space!"
}
]
},
"connections": {
"99d2c7d8-efe2-4e25-84b6-a50b9798fb69": {
"main": [
[
{
"node": "3ff30e4c-1797-4546-9597-f99204fc60b3",
"type": "main",
"index": 0
}
],
[
{
"node": "35bbe721-47d2-4173-b7f5-87dd6060c428",
"type": "main",
"index": 0
}
]
]
},
"0b5f1b3a-d6cf-4f23-ab48-dba15410d309": {
"main": [
[
{
"node": "e397c1fb-f707-4e12-9ce6-b34906a83b10",
"type": "main",
"index": 0
}
]
]
},
"d93982bc-9446-4bef-9a68-660a5df9b398": {
"main": [
[
{
"node": "1a60742b-efb1-42fd-9240-df477c61c295",
"type": "main",
"index": 0
}
]
]
},
"d5625b75-2a40-48ea-bfc3-b6d36bbb1741": {
"main": [
[
{
"node": "7271487c-0d69-4c2c-b062-97105d136a93",
"type": "main",
"index": 0
}
]
]
},
"1bff9b59-7e1a-49a0-9b8d-2b6be9788872": {
"main": [
[
{
"node": "2bab1d58-92eb-430a-8605-44e3b65c47e6",
"type": "main",
"index": 0
}
]
]
},
"b3733423-3cd6-4cfe-97c8-3b8ae35f0bcd": {
"main": [
[
{
"node": "160dc1d3-0181-4c4b-a678-1711b5974be9",
"type": "main",
"index": 0
}
]
]
},
"e397c1fb-f707-4e12-9ce6-b34906a83b10": {
"main": [
[
{
"node": "99f1edc0-d2d4-47a0-b240-1248b4a927a6",
"type": "main",
"index": 0
}
]
]
},
"eaa6025b-a015-4525-9bd0-578878301a9b": {
"ai_languageModel": [
[
{
"node": "7271487c-0d69-4c2c-b062-97105d136a93",
"type": "ai_languageModel",
"index": 0
},
{
"node": "124951f1-6d2b-4ffc-8bb6-63f9568ab0d9",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"252be6f6-0b62-4cd3-bafb-29e1a76190af": {
"main": [
[
{
"node": "5a4a23a4-d805-44f2-94e4-b12d4ce592d2",
"type": "main",
"index": 0
}
]
]
},
"2bab1d58-92eb-430a-8605-44e3b65c47e6": {
"main": [
[
{
"node": "252be6f6-0b62-4cd3-bafb-29e1a76190af",
"type": "main",
"index": 0
}
]
]
},
"fb027d2f-72b6-41df-b372-93c85ac22638": {
"main": [
[
{
"node": "eb39feb9-0052-467d-bc29-13aeb2592a9e",
"type": "main",
"index": 0
}
],
[
{
"node": "d735219d-c2ca-4ed3-9d95-54e0edcf7118",
"type": "main",
"index": 0
}
]
]
},
"7271487c-0d69-4c2c-b062-97105d136a93": {
"main": [
[
{
"node": "64838bc3-8aac-4903-8c66-52e4c60c237b",
"type": "main",
"index": 0
}
]
]
},
"64b9d2e6-2b74-4505-9ce2-45d4f4559332": {
"main": [
[
{
"node": "fcb13329-e49e-4831-8a91-8fb6d1feccd1",
"type": "main",
"index": 0
}
]
]
},
"3ba9b580-69d6-4b31-89a0-21dec6f49ef3": {
"main": [
[
{
"node": "d5625b75-2a40-48ea-bfc3-b6d36bbb1741",
"type": "main",
"index": 0
}
]
]
},
"5abd0b24-2b29-4d69-9b4d-5a0564e4eb6d": {
"main": [
[
{
"node": "64b9d2e6-2b74-4505-9ce2-45d4f4559332",
"type": "main",
"index": 0
}
]
]
},
"160dc1d3-0181-4c4b-a678-1711b5974be9": {
"main": [
[
{
"node": "99d2c7d8-efe2-4e25-84b6-a50b9798fb69",
"type": "main",
"index": 0
}
]
]
},
"5a4a23a4-d805-44f2-94e4-b12d4ce592d2": {
"main": [
[
{
"node": "eb39feb9-0052-467d-bc29-13aeb2592a9e",
"type": "main",
"index": 0
}
]
]
},
"99f1edc0-d2d4-47a0-b240-1248b4a927a6": {
"main": [
[
{
"node": "53365348-0ce1-4cb4-b81f-782ac4d4488c",
"type": "main",
"index": 0
}
]
]
},
"35bbe721-47d2-4173-b7f5-87dd6060c428": {
"main": [
[
{
"node": "0b5f1b3a-d6cf-4f23-ab48-dba15410d309",
"type": "main",
"index": 0
}
]
]
},
"cf6a3a2b-af2a-46db-afe9-6a04e950a9d0": {
"main": [
[
{
"node": "5abd0b24-2b29-4d69-9b4d-5a0564e4eb6d",
"type": "main",
"index": 0
}
],
[
{
"node": "3ba9b580-69d6-4b31-89a0-21dec6f49ef3",
"type": "main",
"index": 0
}
]
]
},
"eb39feb9-0052-467d-bc29-13aeb2592a9e": {
"main": [
[
{
"node": "b3733423-3cd6-4cfe-97c8-3b8ae35f0bcd",
"type": "main",
"index": 0
}
],
[
{
"node": "1bff9b59-7e1a-49a0-9b8d-2b6be9788872",
"type": "main",
"index": 0
}
]
]
},
"64838bc3-8aac-4903-8c66-52e4c60c237b": {
"main": [
[
{
"node": "cf6a3a2b-af2a-46db-afe9-6a04e950a9d0",
"type": "main",
"index": 0
}
]
]
},
"79b254f4-ceb9-4685-ba62-5fab927b8009": {
"ai_outputParser": [
[
{
"node": "124951f1-6d2b-4ffc-8bb6-63f9568ab0d9",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"1a60742b-efb1-42fd-9240-df477c61c295": {
"main": [
[
{
"node": "fb027d2f-72b6-41df-b372-93c85ac22638",
"type": "main",
"index": 0
}
]
]
},
"53365348-0ce1-4cb4-b81f-782ac4d4488c": {
"main": [
[
{
"node": "cf6a3a2b-af2a-46db-afe9-6a04e950a9d0",
"type": "main",
"index": 0
}
]
]
},
"124951f1-6d2b-4ffc-8bb6-63f9568ab0d9": {
"ai_outputParser": [
[
{
"node": "7271487c-0d69-4c2c-b062-97105d136a93",
"type": "ai_outputParser",
"index": 0
}
]
]
}
}
}¿Cómo usar este flujo de trabajo?
Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.
¿En qué escenarios es adecuado este flujo de trabajo?
Avanzado - Creación de contenido, IA Multimodal
¿Es de pago?
Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.
Flujos de trabajo relacionados recomendados
MANISH KUMAR
@manipritrajAutomation Architect | n8n Expert I turn repetition into magic! Building workflows for: - Content creation (YouTube/social media) - Business ops (CRM/data pipelines) - Personal productivity (AI/smart home) Superpowers: API integrations • Debugging • Scalable solutions Featured: YouTube Shorts Automator • AI Report Generator • Custom ChatGPT+n8n "Automation should adapt to humans" 📧 manipritraj@gmail.com Fun fact: Automated my coffee+news+cat feeder! ☕🐈
Compartir este flujo de trabajo