TikTok-Karussell-Replikator und Übersetzer
Dies ist ein Content Creation, Multimodal AI-Bereich Automatisierungsworkflow mit 21 Nodes. Hauptsächlich werden If, Wait, Gmail, SplitOut, Aggregate und andere Nodes verwendet. Automatische Übersetzung und Neuerstellung von TikTok-Karussell-Inhalten mit Gemini Vision und Midjourney
- •Google-Konto + Gmail API-Anmeldedaten
- •Möglicherweise sind Ziel-API-Anmeldedaten erforderlich
- •Google Sheets API-Anmeldedaten
- •OpenAI API Key
Verwendete Nodes (21)
Kategorie
{
"id": "X6VDrKCPuYTJ0C2N",
"meta": {
"instanceId": "f450cd0986d5bfb741d4d1b31068440b1642915c91f795fd72913ef923830e67",
"templateCredsSetupCompleted": true
},
"name": "TikTok Carousel Replicator & Translator",
"tags": [],
"nodes": [
{
"id": "e4fd6e4d-dcaf-4f3d-9a43-a5d4c9a4cbff",
"name": "Tägliche TikTok-Prüfung",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
64,
144
],
"parameters": {
"rule": {
"interval": [
{}
]
}
},
"typeVersion": 1.2
},
{
"id": "0f6cc537-4250-4bbe-a1d6-b3d664e91b0a",
"name": "TikTok RSS-Feed abrufen",
"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-Feed parsen",
"type": "n8n-nodes-base.moveBinaryData",
"position": [
656,
144
],
"parameters": {
"mode": "jsonToBinary",
"options": {}
},
"typeVersion": 1.1
},
{
"id": "b4aed3a0-d173-4cde-b9af-069b11de4d3d",
"name": "Filter: Nur 3-Bild-Beiträge",
"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": "Bilder aufteilen",
"type": "n8n-nodes-base.splitOut",
"position": [
48,
560
],
"parameters": {
"options": {},
"fieldToSplitOut": "images"
},
"typeVersion": 1
},
{
"id": "bfb111ff-7b4a-4826-9dfb-eab08413fff3",
"name": "Bild herunterladen",
"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": "Text & Layout extrahieren (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-Prompt erstellen",
"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": "Neues Bild generieren (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": "Auf Bildgenerierung warten",
"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 Bilder kombinieren",
"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": "In Review-Tabelle speichern",
"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": "Review-Benachrichtigung senden",
"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": "Überwachungsbereich",
"type": "n8n-nodes-base.stickyNote",
"position": [
0,
0
],
"parameters": {
"color": 2,
"width": 1076,
"height": 400,
"content": "## 📱 TikTok Monitor\nDaily check for new carousel posts"
},
"typeVersion": 1
},
{
"id": "cfc5514f-2172-46d4-9348-e94a7e484e35",
"name": "Analysebereich",
"type": "n8n-nodes-base.stickyNote",
"position": [
0,
416
],
"parameters": {
"color": 3,
"width": 1076,
"height": 400,
"content": "## 🔍 Extract & Analyze\nOCR + Vision AI to extract text overlays and layout"
},
"typeVersion": 1
},
{
"id": "a542ce25-2347-4792-8609-93af68f1e95d",
"name": "Übersetzungsbereich",
"type": "n8n-nodes-base.stickyNote",
"position": [
0,
832
],
"parameters": {
"color": 4,
"width": 388,
"height": 400,
"content": "## 🌐 Translate\nAutomatic translation to English"
},
"typeVersion": 1
},
{
"id": "a1b30c21-29d4-46ee-91ad-75ede44d0cfd",
"name": "Generierungsbereich",
"type": "n8n-nodes-base.stickyNote",
"position": [
400,
832
],
"parameters": {
"color": 5,
"width": 676,
"height": 400,
"content": "## 🎨 Generate New Images\nAI-powered recreation with translated text"
},
"typeVersion": 1
},
{
"id": "305f6492-6e4f-43f7-9695-23cf24218372",
"name": "Auslieferungsbereich",
"type": "n8n-nodes-base.stickyNote",
"position": [
0,
1248
],
"parameters": {
"color": 6,
"width": 1076,
"height": 448,
"content": "## ✅ Review & Deliver\nOrganize results for client approval"
},
"typeVersion": 1
},
{
"id": "65f6dd0c-458d-46c1-bd66-0ed90967a665",
"name": "Einrichtungsanleitung",
"type": "n8n-nodes-base.stickyNote",
"position": [
-544,
0
],
"parameters": {
"color": 7,
"width": 528,
"height": 1700,
"content": "## 🎨 TikTok Carousel Replicator & Translator\nAn end-to-end automation system that monitors TikTok accounts for new 3-image carousel posts, extracts text overlays and visual layouts using AI vision analysis, translates content into English, and automatically regenerates brand-new carousel images ready for review and posting.\n\n### What It Does\nThis workflow eliminates the manual process of:\n- Daily monitoring for new carousel content\n- Screenshot capture and image extraction\n- Text transcription and translation\n- Layout recreation in design tools\n- Manual formatting and brand consistency checks\n\nInstead, it delivers **3 production-ready images to your inbox every morning**—complete with translated text, matched composition, and side-by-side comparisons for quick approval.\n\n### Key Features\n- **Automated Daily Monitoring** - Checks target TikTok accounts on schedule\n- **AI-Powered Vision Analysis** - Extracts text, layout, and composition with Gemini Vision\n- **Smart Translation** - Converts text to natural English while preserving intent\n- **Intelligent Image Generation** - Recreates carousels with Midjourney/DALL-E based on analyzed layouts\n- **Review Dashboard** - Organized Google Sheets with original vs. new comparisons\n- **Email Notifications** - Morning digest with clickable previews\n\n### Who It's For\nContent creators, social media managers, and marketing teams who need to adapt high-performing carousel content from other languages into English—without spending hours in Canva every day.\n\n### Time Saved\n**From 3+ hours of manual work → 2 minutes of review** per carousel set.\n\n### Workflow Breakdown\n**Monitor** → **Extract & Analyze** → **Translate** → **Generate** → **Review & Deliver**\n\nEach section runs automatically, processing images sequentially and delivering organized results to your review dashboard with email notifications.\n\n## 🚀 SETUP INSTRUCTIONS\n### Required Credentials:\n1. **Google Gemini API** - For vision analysis\n2. **Midjourney API** (or alternative: DALL-E, Stable Diffusion)\n3. **OpenAI API** - For prompt generation and translation enhancement\n4. **Google Sheets** - For review dashboard\n5. **Gmail** - For notifications\n\n### Configuration Steps:\n1. Replace `@USERNAME` in TikTok RSS node with target account\n2. Set your Google Sheet ID in \"Save to Review Sheet\" node\n3. Update email addresses in notification node\n4. Test with a single post before enabling daily schedule\n\n### Alternative Approaches:\n- Can use TikTok API instead of RSS (if available)\n- Can use Canva API instead of Midjourney for generation\n- Can integrate with Airtable for more advanced review workflows\n- Can add approval workflow with interactive buttons"
},
"typeVersion": 1
},
{
"id": "e7a07314-0b19-4289-bdb2-9d43ff500014",
"name": "Auf Englisch übersetzen",
"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": {
"fc9b7717-b143-4e7c-b2dc-b6287a329d88": {
"ai_languageModel": [
[
{
"node": "e6140758-3349-4944-8c6a-830fff40d768",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"9ae70971-c546-46eb-8c2e-3e59aa5da694": {
"main": [
[
{
"node": "bfb111ff-7b4a-4826-9dfb-eab08413fff3",
"type": "main",
"index": 0
}
]
]
},
"bfb111ff-7b4a-4826-9dfb-eab08413fff3": {
"main": [
[
{
"node": "492fa7f6-32aa-4047-a8c4-15a519875608",
"type": "main",
"index": 0
}
]
]
},
"ca4a910c-c14c-42be-97aa-dbd351446141": {
"main": [
[
{
"node": "b4aed3a0-d173-4cde-b9af-069b11de4d3d",
"type": "main",
"index": 0
}
]
]
},
"1571ebe4-03e0-462e-add0-eb822bf47eab": {
"main": [
[
{
"node": "e86bf189-f18b-4989-a3dd-de0a5493dde1",
"type": "main",
"index": 0
}
]
]
},
"e4fd6e4d-dcaf-4f3d-9a43-a5d4c9a4cbff": {
"main": [
[
{
"node": "0f6cc537-4250-4bbe-a1d6-b3d664e91b0a",
"type": "main",
"index": 0
}
]
]
},
"e86bf189-f18b-4989-a3dd-de0a5493dde1": {
"main": [
[
{
"node": "79815f6e-db2e-4eef-8922-bf56d3b9f452",
"type": "main",
"index": 0
}
]
]
},
"e7a07314-0b19-4289-bdb2-9d43ff500014": {
"main": [
[
{
"node": "e6140758-3349-4944-8c6a-830fff40d768",
"type": "main",
"index": 0
}
]
]
},
"0f6cc537-4250-4bbe-a1d6-b3d664e91b0a": {
"main": [
[
{
"node": "ca4a910c-c14c-42be-97aa-dbd351446141",
"type": "main",
"index": 0
}
]
]
},
"e6140758-3349-4944-8c6a-830fff40d768": {
"main": [
[
{
"node": "aa71c972-0469-4858-a2dd-ac52602ca9b9",
"type": "main",
"index": 0
}
]
]
},
"299b4233-3d17-4978-bbc7-0bf702cf4f7b": {
"main": [
[
{
"node": "1571ebe4-03e0-462e-add0-eb822bf47eab",
"type": "main",
"index": 0
}
]
]
},
"b4aed3a0-d173-4cde-b9af-069b11de4d3d": {
"main": [
[
{
"node": "9ae70971-c546-46eb-8c2e-3e59aa5da694",
"type": "main",
"index": 0
}
]
]
},
"aa71c972-0469-4858-a2dd-ac52602ca9b9": {
"main": [
[
{
"node": "299b4233-3d17-4978-bbc7-0bf702cf4f7b",
"type": "main",
"index": 0
}
]
]
},
"492fa7f6-32aa-4047-a8c4-15a519875608": {
"main": [
[
{
"node": "e7a07314-0b19-4289-bdb2-9d43ff500014",
"type": "main",
"index": 0
}
]
]
}
}
}Wie verwende ich diesen Workflow?
Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.
Für welche Szenarien ist dieser Workflow geeignet?
Experte - Content-Erstellung, Multimodales KI
Ist es kostenpflichtig?
Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.
Verwandte Workflows
Xavier Tai
@xaviertaiHey 👋 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!
Diesen Workflow teilen