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 Chat Model",
"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 スライドを翻訳",
"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ベースのQ&Aシステムの構築
Set
Code
Wait
+
Set
Code
Wait
41 ノードDavide
コンテンツ作成
Google SlidesでのOpenrouter AIによる中英翻訳の自動化
Google Slidesでのオープンドラウザ AI を使用した中日翻訳の自動化
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で表示 →
このワークフローを共有