8
n8n 中文网amn8n.com

TikTok轮播复制器与翻译器

高级

这是一个Content Creation, Multimodal AI领域的自动化工作流,包含 21 个节点。主要使用 If, Wait, Gmail, SplitOut, Aggregate 等节点。 使用Gemini Vision和Midjourney自动翻译并重新创建TikTok轮播内容

前置要求
  • Google 账号和 Gmail API 凭证
  • 可能需要目标 API 的认证凭证
  • Google Sheets API 凭证
  • OpenAI API Key
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "X6VDrKCPuYTJ0C2N",
  "meta": {
    "instanceId": "f450cd0986d5bfb741d4d1b31068440b1642915c91f795fd72913ef923830e67",
    "templateCredsSetupCompleted": true
  },
  "name": "TikTok 轮播复制器与翻译器",
  "tags": [],
  "nodes": [
    {
      "id": "e4fd6e4d-dcaf-4f3d-9a43-a5d4c9a4cbff",
      "name": "每日 TikTok 检查",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        64,
        144
      ],
      "parameters": {
        "rule": {
          "interval": [
            {}
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "0f6cc537-4250-4bbe-a1d6-b3d664e91b0a",
      "name": "获取 TikTok RSS 源",
      "type": "n8n-nodes-base.httpRequest",
      "notes": "Replace USERNAME with target account. Alternative: use TikTok API if available",
      "position": [
        336,
        144
      ],
      "parameters": {
        "url": "https://www.tiktok.com/@USERNAME/rss",
        "options": {
          "response": {
            "response": {
              "responseFormat": "text"
            }
          }
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "ca4a910c-c14c-42be-97aa-dbd351446141",
      "name": "解析 RSS 源",
      "type": "n8n-nodes-base.moveBinaryData",
      "position": [
        656,
        144
      ],
      "parameters": {
        "mode": "jsonToBinary",
        "options": {}
      },
      "typeVersion": 1.1
    },
    {
      "id": "b4aed3a0-d173-4cde-b9af-069b11de4d3d",
      "name": "过滤:仅限3张图片的帖子",
      "type": "n8n-nodes-base.if",
      "position": [
        928,
        144
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "condition-carousel",
              "operator": {
                "type": "number",
                "operation": "equals"
              },
              "leftValue": "={{ $json.imageCount }}",
              "rightValue": 3
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "9ae70971-c546-46eb-8c2e-3e59aa5da694",
      "name": "分割图片",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        48,
        560
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "images"
      },
      "typeVersion": 1
    },
    {
      "id": "bfb111ff-7b4a-4826-9dfb-eab08413fff3",
      "name": "下载图片",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        480,
        560
      ],
      "parameters": {
        "url": "={{ $json.imageUrl }}",
        "options": {
          "response": {
            "response": {
              "responseFormat": "file"
            }
          }
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "492fa7f6-32aa-4047-a8c4-15a519875608",
      "name": "提取文本和布局(Gemini Vision)",
      "type": "@n8n/n8n-nodes-langchain.googleGemini",
      "position": [
        928,
        560
      ],
      "parameters": {
        "text": "Analyze this image and extract:\n1. All visible text overlays (exact text)\n2. Text position (top/center/bottom)\n3. Text style (bold, font size relative to image)\n4. Image type (emotional scene / product mockup / text excerpt)\n5. Main visual elements\n6. Color scheme\n\nReturn as structured JSON.",
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "models/gemini-2.5-flash"
        },
        "options": {},
        "resource": "image",
        "inputType": "binary",
        "operation": "analyze"
      },
      "credentials": {
        "googlePalmApi": {
          "id": "q1mooBuhMbhVtbDj",
          "name": "Gemini_ES_Demo"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "e6140758-3349-4944-8c6a-830fff40d768",
      "name": "创建 Midjourney 提示",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        464,
        944
      ],
      "parameters": {
        "text": "=Original Image Analysis:\n{{ $('Extract Text & Layout (Gemini Vision)').item.json.analysis }}\n\nTranslated Text:\n{{ $json.translatedText }}\n\nImage Type: {{ $('Extract Text & Layout (Gemini Vision)').item.json.imageType }}\n\nGenerate a Midjourney v6 prompt to recreate this image with:\n- Same composition and layout\n- Same emotional tone\n- Translated English text overlay in the same position\n- High quality, realistic style\n- Text should be: {{ $json.translatedText }}",
        "options": {
          "systemMessage": "You are an expert at creating detailed Midjourney prompts. Generate prompts that recreate the exact layout, emotion, and text positioning from the original image analysis."
        },
        "promptType": "define"
      },
      "typeVersion": 2.2
    },
    {
      "id": "fc9b7717-b143-4e7c-b2dc-b6287a329d88",
      "name": "OpenAI GPT-4",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        464,
        1088
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "dA4yXmsPbiF3QzqQ",
          "name": "OpenAi Xtwl"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "aa71c972-0469-4858-a2dd-ac52602ca9b9",
      "name": "生成新图片(Midjourney)",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        736,
        944
      ],
      "parameters": {
        "url": "https://api.midjourney.com/v1/imagine",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"prompt\": {{ JSON.stringify($json.output) }},\n  \"aspect_ratio\": \"9:16\"\n}",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "typeVersion": 4.2
    },
    {
      "id": "299b4233-3d17-4978-bbc7-0bf702cf4f7b",
      "name": "等待图像生成",
      "type": "n8n-nodes-base.wait",
      "position": [
        928,
        944
      ],
      "webhookId": "midjourney-callback-webhook",
      "parameters": {
        "resume": "webhook",
        "options": {},
        "httpMethod": "POST",
        "resumeUnit": "minutes",
        "resumeAmount": 5,
        "limitWaitTime": true
      },
      "typeVersion": 1.1
    },
    {
      "id": "1571ebe4-03e0-462e-add0-eb822bf47eab",
      "name": "合并3张图片",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        48,
        1376
      ],
      "parameters": {
        "options": {},
        "fieldsToAggregate": {
          "fieldToAggregate": [
            {
              "fieldToAggregate": "generatedImageUrl"
            },
            {
              "fieldToAggregate": "originalImageUrl"
            },
            {
              "fieldToAggregate": "translatedText"
            },
            {
              "fieldToAggregate": "imageType"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "e86bf189-f18b-4989-a3dd-de0a5493dde1",
      "name": "保存到审核表格",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        432,
        1376
      ],
      "parameters": {
        "columns": {
          "value": {
            "Date": "={{ $now.format('yyyy-MM-dd') }}",
            "Status": "Ready for Review",
            "Post URL": "={{ $json.originalPostUrl }}",
            "Image 1 - New": "={{ $json.generatedImageUrl[0] }}",
            "Image 2 - New": "={{ $json.generatedImageUrl[1] }}",
            "Image 3 - New": "={{ $json.generatedImageUrl[2] }}",
            "Image 1 - Text": "={{ $json.translatedText[0] }}",
            "Image 1 - Type": "={{ $json.generatedImageUrl[0].imageType }}",
            "Image 2 - Text": "={{ $json.translatedText[1] }}",
            "Image 2 - Type": "={{ $json.generatedImageUrl[1].imageType }}",
            "Image 3 - Text": "={{ $json.translatedText[2] }}",
            "Image 3 - Type": "={{ $json.generatedImageUrl[2].imageType }}",
            "Image 1 - Original": "={{ $json.originalImageUrl[0] }}",
            "Image 2 - Original": "={{ $json.originalImageUrl[1] }}",
            "Image 3 - Original": "={{ $json.originalImageUrl[2] }}"
          },
          "schema": [
            {
              "id": "Date",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": []
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0"
        },
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": "YOUR_GOOGLE_SHEET_ID"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "bNNrQVyG0f0LvHLl",
          "name": "xavtwl"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "79815f6e-db2e-4eef-8922-bf56d3b9f452",
      "name": "发送审核通知",
      "type": "n8n-nodes-base.gmail",
      "position": [
        832,
        1376
      ],
      "webhookId": "d1a92491-cde4-4629-aa05-e18fc0b7b34e",
      "parameters": {
        "message": "=<h2>Daily TikTok Carousel Generation Complete</h2>\n<p>A new 3-image carousel has been generated and is ready for your review.</p>\n<p><strong>View in Google Sheets:</strong> <a href=\"https://docs.google.com/spreadsheets/d/YOUR_SHEET_ID\">Review Dashboard</a></p>\n<hr>\n<h3>Preview:</h3>\n<ul>\n<li><strong>Image 1 ({{ $json.generatedImageUrl[0].imageType }}):</strong><br><img src=\"{{ $json.generatedImageUrl[0] }}\" width=\"300\"><br>Text: {{ $json.translatedText[0] }}</li>\n<li><strong>Image 2 ({{ $json.generatedImageUrl[1].imageType }}):</strong><br><img src=\"{{ $json.generatedImageUrl[1] }}\" width=\"300\"><br>Text: {{ $json.translatedText[1] }}</li>\n<li><strong>Image 3 ({{ $json.generatedImageUrl[2].imageType }}):</strong><br><img src=\"{{ $json.generatedImageUrl[2] }}\" width=\"300\"><br>Text: {{ $json.translatedText[2] }}</li>\n</ul>",
        "options": {},
        "subject": "🎨 New TikTok Carousel Ready for Review"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "EPh4P9lc8dnWzrou",
          "name": "XavDemo"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "abe01273-a4ef-4926-9d77-5d7873786742",
      "name": "监控部分",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        0
      ],
      "parameters": {
        "color": 2,
        "width": 1076,
        "height": 400,
        "content": "## 📱 TikTok 监控"
      },
      "typeVersion": 1
    },
    {
      "id": "cfc5514f-2172-46d4-9348-e94a7e484e35",
      "name": "分析部分",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        416
      ],
      "parameters": {
        "color": 3,
        "width": 1076,
        "height": 400,
        "content": "## 🔍 提取与分析"
      },
      "typeVersion": 1
    },
    {
      "id": "a542ce25-2347-4792-8609-93af68f1e95d",
      "name": "翻译部分",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        832
      ],
      "parameters": {
        "color": 4,
        "width": 388,
        "height": 400,
        "content": "## 🌐 翻译"
      },
      "typeVersion": 1
    },
    {
      "id": "a1b30c21-29d4-46ee-91ad-75ede44d0cfd",
      "name": "生成部分",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        400,
        832
      ],
      "parameters": {
        "color": 5,
        "width": 676,
        "height": 400,
        "content": "## 🎨 生成新图片"
      },
      "typeVersion": 1
    },
    {
      "id": "305f6492-6e4f-43f7-9695-23cf24218372",
      "name": "交付部分",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        1248
      ],
      "parameters": {
        "color": 6,
        "width": 1076,
        "height": 448,
        "content": "## ✅ 审核与交付"
      },
      "typeVersion": 1
    },
    {
      "id": "65f6dd0c-458d-46c1-bd66-0ed90967a665",
      "name": "设置指南",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -544,
        0
      ],
      "parameters": {
        "color": 7,
        "width": 528,
        "height": 1700,
        "content": "## 🎨 TikTok 轮播复制器与翻译器"
      },
      "typeVersion": 1
    },
    {
      "id": "e7a07314-0b19-4289-bdb2-9d43ff500014",
      "name": "翻译成英文",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        48,
        1008
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4",
          "cachedResultName": "GPT-4"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "content": "=Translate {{ JSON.stringify($json.extractedText) }} to english "
            }
          ]
        }
      },
      "credentials": {
        "openAiApi": {
          "id": "dA4yXmsPbiF3QzqQ",
          "name": "OpenAi Xtwl"
        }
      },
      "typeVersion": 1.8
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "57a0dde8-1ac1-4e44-9c15-933fdb097944",
  "connections": {
    "OpenAI GPT-4": {
      "ai_languageModel": [
        [
          {
            "node": "Create Midjourney Prompt",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Split Images": {
      "main": [
        [
          {
            "node": "Download Image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download Image": {
      "main": [
        [
          {
            "node": "Extract Text & Layout (Gemini Vision)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse RSS Feed": {
      "main": [
        [
          {
            "node": "Filter: Only 3-Image Posts",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Combine 3 Images": {
      "main": [
        [
          {
            "node": "Save to Review Sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Daily TikTok Check": {
      "main": [
        [
          {
            "node": "Fetch TikTok RSS Feed",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Save to Review Sheet": {
      "main": [
        [
          {
            "node": "Send Review Notification",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Translate to English": {
      "main": [
        [
          {
            "node": "Create Midjourney Prompt",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch TikTok RSS Feed": {
      "main": [
        [
          {
            "node": "Parse RSS Feed",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create Midjourney Prompt": {
      "main": [
        [
          {
            "node": "Generate New Image (Midjourney)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait for Image Generation": {
      "main": [
        [
          {
            "node": "Combine 3 Images",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter: Only 3-Image Posts": {
      "main": [
        [
          {
            "node": "Split Images",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate New Image (Midjourney)": {
      "main": [
        [
          {
            "node": "Wait for Image Generation",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Text & Layout (Gemini Vision)": {
      "main": [
        [
          {
            "node": "Translate to English",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。

这个工作流适合什么场景?

高级 - 内容创作, 多模态 AI

需要付费吗?

本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。

工作流信息
难度等级
高级
节点数量21
分类2
节点类型14
难度说明

适合高级用户,包含 16+ 个节点的复杂工作流

作者
Xavier Tai

Xavier Tai

@xaviertai

Hey 👋 I'm Xavier, founder of EasyScalers. I build AI automation systems with N8N for B2B companies. Check out my templates or hit me up in the forums if you need help with your workflows!

外部链接
在 n8n.io 查看

分享此工作流