8
n8n 한국어amn8n.com

26. 제품-IA

고급

이것은자동화 워크플로우로, 18개의 노드를 포함합니다.주로 Set, Code, Filter, GoogleDrive, HttpRequest 등의 노드를 사용하며. 사용Gemini 2.5 Flash AI增强Google云端硬盘图像

사전 요구사항
  • Google Drive API 인증 정보
  • 대상 API의 인증 정보가 필요할 수 있음

카테고리

-
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
  "id": "CTqDPrpw33Mx1pP2",
  "meta": {
    "instanceId": "d1b9b74c805fea7fca1b903ee192d1d4090b516d3c254da86beb2f13b7c2ed2e",
    "templateCredsSetupCompleted": true
  },
  "name": "product-ia",
  "tags": [],
  "nodes": [
    {
      "id": "729ee875-0ba7-4a2a-95d7-fbd17efcb46f",
      "name": "항목 반복",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        -608,
        272
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "8d616ad2-1bd5-4754-86b6-309ddfbcd6e1",
      "name": "to base64",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        -192,
        288
      ],
      "parameters": {
        "options": {},
        "operation": "binaryToPropery"
      },
      "typeVersion": 1
    },
    {
      "id": "fadb23df-a7fa-421b-afd0-f3805e73577b",
      "name": "banana-request",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        0,
        288
      ],
      "parameters": {
        "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-image-preview:generateContent",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"generationConfig\": {\n    \"temperature\": 1,\n    \"topP\": 0.95,\n    \"responseModalities\": [\n      \"IMAGE\"    \n]\n  },\n  \"contents\": [\n    {\n      \"role\": \"user\",\n      \"parts\": [\n        {\n          \"text\": {{ JSON.stringify($('Loop Over Items').item.json.promt) }}\n        },\n        {\n          \"inline_data\": {\n            \"mime_type\": \"{{ $json.mime || 'image/jpeg' }}\",\n            \"data\": \"{{ $json.data }}\"\n          }\n        }\n      ]\n    }\n  ]\n}\n",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "googlePalmApi"
      },
      "credentials": {
        "googlePalmApi": {
          "id": "OA44Rx1BU13NCZ0K",
          "name": "Google Gemini(PaLM) Api account 2"
        }
      },
      "retryOnFail": true,
      "typeVersion": 4.2
    },
    {
      "id": "9e5f8617-2adc-48ff-8fa5-2e1615fc8bc8",
      "name": "config-data",
      "type": "n8n-nodes-base.set",
      "position": [
        480,
        80
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "1b7b1b4d-5816-4bf8-9a55-71228beb4158",
              "name": "name",
              "type": "string",
              "value": "={{ $json.name }}"
            },
            {
              "id": "de4eae64-9572-4f19-812e-207b279450e4",
              "name": "mimeType",
              "type": "string",
              "value": "={{ $json.mimeType }}"
            },
            {
              "id": "ae880747-407d-4dd1-8330-97ed5916da86",
              "name": "id",
              "type": "string",
              "value": "={{ $json.id }}"
            },
            {
              "id": "658e7776-e6c6-4f45-a72e-df6b25f578b8",
              "name": "promt",
              "type": "string",
              "value": "={{ $('promt').item.json.promt }}\n**no devuelvas texto, solo la imagen."
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "c1e9280b-0296-453a-a082-e04cc8e17238",
      "name": "파일 다운로드",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        -384,
        288
      ],
      "parameters": {
        "fileId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $json.id }}"
        },
        "options": {},
        "operation": "download"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "934ie2jZ0wmZ7EM4",
          "name": "google-drive-info@innovatex"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "0184b05e-caba-4633-8833-39d759444d2c",
      "name": "map-banana-response",
      "type": "n8n-nodes-base.set",
      "position": [
        192,
        288
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "6ad020c0-aabe-4687-a9e5-e26855038c2e",
              "name": "base64File",
              "type": "string",
              "value": "={{ ($json.candidates?.[0]?.content?.parts || [])\n     .find(p => p?.inlineData?.data)?.inlineData?.data\n   ?? '' }}\n"
            },
            {
              "id": "b8980368-9f10-4b99-91b2-426c0b5b10e5",
              "name": "",
              "type": "string",
              "value": ""
            }
          ]
        },
        "includeOtherFields": true
      },
      "typeVersion": 3.4
    },
    {
      "id": "2cbc4f5f-56a6-4924-80ac-36af06b7ea1a",
      "name": "to file",
      "type": "n8n-nodes-base.convertToFile",
      "position": [
        368,
        288
      ],
      "parameters": {
        "options": {
          "fileName": "={{ $('download-file').item.json.name }}"
        },
        "operation": "toBinary",
        "sourceProperty": "base64File"
      },
      "typeVersion": 1.1
    },
    {
      "id": "8e55ade0-e8dc-4191-a412-16ded6c8d45f",
      "name": "결과 업로드",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        528,
        288
      ],
      "parameters": {
        "name": "={{ $binary.data.fileName }}",
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive",
          "cachedResultUrl": "https://drive.google.com/drive/my-drive",
          "cachedResultName": "My Drive"
        },
        "options": {},
        "folderId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('destination_folder').item.json.id }}"
        }
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "934ie2jZ0wmZ7EM4",
          "name": "google-drive-info@innovatex"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "5a73c2f9-7958-4fe3-b1d8-48eec637bf0f",
      "name": "파일 가져오기",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -48,
        80
      ],
      "parameters": {
        "url": "https://www.googleapis.com/drive/v3/files",
        "options": {},
        "sendQuery": true,
        "authentication": "predefinedCredentialType",
        "queryParameters": {
          "parameters": [
            {
              "name": "q",
              "value": "='{{ $('origin_folder').item.json.id }}' in parents and trashed=false"
            },
            {
              "name": "fields",
              "value": "nextPageToken,files(id,name,mimeType,size,modifiedTime,webViewLink,webContentLink)"
            },
            {
              "name": "pageSize",
              "value": "1000"
            }
          ]
        },
        "nodeCredentialType": "googleDriveOAuth2Api"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "934ie2jZ0wmZ7EM4",
          "name": "google-drive-info@innovatex"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "2a5d63a0-1b12-4b47-b6b1-15455e09b7a5",
      "name": "필터",
      "type": "n8n-nodes-base.filter",
      "position": [
        288,
        80
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "9525fec4-05f1-43b0-a304-91664a8a524a",
              "operator": {
                "type": "string",
                "operation": "contains"
              },
              "leftValue": "={{ $json.mimeType }}",
              "rightValue": "image"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "3652eadc-654e-41a1-a244-339d2278c7a8",
      "name": "맵 테이블",
      "type": "n8n-nodes-base.code",
      "position": [
        112,
        80
      ],
      "parameters": {
        "jsCode": "// items[0].json.files => Array de archivos\nconst files = (items[0]?.json?.files) ?? [];\n\nreturn files.map(f => ({\n  json: {\n    id: f.id,\n    name: f.name,\n    mimeType: f.mimeType,\n    webContentLink: f.webContentLink,\n    webViewLink: f.webViewLink,\n    modifiedTime: f.modifiedTime,\n    // convierte size a número si viene como string\n    size: f.size ? Number(f.size) : null,\n  }\n}));\n"
      },
      "typeVersion": 2
    },
    {
      "id": "7e19951e-2b71-49a1-8028-be4b7a680d24",
      "name": "초기화",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -672,
        80
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "47703d0d-9a31-4772-ad71-ac41c0b7c066",
      "name": "프롬프트",
      "type": "n8n-nodes-base.set",
      "position": [
        -528,
        80
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "dd6f9abd-a587-46ec-8f52-df5090ade50d",
              "name": "promt",
              "type": "string",
              "value": "Agrega un fondo realista y limpio para un producto de pañales en la foto.|El entorno debe transmitir cuidado, suavidad y confort, resaltando al producto sin distraer.Usa fondos como:superficies de madera clara o blanca,telas suaves (algodón, manta, lino),habitaciones luminosas para bebé,Evita colores fuertes, saturados o demasiado oscuros.Mantén la atención en el pañal y que el fondo solo complemente.el producto debería ocupar el 90% del espacio."
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "c86cf75b-09fc-4a8c-b075-befcc0b1a786",
      "name": "원본 폴더",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        -368,
        80
      ],
      "parameters": {
        "limit": 1,
        "filter": {},
        "options": {},
        "resource": "fileFolder",
        "queryString": "imagenes_sin_procesar"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "qvPRrYD4jHBE3ENc",
          "name": "urbaser-folder"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "617bdb61-f68a-4cac-9b5c-2a582945110b",
      "name": "대상 폴더",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        -208,
        80
      ],
      "parameters": {
        "limit": 1,
        "filter": {},
        "options": {},
        "resource": "fileFolder",
        "queryString": "imagenes_sin_procesar"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "934ie2jZ0wmZ7EM4",
          "name": "google-drive-info@innovatex"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "c2dca6af-2c01-4ed3-a617-506358d0a2db",
      "name": "스티커 노트",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -464,
        -192
      ],
      "parameters": {
        "width": 880,
        "height": 96,
        "content": "1 – Overview\n\nThis workflow processes images from **Google Drive** using **Google Gemini**.\nFlow: Origin → Filter images → Download → Base64 → Gemini → New image → Upload to destination folder.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "03593940-5575-4717-b453-a2b61613855c",
      "name": "스티커 노트1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        48,
        -48
      ],
      "parameters": {
        "width": 368,
        "height": 96,
        "content": "Requirements\nActive credentials for Google Drive and Gemini API.\nOnly processes files where mimeType contains \"image\"."
      },
      "typeVersion": 1
    },
    {
      "id": "80dac2d0-e6db-4ac4-b486-83b325456156",
      "name": "스티커 노트2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -464,
        -48
      ],
      "parameters": {
        "width": 496,
        "height": 96,
        "content": "2 – Nodes to configure\npromt → edit the text with your instructions for Gemini (output style).\norigin_folder → in Search Query, set the name of the source folder.\ndestination_folder → in Search Query, set the name of the target folder."
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "bfd67920-168e-4b04-aa2d-545ad3063ce2",
  "connections": {
    "7e19951e-2b71-49a1-8028-be4b7a680d24": {
      "main": [
        [
          {
            "node": "47703d0d-9a31-4772-ad71-ac41c0b7c066",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "47703d0d-9a31-4772-ad71-ac41c0b7c066": {
      "main": [
        [
          {
            "node": "c86cf75b-09fc-4a8c-b075-befcc0b1a786",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2a5d63a0-1b12-4b47-b6b1-15455e09b7a5": {
      "main": [
        [
          {
            "node": "9e5f8617-2adc-48ff-8fa5-2e1615fc8bc8",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2cbc4f5f-56a6-4924-80ac-36af06b7ea1a": {
      "main": [
        [
          {
            "node": "8e55ade0-e8dc-4191-a412-16ded6c8d45f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "5a73c2f9-7958-4fe3-b1d8-48eec637bf0f": {
      "main": [
        [
          {
            "node": "3652eadc-654e-41a1-a244-339d2278c7a8",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3652eadc-654e-41a1-a244-339d2278c7a8": {
      "main": [
        [
          {
            "node": "2a5d63a0-1b12-4b47-b6b1-15455e09b7a5",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8d616ad2-1bd5-4754-86b6-309ddfbcd6e1": {
      "main": [
        [
          {
            "node": "fadb23df-a7fa-421b-afd0-f3805e73577b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9e5f8617-2adc-48ff-8fa5-2e1615fc8bc8": {
      "main": [
        [
          {
            "node": "729ee875-0ba7-4a2a-95d7-fbd17efcb46f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c1e9280b-0296-453a-a082-e04cc8e17238": {
      "main": [
        [
          {
            "node": "8d616ad2-1bd5-4754-86b6-309ddfbcd6e1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c86cf75b-09fc-4a8c-b075-befcc0b1a786": {
      "main": [
        [
          {
            "node": "617bdb61-f68a-4cac-9b5c-2a582945110b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8e55ade0-e8dc-4191-a412-16ded6c8d45f": {
      "main": [
        [
          {
            "node": "729ee875-0ba7-4a2a-95d7-fbd17efcb46f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "fadb23df-a7fa-421b-afd0-f3805e73577b": {
      "main": [
        [
          {
            "node": "0184b05e-caba-4633-8833-39d759444d2c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "729ee875-0ba7-4a2a-95d7-fbd17efcb46f": {
      "main": [
        [],
        [
          {
            "node": "c1e9280b-0296-453a-a082-e04cc8e17238",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "617bdb61-f68a-4cac-9b5c-2a582945110b": {
      "main": [
        [
          {
            "node": "5a73c2f9-7958-4fe3-b1d8-48eec637bf0f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "0184b05e-caba-4633-8833-39d759444d2c": {
      "main": [
        [
          {
            "node": "2cbc4f5f-56a6-4924-80ac-36af06b7ea1a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
자주 묻는 질문

이 워크플로우를 어떻게 사용하나요?

위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.

이 워크플로우는 어떤 시나리오에 적합한가요?

고급

유료인가요?

이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.

워크플로우 정보
난이도
고급
노드 수18
카테고리-
노드 유형10
난이도 설명

고급 사용자를 위한 16+개 노드의 복잡한 워크플로우

외부 링크
n8n.io에서 보기

이 워크플로우 공유

카테고리

카테고리: 34