AI克隆Instagram热门Reel代理+自动发布
高级
这是一个Content Creation, Multimodal AI领域的自动化工作流,包含 21 个节点。主要使用 If, Wait, HttpRequest, Agent, OpenAi 等节点。 使用AI克隆创建并自动发布Instagram Reels:从脚本到发布(Heygen + Submagic + Blotato)
前置要求
- •可能需要目标 API 的认证凭证
- •OpenAI API Key
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"id": "YtobuRA2wN6ab8zd",
"meta": {
"instanceId": "1c7b08fed4406d546caf4a44e8b942ca317e7e207bb9a5701955a1a6e1ce1843",
"templateCredsSetupCompleted": true
},
"name": "AI Clone Instagram Viral Reel Agent + Autopost",
"tags": [],
"nodes": [
{
"id": "9d35c2c2-3c87-4fa6-b3ae-a27c3fa21d1f",
"name": "OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
208,
176
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "",
"cachedResultName": ""
},
"options": {}
},
"credentials": {},
"typeVersion": 1.2
},
{
"id": "f959f888-c721-4003-a0c7-830773f03c25",
"name": "When chat message received",
"type": "@n8n/n8n-nodes-langchain.chatTrigger",
"position": [
0,
0
],
"webhookId": "6cbd6a40-fb1a-4004-bca0-6a2873b3aaf9",
"parameters": {
"options": {}
},
"typeVersion": 1.3
},
{
"id": "993018fa-feff-4352-972c-9f57aed5ca23",
"name": "Post to Heygen",
"type": "n8n-nodes-base.httpRequest",
"position": [
560,
0
],
"parameters": {
"url": "https://api.heygen.com/v2/video/generate",
"method": "POST",
"options": {},
"jsonBody": "={\n \"video_inputs\": [\n {\n \"character\": {\n \"type\": \"avatar\",\n \"avatar_id\": \"56b7bf60959448f789bff62bd7b5ef48\",\n \"avatar_style\": \"normal\"\n },\n \"voice\": {\n \"type\": \"text\",\n \"input_text\": \"{{ $json.output }}\",\n \"voice_id\": \"0fcabc9607434b6385b4f5c6810c5b7a\",\n \"speed\": 1.1\n }\n }\n ],\n\"dimension\": { \"width\": 720, \"height\": 1280 }\n}",
"sendBody": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {},
"typeVersion": 4.2
},
{
"id": "33770860-f574-4c9c-8c64-c04380aae4bc",
"name": "Wait 30 Secs",
"type": "n8n-nodes-base.wait",
"position": [
768,
0
],
"webhookId": "4fa60c33-a2ee-480d-aa54-be326dafafcb",
"parameters": {
"amount": 30
},
"typeVersion": 1.1
},
{
"id": "0d19fdd9-c648-496b-aaa6-ccba09028435",
"name": "GET Result",
"type": "n8n-nodes-base.httpRequest",
"position": [
976,
0
],
"parameters": {
"url": "https://api.heygen.com/v1/video_status.get",
"options": {},
"sendQuery": true,
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"queryParameters": {
"parameters": [
{
"name": "",
"value": ""
}
]
}
},
"credentials": {},
"typeVersion": 4.2
},
{
"id": "a0ea782d-29b9-4af5-8376-d33b18874215",
"name": "If",
"type": "n8n-nodes-base.if",
"position": [
1184,
0
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "",
"operator": {
"name": "",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.data.status }}",
"rightValue": "completed"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "4dea5ac5-973e-49c0-b5e1-9a3f3c336a4a",
"name": "Wait Another 30 Secs",
"type": "n8n-nodes-base.wait",
"position": [
1216,
176
],
"webhookId": "28fcfecf-03e6-4de3-9236-bc06309f99bb",
"parameters": {
"amount": 30
},
"typeVersion": 1.1
},
{
"id": "3aed255c-1b1e-4b1e-b446-1a4fe8d4e69e",
"name": "Post to Submagic",
"type": "n8n-nodes-base.httpRequest",
"position": [
176,
464
],
"parameters": {
"url": "https://api.submagic.co/v1/projects",
"method": "POST",
"options": {},
"sendBody": true,
"authentication": "genericCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "",
"value": ""
},
{
"name": "",
"value": ""
},
{
"name": "",
"value": ""
},
{
"name": "",
"value": ""
}
]
},
"genericAuthType": "httpHeaderAuth"
},
"credentials": {},
"typeVersion": 4.2
},
{
"id": "fd3ebc70-09f4-465e-80d1-6e248b648874",
"name": "Get Captioned Video from Submagic",
"type": "n8n-nodes-base.httpRequest",
"position": [
576,
464
],
"parameters": {
"url": "=https://api.submagic.co/v1/projects/{{ $json.id }}",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {},
"typeVersion": 4.2
},
{
"id": "93fac899-2378-41ab-ba74-22ebe6f05780",
"name": "Wait 15 Secs",
"type": "n8n-nodes-base.wait",
"position": [
704,
688
],
"webhookId": "9f098a83-25e4-4db3-ab8b-14ebaf5a7d83",
"parameters": {
"amount": 15
},
"typeVersion": 1.1
},
{
"id": "3832e8fa-dd5e-438c-bfb1-a8cd4a16bf04",
"name": "Wait 15 Secs1",
"type": "n8n-nodes-base.wait",
"position": [
368,
464
],
"webhookId": "b373bfaa-1798-4553-a815-ef893dd10f15",
"parameters": {
"amount": 15
},
"typeVersion": 1.1
},
{
"id": "2b4f387d-8395-4374-9f1b-ac6de8529b72",
"name": "If1",
"type": "n8n-nodes-base.if",
"position": [
800,
464
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "",
"operator": {
"name": "",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.status }}",
"rightValue": "completed"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "d01faf37-a6f2-4dde-b7a0-eae89094f4ea",
"name": "Upload media",
"type": "@blotato/n8n-nodes-blotato.blotato",
"position": [
1040,
464
],
"parameters": {
"mediaUrl": "={{ $json.downloadUrl }}",
"resource": "media"
},
"credentials": {},
"typeVersion": 2
},
{
"id": "96273445-5a0f-46fd-ab6d-7d85332d95e8",
"name": "Create post",
"type": "@blotato/n8n-nodes-blotato.blotato",
"position": [
1664,
464
],
"parameters": {
"options": {
"instagramMediaType": "reel"
},
"accountId": {
"__rl": true,
"mode": "list",
"value": "",
"cachedResultUrl": "",
"cachedResultName": ""
},
"postContentText": "={{ $json.message.content }}",
"postContentMediaUrls": "={{ $('Upload media').item.json.url }}"
},
"credentials": {},
"typeVersion": 2
},
{
"id": "d3f149d2-cdb4-4e5e-8ef3-704cc8584e77",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
48,
400
],
"parameters": {
"color": 5,
"width": 944,
"height": 528,
"content": "Text Overlay Agent"
},
"typeVersion": 1
},
{
"id": "b07d245d-5ed4-4bc7-bdfe-f8b560647611",
"name": "Instagram Caption Agent",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
1248,
464
],
"parameters": {
"modelId": {
"__rl": true,
"mode": "list",
"value": "",
"cachedResultName": ""
},
"options": {},
"messages": {
"values": [
{
"content": "={{ $('Instagram Script Generator').item.json.output }}"
},
{
"role": "system",
"content": "=You are an Instagram Reel Caption Generator Agent.\nYou will receive a short-form Reel script as user input. Your task is to transform this into a scroll-stopping Instagram caption that maximizes engagement and virality.\n\nYour Objectives\n\nHook the Audience\n\nStart with a punchy, curiosity-driven first line to stop the scroll.\n\nUse rhetorical questions, bold claims, or surprising facts tied to the script.\n\nAdd Context & Value\n\nExpand briefly on the Reel topic (1–3 short sentences).\n\nEnsure it complements—not repeats—the script.\n\nProvide a quick takeaway, insight, or relatable statement.\n\nEngagement Call-to-Action (CTA)\n\nInvite comments, saves, and shares (e.g., “Which one would you try first?” or “Tag a friend who needs this”).\n\nKeep CTAs natural and aligned with the influencer’s style.\n\nHashtags\n\nAdd a mix of broad reach hashtags (#moneytips, #investing, #financialfreedom) and niche-specific hashtags (#personalfinancesimplified, #moneymindset).\n\nUse 8–15 highly relevant hashtags only (avoid clutter).\n\nTailor hashtags to personal finance + trending/viral growth.\n\nStyle Guidelines\n\nTone: conversational, authentic, slightly provocative (similar to podcast-style influencers like Steven Bartlett or Chris Williamson).\n\nKeep sentences short and easy to scan.\n\nUse line breaks to make the caption readable.\n\nAdd the occasional emoji to highlight emotion or draw attention (sparingly, 2–4 max).\n\nTotal length: 80–150 words (enough for depth, but not overwhelming).\n\nOutput Format\n\nCaption text (ready to post).\n\nHashtags block at the end (separated from caption with a line break or dots)."
}
]
}
},
"credentials": {},
"typeVersion": 1.8
},
{
"id": "7c1a535c-9cb9-4910-942c-1a232c9a2bd6",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
1008,
400
],
"parameters": {
"color": 4,
"width": 896,
"height": 528,
"content": "Post to Instagram"
},
"typeVersion": 1
},
{
"id": "fb863785-c0fd-42d5-8d4f-8a1e57d349d0",
"name": "Instagram Script Generator",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
208,
0
],
"parameters": {
"options": {
"systemMessage": "=You are an Instagram Reel Script Generator Agent.\nYour role is to take a topic or idea provided by the user and transform it into a short, compelling Instagram Reel script that hooks attention within the first 3 seconds and keeps the viewer engaged until the end.\n\nAudience & Persona\n\nYou are writing for an Instagram influencer in the personal finance niche.\n\nThe influencer’s style should reflect the conversational, thoughtful, and emotionally engaging approach of podcast-style creators like Steven Bartlett or Chris Williamson.\n\nThe tone should be: authentic, curious, slightly provocative, and always value-driven.\n\nOutput Requirements\n\nHook (Opening 1–2 sentences):\n\nMust grab attention immediately.\n\nCan use surprising facts, bold statements, or rhetorical questions.\n\nMain Content (Body):\n\nDeliver 1–3 clear, actionable insights or a thought-provoking perspective related to the finance topic.\n\nKeep sentences short and conversational, as if speaking directly to camera.\n\nUse relatable analogies, storytelling, or thought experiments to build engagement.\n\nClose (CTA/Takeaway):\n\nEnd with either:\n\na memorable one-liner, or\n\na soft call-to-action (e.g., “What do you think?” or “Follow for more insights like this”).\n\nStyle Guide\n\nWrite in a spoken voice, not academic prose.\n\nKeep it under 30 seconds of spoken word\n\nUse short paragraphs or line breaks to make it easy to read and perform.\n\nAvoid jargon unless it’s explained in simple terms.\n\nPrioritize emotional resonance + practical value over raw information.\n\n#Rules\nKeep it under 1500 characters\nOutput in one paragraph."
}
},
"typeVersion": 2.2
},
{
"id": "3a809732-f356-424a-b106-469cd6ad17f5",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
496,
-144
],
"parameters": {
"color": 3,
"width": 944,
"height": 528,
"content": "Create IG Reel with Personal Avatar"
},
"typeVersion": 1
},
{
"id": "b2d61d68-38c4-453f-8f6b-c1e4b7faf644",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-48,
-144
],
"parameters": {
"color": 6,
"width": 528,
"height": 528,
"content": "Trigger and Script"
},
"typeVersion": 1
},
{
"id": "e223ad26-a528-4d3d-85d2-bdba09472663",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1232,
-160
],
"parameters": {
"width": 1088,
"height": 1904,
"content": "AI Clone Instagram Reel Builder + Auto-Post (Heygen + Submagic + Blotato + n8n)\n\nDescription\nTurn an idea into a finished Instagram Reel—end to end, on autopilot.\nThis template generates a compelling Reel script, sends it to Heygen to produce an AI avatar/clone video, applies dynamic on-video captions with Submagic, then uploads and auto-posts to Instagram via Blotato, complete with a tailored AI-written caption. Ideal for creators, agencies, and brands who want consistent short-form output without manual editing.\n\n👉 Watch step-by-step automation builds on YouTube: https://youtu.be/MmZxLuAkqig?si=DRfS89yQlSlbMbfZ\n\nWhat This Template Does\n\n✍️ Generates a short-form Reel script from your topic/idea (optimized hook → body → close).\n\n🧑🎤 Creates an AI avatar video using Heygen (character + voice) from that script.\n\n🅰️ Adds stylized overlaid captions using Submagic (template selectable).\n\n☁️ Uploads media to Blotato and auto-posts to Instagram Reels.\n\n🧠 Writes an IG caption (with hashtags) using an AI Caption Agent tuned for engagement.\n\nHow It Works (Node Flow)\n\nChat Trigger – Send a topic/idea to start the run.\n\nInstagram Script Generator (Agent) – Creates a 25–30s script (hook → insights → soft CTA).\n\nPOST to Heygen – Generates an avatar video from the script (avatar_id, voice_id, size).\n\nWait & Poll – Checks Heygen status until the video is ready.\n\nPOST to Submagic – Creates a project and applies your caption style (e.g., “Hormozi 2”).\n\nWait & Poll – Retrieves the captioned video URL when completed.\n\nUpload media (Blotato) – Uploads the final video to your Blotato account.\n\nInstagram Caption Agent – Produces an on-brand IG caption + hashtag block from the original script.\n\nCreate Post (Blotato) – Publishes to Instagram as a Reel with the AI caption and uploaded media.\n\nRequired Credentials\n\nOpenAI (or compatible) – for script + caption agents.\n\nHeygen API – HTTP Header Auth (API key).\n\nSubmagic API – HTTP Header Auth (API key).\n\nBlotato API – Account + token.\n\n(Optional) KodeKey/Base URL if you route OpenAI-compatible models through your gateway.\n\nBest practice: store all secrets in n8n Credentials, not hard-coded in nodes.\n\nQuick Start\n\nImport the template into n8n.\n\nCreate/assign credentials for OpenAI (or compatible), Heygen, Submagic, and Blotato.\n\nIn Heygen, set your avatar_id and voice_id (or swap with your own).\n\nIn Submagic, set templateName, language, and style preferences.\n\nIn Blotato, confirm the accountId and instagramMediaType: reel.\n\nRun the workflow from the Chat Trigger with a topic (e.g., “3 money habits for 2025”).\n\nConfirm the Reel shows up in your connected Instagram account.\n\nCustomization Tips\n\nScript Persona: Adjust the agent system prompt (niche, tone, audience).\n\nCaption Style: Tweak the Caption Agent for hook length, CTAs, and hashtag strategy.\n\nHeygen Output: Change dimension to 1080×1920 for full-HD vertical.\n\nSubmagic Template: Swap templateName to match your brand.\n\nPosting Targets: Extend Blotato to cross-post to TikTok/YouTube Shorts.\n\nError Handling & Reliability\n\nUses Wait + status polling for both Heygen and Submagic before downstream steps.\n\nIncludes IF checks to re-poll when processing is not complete.\n\nRecommendation: add Slack/Email alerts and Retry options for production use.\n\nIdeal For\n\nSolo creators and founders posting daily\n\nSocial media managers and agencies\n\nEdu/Coach brands scaling short-form content"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "8b1880da-9612-4b99-b46d-67a6af185537",
"connections": {
"a0ea782d-29b9-4af5-8376-d33b18874215": {
"main": [
[
{
"node": "3aed255c-1b1e-4b1e-b446-1a4fe8d4e69e",
"type": "main",
"index": 0
}
],
[
{
"node": "4dea5ac5-973e-49c0-b5e1-9a3f3c336a4a",
"type": "main",
"index": 0
}
]
]
},
"2b4f387d-8395-4374-9f1b-ac6de8529b72": {
"main": [
[
{
"node": "d01faf37-a6f2-4dde-b7a0-eae89094f4ea",
"type": "main",
"index": 0
}
],
[
{
"node": "93fac899-2378-41ab-ba74-22ebe6f05780",
"type": "main",
"index": 0
}
]
]
},
"0d19fdd9-c648-496b-aaa6-ccba09028435": {
"main": [
[
{
"node": "a0ea782d-29b9-4af5-8376-d33b18874215",
"type": "main",
"index": 0
}
]
]
},
"d01faf37-a6f2-4dde-b7a0-eae89094f4ea": {
"main": [
[
{
"node": "b07d245d-5ed4-4bc7-bdfe-f8b560647611",
"type": "main",
"index": 0
}
]
]
},
"93fac899-2378-41ab-ba74-22ebe6f05780": {
"main": [
[
{
"node": "fd3ebc70-09f4-465e-80d1-6e248b648874",
"type": "main",
"index": 0
}
]
]
},
"33770860-f574-4c9c-8c64-c04380aae4bc": {
"main": [
[
{
"node": "0d19fdd9-c648-496b-aaa6-ccba09028435",
"type": "main",
"index": 0
}
]
]
},
"3832e8fa-dd5e-438c-bfb1-a8cd4a16bf04": {
"main": [
[
{
"node": "fd3ebc70-09f4-465e-80d1-6e248b648874",
"type": "main",
"index": 0
}
]
]
},
"993018fa-feff-4352-972c-9f57aed5ca23": {
"main": [
[
{
"node": "33770860-f574-4c9c-8c64-c04380aae4bc",
"type": "main",
"index": 0
}
]
]
},
"3aed255c-1b1e-4b1e-b446-1a4fe8d4e69e": {
"main": [
[
{
"node": "3832e8fa-dd5e-438c-bfb1-a8cd4a16bf04",
"type": "main",
"index": 0
}
]
]
},
"9d35c2c2-3c87-4fa6-b3ae-a27c3fa21d1f": {
"ai_languageModel": [
[
{
"node": "fb863785-c0fd-42d5-8d4f-8a1e57d349d0",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"4dea5ac5-973e-49c0-b5e1-9a3f3c336a4a": {
"main": [
[
{
"node": "0d19fdd9-c648-496b-aaa6-ccba09028435",
"type": "main",
"index": 0
}
]
]
},
"b07d245d-5ed4-4bc7-bdfe-f8b560647611": {
"main": [
[
{
"node": "96273445-5a0f-46fd-ab6d-7d85332d95e8",
"type": "main",
"index": 0
}
]
]
},
"fb863785-c0fd-42d5-8d4f-8a1e57d349d0": {
"main": [
[
{
"node": "993018fa-feff-4352-972c-9f57aed5ca23",
"type": "main",
"index": 0
}
]
]
},
"f959f888-c721-4003-a0c7-830773f03c25": {
"main": [
[
{
"node": "fb863785-c0fd-42d5-8d4f-8a1e57d349d0",
"type": "main",
"index": 0
}
]
]
},
"fd3ebc70-09f4-465e-80d1-6e248b648874": {
"main": [
[
{
"node": "2b4f387d-8395-4374-9f1b-ac6de8529b72",
"type": "main",
"index": 0
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
高级 - 内容创作, 多模态 AI
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
GPT-5 & Veo-3 Instagram视频生成器与自动发布
使用Google Veo-3 AI和GPT自动创建并发布社交媒体短视频
If
Wait
Http Request
+
If
Wait
Http Request
15 节点Automate With Marc
内容创作
Veo3 Instagram代理工作流
使用Veo3、GPT-4和Blotato自动生成并发布Instagram Reels
If
Set
Wait
+
If
Set
Wait
21 节点Automate With Marc
内容创作
组合式图像转视频助手
通过 Telegram、GPT-4.1 和 Seedance/Veo3 集成从图片生成视频
If
Wait
Telegram
+
If
Wait
Telegram
22 节点Automate With Marc
内容创作
💥 HeyGen II - 克隆我 - 从想法到发布:适用于 YouTube、TikTok 和 Instagram 的 GPT-5 视频自动化 - 视频
使用 HeyGen、GPT-5 和社交发布自动化语音输入视频创作
If
Set
Wait
+
If
Set
Wait
41 节点Dr. Firas
内容创作
3个Hackernews到AI克隆视频
使用Heygen和Blotato生成并自动发布科技新闻AI虚拟形象视频到社交媒体
If
Set
Wait
+
If
Set
Wait
30 节点Sabrina Ramonov 🍄
内容创作
💥 HeyGen - 从想法到发布:用于 YouTube、TikTok 和 Instagram 的 GPT-5 视频自动化 - 视频
使用 GPT-5 生成 AI 虚拟形象视频并发布至社交媒体平台
If
Set
Wait
+
If
Set
Wait
41 节点Dr. Firas
内容创作
工作流信息
难度等级
高级
节点数量21
分类2
节点类型9
作者
Automate With Marc
@marconiAutomating Start-Up and Business processes. Helping non-techies understand and leverage Agentic AI with easy to understand step-by-step tutorials. Check out my educational content: https://www.youtube.com/@Automatewithmarc
外部链接
在 n8n.io 查看 →
分享此工作流