이미지 메타데이터 태깅 자동화
중급
이것은AI분야의자동화 워크플로우로, 9개의 노드를 포함합니다.주로 Code, Merge, GoogleDrive, ConvertToFile, ExtractFromFile 등의 노드를 사용하며인공지능 기술을 결합하여 스마트 자동화를 구현합니다. AI 이미지 태깅 및 키워드를 이미지 파일에 쓰기 자동화
사전 요구사항
- •Google Drive API 인증 정보
- •OpenAI API Key
카테고리
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"id": "XbawQw3cvClu2wsx",
"meta": {
"instanceId": "1acdaec6c8e84424b4715cf41a9f7ec057947452db21cd2e22afbc454c8711cd",
"templateCredsSetupCompleted": true
},
"name": "Automated Image Metadata Tagging",
"tags": [],
"nodes": [
{
"id": "cd1dba71-345b-45ae-8110-4fb57291f363",
"name": "파일에서 추출",
"type": "n8n-nodes-base.extractFromFile",
"position": [
260,
180
],
"parameters": {
"options": {},
"operation": "binaryToPropery"
},
"typeVersion": 1
},
{
"id": "7973b64e-ae92-44c9-aa8e-002c32c25def",
"name": "파일로 변환",
"type": "n8n-nodes-base.convertToFile",
"position": [
920,
80
],
"parameters": {
"options": {},
"operation": "toBinary",
"sourceProperty": "data"
},
"typeVersion": 1.1
},
{
"id": "5fe13d4e-566b-459f-8830-f16829a34284",
"name": "이미지 내용 분석",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
260,
-40
],
"parameters": {
"text": "=Deliver a comma seperated list describing the content of this image.",
"modelId": {
"__rl": true,
"mode": "list",
"value": "chatgpt-4o-latest",
"cachedResultName": "CHATGPT-4O-LATEST"
},
"options": {},
"resource": "image",
"inputType": "base64",
"operation": "analyze"
},
"credentials": {
"openAiApi": {
"id": "EjchNb5GBqYh0Cqn",
"name": "OpenAi account"
}
},
"typeVersion": 1.8
},
{
"id": "876db6b5-6615-4e9d-8e1a-2d8220b2019f",
"name": "이미지 파일 다운로드",
"type": "n8n-nodes-base.googleDrive",
"position": [
-20,
60
],
"parameters": {
"fileId": {
"__rl": true,
"mode": "id",
"value": "={{ $json.id }}"
},
"options": {},
"operation": "download"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "s8l3OOBediUA645k",
"name": "Google Drive account"
}
},
"typeVersion": 3
},
{
"id": "47b32ddb-1929-4855-9131-078b562b3492",
"name": "트리거: Google 드라이브 폴더에 새 파일 추가됨",
"type": "n8n-nodes-base.googleDriveTrigger",
"position": [
-220,
60
],
"parameters": {
"event": "fileCreated",
"options": {},
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
},
"triggerOn": "specificFolder",
"folderToWatch": {
"__rl": true,
"mode": "list",
"value": "1WaIRWXcaeNViKmpW5IyQ3YGARWYdMg47",
"cachedResultUrl": "https://drive.google.com/drive/folders/1WaIRWXcaeNViKmpW5IyQ3YGARWYdMg47",
"cachedResultName": "EXIF"
}
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "s8l3OOBediUA645k",
"name": "Google Drive account"
}
},
"typeVersion": 1
},
{
"id": "85c6458a-7b2a-4eef-bf28-3b784e45f562",
"name": "Base64 코드에 메타데이터 기록",
"type": "n8n-nodes-base.code",
"position": [
720,
80
],
"parameters": {
"jsCode": "const tags = items[0].json.content.split(', ');\n\nconst xmpData = `<?xpacket begin=\"\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"XMP Core 5.1.2\">\n <rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n <rdf:Description rdf:about=\"\"\n xmlns:dc=\"http://purl.org/dc/elements/1.1/\"\n xmlns:xmp=\"http://ns.adobe.com/xap/1.0/\"\n xmlns:photoshop=\"http://ns.adobe.com/photoshop/1.0/\">\n <dc:creator></dc:creator>\n <dc:subject>\n <rdf:Bag>\n ${tags.map(tag => `<rdf:li>${tag}</rdf:li>`).join('\\n ')}\n </rdf:Bag>\n </dc:subject>\n <xmp:CreateDate>${new Date().toISOString()}</xmp:CreateDate>\n </rdf:Description>\n </rdf:RDF>\n</x:xmpmeta>\n<?xpacket end=\"w\"?>`;\n\nconst xmpHeader = Buffer.from([\n 0xFF, 0xE1,\n 0x00, 0x00,\n 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x6E, 0x73, 0x2E,\n 0x61, 0x64, 0x6F, 0x62, 0x65, 0x2E, 0x63, 0x6F, 0x6D, 0x2F,\n 0x78, 0x61, 0x70, 0x2F, 0x31, 0x2E, 0x30, 0x2F, 0x00\n]);\n\nconst xmpBuffer = Buffer.from(xmpData, 'utf8');\nconst imageBuffer = Buffer.from(items[0].json.data, 'base64');\nconst length = xmpHeader.length + xmpBuffer.length - 2;\nxmpHeader[2] = (length >> 8) & 0xFF;\nxmpHeader[3] = length & 0xFF;\n\nconst newImageData = Buffer.concat([\n imageBuffer.slice(0, 2),\n xmpHeader,\n xmpBuffer,\n imageBuffer.slice(2)\n]);\n\nitems[0].json.data = newImageData.toString('base64');\n\nreturn items;"
},
"typeVersion": 2,
"alwaysOutputData": true
},
{
"id": "1b86cadf-9f46-4980-a923-00577bfc59f4",
"name": "이미지 파일 업데이트",
"type": "n8n-nodes-base.googleDrive",
"position": [
1120,
80
],
"parameters": {
"fileId": {
"__rl": true,
"mode": "id",
"value": "={{ $('Download Image File').item.json.id }}"
},
"options": {},
"operation": "update",
"changeFileContent": true,
"newUpdatedFileName": "={{ $('Download Image File').item.json.name }}"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "s8l3OOBediUA645k",
"name": "Google Drive account"
}
},
"typeVersion": 3
},
{
"id": "10c97623-80b1-4e96-b5c5-243ef106b2e9",
"name": "스티키 노트1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-540,
240
],
"parameters": {
"width": 660,
"height": 680,
"content": "# Welcome to my Automated Image Metadata Tagging Workflow!\n\nThis workflow automatically analyzes the image content with the help of AI and writes it directly back into the image file as keywords.\n\n## This workflow has the following sequence:\n\n1. Google Drive trigger (scan for new files added in a specific folder)\n2. Download the added image file\n3. Analyse the content of the image and extract the file as Base64 code\n4. Merge Metadata and Base64 Code\n5. Code Node to write the Keywords into the Metadata (dc:subject)\n6. Convert to file and update the original file in the Google Drive folder\n\n## The following accesses are required for the workflow:\n- Google Drive: [Documentation](https://docs.n8n.io/integrations/builtin/credentials/google)\n- AI API access (e.g. via OpenAI, Anthropic, Google or Ollama)\n\nYou can contact me via LinkedIn, if you have any questions: https://www.linkedin.com/in/friedemann-schuetz"
},
"typeVersion": 1
},
{
"id": "d2bb1007-018d-4c6a-a458-ff8e79b6017c",
"name": "메타데이터와 Base64 코드 병합",
"type": "n8n-nodes-base.merge",
"position": [
520,
80
],
"parameters": {
"mode": "combine",
"options": {},
"combineBy": "combineByPosition"
},
"typeVersion": 3
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "46b58de4-da62-43a2-bb10-fc85ffb75115",
"connections": {
"7973b64e-ae92-44c9-aa8e-002c32c25def": {
"main": [
[
{
"node": "1b86cadf-9f46-4980-a923-00577bfc59f4",
"type": "main",
"index": 0
}
]
]
},
"cd1dba71-345b-45ae-8110-4fb57291f363": {
"main": [
[
{
"node": "d2bb1007-018d-4c6a-a458-ff8e79b6017c",
"type": "main",
"index": 1
}
]
]
},
"876db6b5-6615-4e9d-8e1a-2d8220b2019f": {
"main": [
[
{
"node": "5fe13d4e-566b-459f-8830-f16829a34284",
"type": "main",
"index": 0
},
{
"node": "cd1dba71-345b-45ae-8110-4fb57291f363",
"type": "main",
"index": 0
}
]
]
},
"5fe13d4e-566b-459f-8830-f16829a34284": {
"main": [
[
{
"node": "d2bb1007-018d-4c6a-a458-ff8e79b6017c",
"type": "main",
"index": 0
}
]
]
},
"85c6458a-7b2a-4eef-bf28-3b784e45f562": {
"main": [
[
{
"node": "7973b64e-ae92-44c9-aa8e-002c32c25def",
"type": "main",
"index": 0
}
]
]
},
"d2bb1007-018d-4c6a-a458-ff8e79b6017c": {
"main": [
[
{
"node": "85c6458a-7b2a-4eef-bf28-3b784e45f562",
"type": "main",
"index": 0
}
]
]
},
"47b32ddb-1929-4855-9131-078b562b3492": {
"main": [
[
{
"node": "876db6b5-6615-4e9d-8e1a-2d8220b2019f",
"type": "main",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
중급 - 인공지능
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
반려동물 가게 4
🐶 펫 샵 예약 AI 대리자
If
Set
Code
+
If
Set
Code
187 노드Bruno Dias
인공지능
이미지 메타데이터 태깅 자동화(커뮤니티 노드)
AI 이미지 태깅 및 키워드를 이미지에 쓰기 자동화 (커뮤니티 노드 통해)
Merge
Google Drive
Exif Data
+
Merge
Google Drive
Exif Data
7 노드Friedemann Schuetz
인공지능
基于AI의MIS에이전트
基于AI의관리信息系统에이전트
If
Set
Code
+
If
Set
Code
129 노드Kumar Shivam
지원
전사 평가기
DeepGram 및 GPT-4o를 사용한 오디오 대화 분석 및 시각화
Set
Code
Html
+
Set
Code
Html
54 노드RealSimple Solutions
인공지능
[템플릿] AI 반려동물 가게 v8
🐶 AI 펫 샵 어시스턴트 - GPT-4o, Google 캘린더 및 WhatsApp/Instagram/Facebook 통합
If
N8n
Set
+
If
N8n
Set
244 노드Amanda Benks
영업
트랜스크립션 평가자 V2
🔊 브라우저 녹음 오디오 전취와 AI 분석(Deepgram과 GPT-4o 사용)
Set
Code
Html
+
Set
Code
Html
54 노드RealSimple Solutions
인공지능