Google Slides 프레젠테이션 자동 번역
고급
이것은Document Extraction, Multimodal AI분야의자동화 워크플로우로, 18개의 노드를 포함합니다.주로 Set, Code, Wait, SplitOut, GoogleDrive 등의 노드를 사용하며. Gemini 기반 AI를 활용하여 Google Slides 프레젠테이션을 원하는 언어로 자동 번역
사전 요구사항
- •Google Drive API 인증 정보
- •Google Gemini API Key
사용된 노드 (18)
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"id": "RsBtAMu8K66veIXY",
"meta": {
"instanceId": "a4bfc93e975ca233ac45ed7c9227d84cf5a2329310525917adaf3312e10d5462",
"templateCredsSetupCompleted": true
},
"name": "Auto-Translate Google Slides Presentation",
"tags": [],
"nodes": [
{
"id": "ebcadd07-05d8-4697-a3f7-e26c4bd45209",
"name": "워크플로우 '실행' 클릭 시",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-624,
-80
],
"parameters": {},
"typeVersion": 1
},
{
"id": "2b24ed35-54ec-4bbe-9679-727a7628c0ac",
"name": "프레젠테이션에서 슬라이드 가져오기",
"type": "n8n-nodes-base.googleSlides",
"position": [
80,
-80
],
"parameters": {
"operation": "getSlides",
"presentationId": "={{ $json.id }}"
},
"credentials": {
"googleSlidesOAuth2Api": {
"id": "HuT9vQXbjmHQ0YQD",
"name": "Google Slides account"
}
},
"typeVersion": 2
},
{
"id": "a1ccda01-d0b1-4434-a1dd-ca17c2a1179e",
"name": "Google Gemini 채팅 모델",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
400,
384
],
"parameters": {
"options": {}
},
"credentials": {
"googlePalmApi": {
"id": "AaNPKXAphyMzRgfA",
"name": "Google Gemini(PaLM) (Eure)"
}
},
"typeVersion": 1
},
{
"id": "9185e2de-fd63-47a6-b2b9-79d251a85140",
"name": "Google Slides 번역",
"type": "n8n-nodes-base.googleSlidesTool",
"position": [
752,
416
],
"parameters": {
"textUi": {
"textValues": [
{
"text": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('textValues0_Search_For', ``, 'string') }}",
"matchCase": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('textValues0_Match_Case', ``, 'boolean') }}",
"replaceText": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('textValues0_Replace_With', ``, 'string') }}",
"pageObjectIds": "={{ $('When Executed by Another Workflow').item.json.objectId }}"
}
]
},
"options": {},
"operation": "replaceText",
"presentationId": "={{ $('When Executed by Another Workflow').item.json.presentationId }}"
},
"credentials": {
"googleSlidesOAuth2Api": {
"id": "HuT9vQXbjmHQ0YQD",
"name": "Google Slides account"
}
},
"typeVersion": 2
},
{
"id": "5ee73a74-b554-489b-8ca2-861ae5afaea9",
"name": "분할",
"type": "n8n-nodes-base.splitOut",
"position": [
816,
-64
],
"parameters": {
"options": {},
"fieldToSplitOut": "extractTexts"
},
"typeVersion": 1
},
{
"id": "b2c99a24-48af-45e2-9420-a76a147e0f61",
"name": "워크플로우 실행",
"type": "n8n-nodes-base.executeWorkflow",
"position": [
1008,
-64
],
"parameters": {
"options": {},
"workflowId": {
"__rl": true,
"mode": "id",
"value": "RsBtAMu8K66veIXY"
},
"workflowInputs": {
"value": {
"lang": "={{ $('Set Language').item.json.lang }}",
"objectId": "={{ $('Extract Text').item.json.objectId }}",
"extractTexts": "={{ $json.extractTexts }}",
"presentationId": "={{ $('Duplicate presentation').item.json.id }}"
},
"schema": [
{
"id": "objectId",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "objectId",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "lang",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "lang",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "presentationId",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "presentationId",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "extractTexts",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "extractTexts",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": true,
"convertFieldsToString": true
}
},
"typeVersion": 1.2
},
{
"id": "a9682dde-b5d5-46de-92b3-861a459d9e16",
"name": "다른 워크플로우에 의해 실행될 때",
"type": "n8n-nodes-base.executeWorkflowTrigger",
"position": [
16,
208
],
"parameters": {
"inputSource": "jsonExample",
"jsonExample": "{\n \"objectId\": \"a string\",\n \"lang\": \"a string\",\n \"presentationId\": \"a string\",\n \"extractTexts\": \"a string\" \n}\n\n"
},
"typeVersion": 1.1
},
{
"id": "bd0f34c0-414f-43ac-b30c-751e21bd7f92",
"name": "프레젠테이션 복제",
"type": "n8n-nodes-base.googleDrive",
"position": [
-176,
-80
],
"parameters": {
"name": "=Presentation_{{ $json.lang }}_{{$now.format('yyyyLLddHHii')}}",
"fileId": {
"__rl": true,
"mode": "id",
"value": "=XXXXXXX"
},
"options": {},
"operation": "copy"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "HEy5EuZkgPZVEa9w",
"name": "Google Drive account (n3w.it)"
}
},
"typeVersion": 3
},
{
"id": "4d75421a-ee3a-4d80-9e8d-d42de564d879",
"name": "항목 반복",
"type": "n8n-nodes-base.splitInBatches",
"position": [
352,
-80
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "bb40c6fc-7f6e-401d-b8f1-e2240890b936",
"name": "텍스트 추출",
"type": "n8n-nodes-base.code",
"position": [
608,
-64
],
"parameters": {
"jsCode": "// Estrai i testi e restituisci anche l'objectId della slide\nconst results = [];\n\nfor (const item of $input.all()) {\n const objectId = item.json.objectId;\n const texts = [];\n\n const pageElements = item.json.pageElements || [];\n\n for (const element of pageElements) {\n const textElements = element?.shape?.text?.textElements || [];\n\n for (const textElement of textElements) {\n if (textElement.textRun?.content) {\n texts.push(textElement.textRun.content);\n }\n }\n }\n\n results.push({\n json: {\n objectId,\n extractTexts: texts\n }\n });\n}\n\nreturn results;\n"
},
"typeVersion": 2
},
{
"id": "475c9fef-ceb0-4cf6-a50f-568dd9fa8f56",
"name": "10초 대기",
"type": "n8n-nodes-base.wait",
"position": [
1184,
-64
],
"webhookId": "5ee20223-84d9-4812-8919-f189ac93f841",
"parameters": {
"amount": 10
},
"typeVersion": 1.1
},
{
"id": "09f07da1-e3e0-4193-8444-26d08d36687b",
"name": "3초 대기",
"type": "n8n-nodes-base.wait",
"position": [
832,
208
],
"webhookId": "9152728c-a3a1-4f0e-8571-b636b72acd5a",
"parameters": {
"amount": 3
},
"typeVersion": 1.1
},
{
"id": "07a95504-11c9-4aeb-b033-e97ea6b1959e",
"name": "번역 전문가",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
432,
208
],
"parameters": {
"text": "=Text to translate:\n{{ $json.extractTexts }}",
"options": {
"systemMessage": "=You are an expert Google Slides translator. Your primary function is to translate slides sent to you to {{ $json.lang }} (Code ISO-639) using the tool \"Translate language\" for better performs and then use the \"Translate Google Slide\" tool.\n\n## Translation Guidelines:\n\n**TRANSLATE:**\n- All text content in slides\n\n**DO NOT TRANSLATE:**\n- Email addresses (e.g., info@company.com)\n- Website URLs and links (e.g., www.example.it)\n- Physical addresses and locations\n- Phone numbers\n- Company names and brand names\n- Proper nouns (names of people, places, organizations)\n- Any other information that should remain in the original language\n\n## Process:\n1. Receive the Google Slides document\n2. Identify all text elements that require translation\n3. Use the \"Translate Google Slide\" tool to perform the translation from Italian to English\n4. Ensure proper context and professional tone in the English translation\n5. Maintain the original formatting and structure of the slides\n\n## Quality Standards:\n- Provide accurate, contextually appropriate translations\n- Maintain professional terminology and tone\n- Preserve the original meaning and intent\n- Ensure readability and flow in English"
},
"promptType": "define"
},
"typeVersion": 2.1
},
{
"id": "56236111-f91a-457b-a209-6ddd561fce2d",
"name": "언어 설정",
"type": "n8n-nodes-base.set",
"position": [
-416,
-80
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "534bdd67-f789-4064-9da5-f958a73c9f89",
"name": "lang",
"type": "string",
"value": "zh-CN"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "c4b91198-16a8-4f74-a014-77ace950442c",
"name": "언어 번역",
"type": "n8n-nodes-base.googleTranslateTool",
"position": [
592,
416
],
"parameters": {
"text": "={{ $json.extractTexts }}",
"translateTo": "={{ $json.lang }}"
},
"credentials": {
"googleTranslateOAuth2Api": {
"id": "182fiZUZeAOHI9Y5",
"name": "Google Translate account"
}
},
"typeVersion": 2
},
{
"id": "26e239f5-2035-4baa-a934-991f12ae82d2",
"name": "스티커 메모",
"type": "n8n-nodes-base.stickyNote",
"position": [
-640,
-688
],
"parameters": {
"color": 3,
"width": 784,
"height": 240,
"content": "## AI-Powered Auto-Translate Google Slides Presentation to any language\n\nThis workflow automates the **translation of Google Slides presentations** from **any languages**, while preserving the original formatting and slide structure. It leverages **Google APIs**, **AI translation (Gemini/PaLM)**, and modular execution for high flexibility and accuracy.\n\n**DISCLAIMER**: texts are split by Google Slides APIs into small blocks, so the translation will not always be contextualized."
},
"typeVersion": 1
},
{
"id": "d7fccf24-7d3a-45d8-b7cc-d33f63ec0219",
"name": "스티커 메모1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-640,
-416
],
"parameters": {
"width": 784,
"height": 112,
"content": "## STEP 1\nIMPORTANT: Set the \"Set Language\" node with the language you want to translate the presentation into, with the format [ISO-639](https://cloud.google.com/translate/docs/languages)"
},
"typeVersion": 1
},
{
"id": "263322f3-2059-41cd-88ec-4ccd5003c03c",
"name": "스티커 메모2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-640,
-272
],
"parameters": {
"width": 784,
"height": 112,
"content": "## STEP 2\nIn the node \"Duplicate presentation\" set up the presentation you want to translate"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "3b5ab2a4-83cc-4cd2-b0f3-e67088417c8e",
"connections": {
"5ee73a74-b554-489b-8ca2-861ae5afaea9": {
"main": [
[
{
"node": "b2c99a24-48af-45e2-9420-a76a147e0f61",
"type": "main",
"index": 0
}
]
]
},
"09f07da1-e3e0-4193-8444-26d08d36687b": {
"main": [
[]
]
},
"475c9fef-ceb0-4cf6-a50f-568dd9fa8f56": {
"main": [
[
{
"node": "4d75421a-ee3a-4d80-9e8d-d42de564d879",
"type": "main",
"index": 0
}
]
]
},
"bb40c6fc-7f6e-401d-b8f1-e2240890b936": {
"main": [
[
{
"node": "5ee73a74-b554-489b-8ca2-861ae5afaea9",
"type": "main",
"index": 0
}
]
]
},
"56236111-f91a-457b-a209-6ddd561fce2d": {
"main": [
[
{
"node": "bd0f34c0-414f-43ac-b30c-751e21bd7f92",
"type": "main",
"index": 0
}
]
]
},
"4d75421a-ee3a-4d80-9e8d-d42de564d879": {
"main": [
[],
[
{
"node": "bb40c6fc-7f6e-401d-b8f1-e2240890b936",
"type": "main",
"index": 0
}
]
]
},
"b2c99a24-48af-45e2-9420-a76a147e0f61": {
"main": [
[
{
"node": "475c9fef-ceb0-4cf6-a50f-568dd9fa8f56",
"type": "main",
"index": 0
}
]
]
},
"c4b91198-16a8-4f74-a014-77ace950442c": {
"ai_tool": [
[
{
"node": "07a95504-11c9-4aeb-b033-e97ea6b1959e",
"type": "ai_tool",
"index": 0
}
]
]
},
"07a95504-11c9-4aeb-b033-e97ea6b1959e": {
"main": [
[
{
"node": "09f07da1-e3e0-4193-8444-26d08d36687b",
"type": "main",
"index": 0
}
]
]
},
"bd0f34c0-414f-43ac-b30c-751e21bd7f92": {
"main": [
[
{
"node": "2b24ed35-54ec-4bbe-9679-727a7628c0ac",
"type": "main",
"index": 0
}
]
]
},
"9185e2de-fd63-47a6-b2b9-79d251a85140": {
"ai_tool": [
[
{
"node": "07a95504-11c9-4aeb-b033-e97ea6b1959e",
"type": "ai_tool",
"index": 0
}
]
]
},
"a1ccda01-d0b1-4434-a1dd-ca17c2a1179e": {
"ai_languageModel": [
[
{
"node": "07a95504-11c9-4aeb-b033-e97ea6b1959e",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"2b24ed35-54ec-4bbe-9679-727a7628c0ac": {
"main": [
[
{
"node": "4d75421a-ee3a-4d80-9e8d-d42de564d879",
"type": "main",
"index": 0
}
]
]
},
"a9682dde-b5d5-46de-92b3-861a459d9e16": {
"main": [
[
{
"node": "07a95504-11c9-4aeb-b033-e97ea6b1959e",
"type": "main",
"index": 0
}
]
]
},
"ebcadd07-05d8-4697-a3f7-e26c4bd45209": {
"main": [
[
{
"node": "56236111-f91a-457b-a209-6ddd561fce2d",
"type": "main",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
고급 - 문서 추출, 멀티모달 AI
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
내 인공지능 경기장 커뮤니티 경쟁
Qdrant, Mistral OCR, GPT-4를 사용하여 RAG 기반 질문 응답 시스템을 구축합니다.
Set
Code
Wait
+
Set
Code
Wait
41 노드Davide
콘텐츠 제작
Openrouter AI를 사용한 Google Slides 내 중영 번역 자동화
Openrouter AI를 사용한 Google Slides 내 중영 번역 자동화
Code
Wait
Split Out
+
Code
Wait
Split Out
13 노드Sebastian/OptiLever
문서 추출
Mistral OCR 기반의 완전한 RAG, PDF에서 시작합니다.
Mistral OCR, Qdrant, Gemini AI를 사용하여 PDF 문서 RAG 시스템을 구축합니다.
Set
Code
Wait
+
Set
Code
Wait
34 노드Davide
인공지능
WordPress 블로그 자동화 프로페셔널 에디션(심층 연구) v2.1 마켓
GPT-4o, Perplexity AI 및 다국어 지원을 사용한 SEO 최적화 블로그 생성 자동화
If
Set
Xml
+
If
Set
Xml
125 노드Daniel Ng
콘텐츠 제작
Gemini에서 Google Sheets로 자동화된 학술 논문 메타데이터 및 변수 추출
자동화된 학술 논문 메타데이터 및 변수 추출, Gemini에서 Google Sheets로
Set
Code
Wait
+
Set
Code
Wait
39 노드OwenLee
문서 추출
LinkedIn 및 X 바이럴 콘텐츠 자동 엔진
사용AI생성및게시자동생성LinkedIn및X의病毒콘텐츠
If
Set
Wait
+
If
Set
Wait
156 노드Diptamoy Barman
콘텐츠 제작
워크플로우 정보
난이도
고급
노드 수18
카테고리2
노드 유형15
저자
Davide
@n3witaliaFull-stack Web Developer based in Italy specialising in Marketing & AI-powered automations. For business enquiries, send me an email at info@n3w.it or add me on Linkedin.com/in/davideboizza
외부 링크
n8n.io에서 보기 →
이 워크플로우 공유