💥 使用 NanoBanana 和 Seedance 创建病毒式广告,通过 upload-post 在社交媒体发布 VIDE II
高级
这是一个Miscellaneous、Multimodal AI领域的自动化工作流,包含 45 个节点。主要使用 If、Set、Code、Wait、Telegram 等节点。 使用 AI 创建病毒式多媒体广告:NanoBanana、Seedance 和 Suno 用于社交媒体
前置要求
- •Telegram Bot Token
- •Google Drive API 凭证
- •可能需要目标 API 的认证凭证
- •Google Sheets API 凭证
- •OpenAI API Key
使用的节点 (45 个)
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"id": "9Ts6qVznkrvr6G0h",
"meta": {
"instanceId": "a2b23892dd6989fda7c1209b381f5850373a7d2b85609624d7c2b7a092671d44",
"templateCredsSetupCompleted": true
},
"name": "💥 使用 NanoBanana 和 Seedance 创建病毒式广告,通过 upload-post 在社交媒体发布 VIDE II",
"tags": [],
"nodes": [
{
"id": "e8ef42d0-825f-43a3-91a3-6f0921f77fcd",
"name": "Telegram:获取图片文件",
"type": "n8n-nodes-base.telegram",
"position": [
-768,
-144
],
"webhookId": "7270a625-b35a-4c3d-824e-e9d98cbe793f",
"parameters": {
"fileId": "={{ $json.message.photo[2].file_id }}",
"resource": "file",
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "3mty87fduTdA6SKM",
"name": "Telegram account 13 - nanobanana II"
}
},
"typeVersion": 1.2
},
{
"id": "d768709c-4dd1-4698-a653-5aafd58e2126",
"name": "Google Drive:上传图片",
"type": "n8n-nodes-base.googleDrive",
"position": [
-512,
-144
],
"parameters": {
"name": "={{ $('Trigger: Receive Idea via Telegram').item.json.message.photo[2].file_unique_id }}",
"driveId": {
"__rl": true,
"mode": "id",
"value": "="
},
"options": {},
"folderId": {
"__rl": true,
"mode": "id",
"value": "="
}
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "gzeHMd64HAz6HBIe",
"name": "Google Drive account"
}
},
"typeVersion": 3
},
{
"id": "657506bc-4d83-4b76-938a-eb649601c639",
"name": "LLM:结构化输出解析器",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
320,
192
],
"parameters": {
"jsonSchemaExample": "{\n\t\"image_prompt\": \"string\"\n}"
},
"typeVersion": 1.3
},
{
"id": "9cf13394-f27b-4c28-9894-695cb705d1be",
"name": "LLM:OpenAI 聊天",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
80,
192
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-5-mini",
"cachedResultName": "gpt-5-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "6h3DfVhNPw9I25nO",
"name": "OpenAi account"
}
},
"typeVersion": 1.2
},
{
"id": "ebaf73ce-731e-4e06-bf55-f15f18e101fe",
"name": "生成图片提示",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
144,
-64
],
"parameters": {
"text": "=Your task is to create an image prompt following the system guidelines. \nEnsure that the reference image is represented as **accurately as possible**, including all text elements. \n\nUse the following inputs: \n\n- **User’s description:** \n{{ $json.imagePrompt }}\n\n\nInclude optional overlay text in serif font in small font size:\n\"{{ $json.textOverlay }}\"\nCRITICAL: Stack the text in 4 SHORT LINES centered in the middle\nof the image. Each line must be very short to avoid cropping when\nconverted to 9:16. Keep all text in the center 40% of image\nwidth.",
"options": {
"systemMessage": "=ROLE: UGC Image Prompt Builder \n\nGOAL: \nGenerate one concise, natural, and realistic image prompt (≤120 words) from a given product or reference image. The prompt must simulate authentic UGC (user-generated content) photography. \n\nRULES: \nYou must always create a professional background for the product image. You must never return the image with a plain white or empty background. The background must always enhance and highlight the product in the photo.\n\n- Always output **one JSON object only** with the key: \n - `image_prompt`: (string with full description) \n- Do **not** add commentary, metadata, or extra keys. JSON only. \n- User node think to be creative\n\nSTYLE GUIDELINES: \n- Tone: casual, unstaged, lifelike, handheld snapshot. \n- Camera cues: include at least 2–3 (e.g., phone snapshot, handheld framing, off-center composition, natural indoor light, soft shadows, slight motion blur, auto exposure, unpolished look, mild grain). \n- Realism: embrace imperfections (wrinkles, stray hairs, skin texture, clutter, smudges). \n- Packaging/Text: preserve exactly as visible. Never invent claims, numbers, or badges. \n- Diversity: if people appear but are unspecified, vary gender/ethnicity naturally; default age range = 21–38. \n- Setting: default to real-world everyday spaces (home, street, store, gym, office). \n- User node think to be creative\nYou must always create a professional background for the product image. You must never return the image with a plain white or empty background. The background must always enhance and highlight the product in the photo.\n\nSAFETY: \n- No copyrighted character names. \n- No dialogue or scripts. Only describe scenes. \n\nOUTPUT CONTRACT: \n- JSON only, no prose outside. \n- Max 120 words in `image_prompt`. \n- Must cover: subject, action, mood, setting, background, style/camera, colors, and text accuracy. \n\nCHECKLIST BEFORE OUTPUT: \n- Natural handheld tone? \n- At least 2 camera cues included? \n- Product text preserved exactly? \n- Only JSON returned? \n\n--- \n\n### Example \n\nGood Example : \n```json\n{ \"image_prompt\": \"a young adult casually holding a skincare tube near a bathroom mirror; action: dabs small amount on the back of the hand; mood: easy morning; setting: small apartment bathroom with towel on rack and toothbrush cup; background: professional-looking bathroom scene that enhances the product, never plain white or empty, always styled to highlight the tube naturally; style/camera: phone snapshot, handheld framing, off-center composition, natural window light, slight motion blur, mild grain; colors: soft whites and mint label; text accuracy: keep every word on the tube exactly as visible, no added claims\" }\n"
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 2.2
},
{
"id": "9d0412cc-55cf-437f-a2aa-87f8a02f52a6",
"name": "NanoBanana:创建图片",
"type": "n8n-nodes-base.httpRequest",
"position": [
480,
-64
],
"parameters": {
"url": "https://queue.fal.run/fal-ai/nano-banana/edit",
"method": "POST",
"options": {},
"jsonBody": "={\n\t\"prompt\": \"{{ $json.output.image_prompt.replace(/\\\"/g, '\\\\\\\"').replace(/\\n/g, '\\\\n') }}\",\n\"image_urls\": [\"{{ $('Google Drive: Upload Image').item.json.webContentLink }}\"]\n\n}",
"sendBody": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "kNULkYDcOZG3X0be",
"name": "Fal.ai"
}
},
"typeVersion": 4.2
},
{
"id": "38e06e0c-ffd0-42fd-b6bb-1903931d43d1",
"name": "等待图片编辑",
"type": "n8n-nodes-base.wait",
"position": [
704,
-64
],
"webhookId": "f2439e01-c63f-43a3-ae88-4f329a405c37",
"parameters": {
"amount": 2
},
"typeVersion": 1.1
},
{
"id": "8cb4ec4e-1d1f-4f6b-89d0-4dcb294d85a8",
"name": "下载编辑后的图片",
"type": "n8n-nodes-base.httpRequest",
"position": [
704,
192
],
"parameters": {
"url": "={{ $json.response_url }}",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "kNULkYDcOZG3X0be",
"name": "Fal.ai"
}
},
"typeVersion": 4.2
},
{
"id": "ea09e08d-f71c-485b-8420-ac045d2827e9",
"name": "便签说明4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1072,
384
],
"parameters": {
"width": 1020,
"height": 320,
"content": "# 🟢 步骤 4 — 使用 Seedance 生成产品视频"
},
"typeVersion": 1
},
{
"id": "271188a5-fcd6-43fb-b382-c53e3833213e",
"name": "等待渲染",
"type": "n8n-nodes-base.wait",
"position": [
-752,
512
],
"webhookId": "3ec9fd26-3bd2-438e-8918-dc2a179389e3",
"parameters": {
"amount": 20
},
"typeVersion": 1.1
},
{
"id": "c32d6586-6730-404d-9d82-eb782e32fa12",
"name": "从 Seedance 下载视频",
"type": "n8n-nodes-base.httpRequest",
"position": [
-496,
512
],
"parameters": {
"url": "=https://api.kie.ai/api/v1/jobs/recordInfo?taskId={{ $json.data.taskId }}",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "ho8ZjaYj1SY0icGT",
"name": "Kie AI"
}
},
"typeVersion": 4.2
},
{
"id": "d65291c2-25e3-47a1-a28e-4db5b085befc",
"name": "便签说明",
"type": "n8n-nodes-base.stickyNote",
"position": [
-16,
384
],
"parameters": {
"width": 908,
"height": 320,
"content": "# 🟢 步骤 5 — 使用 Suno 生成背景音乐"
},
"typeVersion": 1
},
{
"id": "37fa5194-f024-4501-b671-8379328813bd",
"name": "便签说明5",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1072,
-224
],
"parameters": {
"width": 1020,
"height": 288,
"content": "# 🟢 步骤 1 — 输入"
},
"typeVersion": 1
},
{
"id": "02a0927c-5fc3-48b0-be1c-de72d50ece24",
"name": "便签 6",
"type": "n8n-nodes-base.stickyNote",
"position": [
-16,
-224
],
"parameters": {
"width": 908,
"height": 576,
"content": "# 🟢 步骤 2 — 生成产品图片"
},
"typeVersion": 1
},
{
"id": "620bd3a5-d7bd-46fc-a955-af7a1fd9e71b",
"name": "便签 7",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1072,
80
],
"parameters": {
"color": 5,
"width": 1020,
"height": 272,
"content": "# 🟢 步骤 3 — 在 Instagram 和 X 上发布产品图片"
},
"typeVersion": 1
},
{
"id": "61f952e4-b77f-44fd-9076-effe6e30a5ac",
"name": "便签8",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1072,
736
],
"parameters": {
"width": 1964,
"height": 320,
"content": "# 🟢 步骤 6 — 合并视频和音频为最终广告"
},
"typeVersion": 1
},
{
"id": "68433349-3fce-4a26-9889-d79eb0ff8dec",
"name": "便签 9",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1072,
1088
],
"parameters": {
"color": 5,
"width": 1964,
"height": 336,
"content": "# 🟢 步骤 7 — 在社交媒体上发布最终广告"
},
"typeVersion": 1
},
{
"id": "06b3d1aa-90df-4ca0-ac5e-732cce1a6f3a",
"name": "通过 Telegram 发送视频 URL",
"type": "n8n-nodes-base.telegram",
"position": [
-128,
1184
],
"webhookId": "d18e9567-ca34-49fe-968b-4c950b75bfed",
"parameters": {
"text": "=Url VIDEO : {{ $json['URL FINAL VIDEO'] }}",
"chatId": "={{ $node[\"Trigger: Receive Idea via Telegram\"].json.message.chat.id }}\n",
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "3mty87fduTdA6SKM",
"name": "Telegram account 13 - nanobanana II"
}
},
"typeVersion": 1.2
},
{
"id": "54650c76-a045-40a3-8aa1-9e96a2cab303",
"name": "发送最终视频预览",
"type": "n8n-nodes-base.telegram",
"position": [
80,
1184
],
"webhookId": "fe371505-fc1f-46de-8d03-098e4744617a",
"parameters": {
"file": "={{ $('Save Ad Data to Google Sheets').item.json['URL FINAL VIDEO'] }}",
"chatId": "={{ $json.result.chat.id }}",
"operation": "sendVideo",
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "3mty87fduTdA6SKM",
"name": "Telegram account 13 - nanobanana II"
}
},
"typeVersion": 1.2
},
{
"id": "06d8b993-88a7-4c72-bd87-b18afe7de32a",
"name": "Telegram:发送通知",
"type": "n8n-nodes-base.telegram",
"position": [
704,
1184
],
"webhookId": "51d2c6a2-88a2-4879-b81b-b2a6ba9ac710",
"parameters": {
"text": "Published",
"chatId": "={{ $node[\"Trigger: Receive Idea via Telegram\"].json.message.chat.id }}\n",
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "3mty87fduTdA6SKM",
"name": "Telegram account 13 - nanobanana II"
}
},
"typeVersion": 1.2
},
{
"id": "efc613ab-75d1-4676-8903-ac2f8f4ea428",
"name": "触发器:通过 Telegram 接收创意",
"type": "n8n-nodes-base.telegramTrigger",
"position": [
-1008,
-144
],
"webhookId": "bde5c665-1b60-4fe6-b0a4-b450db8ec705",
"parameters": {
"updates": [
"message"
],
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "3mty87fduTdA6SKM",
"name": "Telegram account 13 - nanobanana II"
}
},
"typeVersion": 1.2
},
{
"id": "3e7bacee-43d5-4612-9126-2c44ab0275e3",
"name": "将创意解析为提示词",
"type": "n8n-nodes-base.code",
"position": [
-272,
-144
],
"parameters": {
"jsCode": "const text = $('Trigger: Receive Idea via Telegram').first().json.message.caption;\nconst parts = text.split(';').map(part => part.trim());\nreturn {\nimagePrompt: parts[0],\ntextOverlay: parts[1],\nvideoPrompt: parts[2],\nmusicPrompt: parts[3]\n};\n"
},
"typeVersion": 2
},
{
"id": "2ce93a63-78e9-4270-9581-b571d7c84394",
"name": "重写标题 (TikTok/Instagram)",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
-992,
176
],
"parameters": {
"modelId": {
"__rl": true,
"mode": "list",
"value": "gpt-4o",
"cachedResultName": "GPT-4O"
},
"options": {},
"messages": {
"values": [
{
"content": "=You are rewriting a TikTok video script, caption, and overlay —\nnot inventing a new one. You must follow this format and obey\nthese rules strictly.\n---\n### CONTEXT:\nHere is the content idea to use:{{ $('Parse Idea Into Prompts').item.json.imagePrompt }}\n\nTitle is : {{ $('Parse Idea Into Prompts').item.json.textOverlay }}\n\n\n\nWrite the caption text using the topic.\n\n---\n- MUST be under 200 characters (yes \"Characters\" not wordcount)\nthis is an absolute MUST, no more than 200 characters!!! \n\n### FINAL OUTPUT FORMAT (no markdown formatting):\n\nDO NOT return any explanations. Only return the Caption Text"
}
]
}
},
"credentials": {
"openAiApi": {
"id": "6h3DfVhNPw9I25nO",
"name": "OpenAi account"
}
},
"typeVersion": 1.8
},
{
"id": "05e3c5a5-2bb8-47a5-aa3d-057512ca99e2",
"name": "将图片发布到 Instagram + X",
"type": "n8n-nodes-upload-post.uploadPost",
"position": [
-272,
176
],
"parameters": {
"user": "DRFIRAS",
"title": "={{ $('Parse Idea Into Prompts').item.json.textOverlay }}",
"photos": "={{ $('Download Edited Image').item.json.images[0].url }}",
"caption": "={{ $json.message.content }}",
"platform": [
"instagram",
"x"
]
},
"credentials": {
"uploadPostApi": {
"id": "tx0iFC5hVeA9z2YP",
"name": "Upload Post account"
}
},
"typeVersion": 1
},
{
"id": "97832793-340b-41ee-ae40-1a1633597ac3",
"name": "Seedance:从图片生成视频",
"type": "n8n-nodes-base.httpRequest",
"position": [
-1008,
512
],
"parameters": {
"url": "https://api.kie.ai/api/v1/jobs/createTask",
"body": "={\n \"model\": \"bytedance/v1-pro-image-to-video\",\n \"input\": {\n \"prompt\": \"{{ $('Parse Idea Into Prompts').item.json.videoPrompt }}\",\n \"image_url\": \"{{ $json.images[0].url }}\",\n \"resolution\": \"480p\",\n \"duration\": \"8\",\n \"aspect_ratio\": \"9:16\",\n \"camera_fixed\": false,\n \"seed\": -1,\n \"enable_safety_checker\": true\n }\n}\n",
"method": "POST",
"options": {},
"sendBody": true,
"contentType": "raw",
"authentication": "genericCredentialType",
"rawContentType": "application/json",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "ho8ZjaYj1SY0icGT",
"name": "Kie AI"
}
},
"typeVersion": 4.2
},
{
"id": "2c3a1c91-8adc-4eba-ac10-108776a6276c",
"name": "设置:视频 URL",
"type": "n8n-nodes-base.set",
"position": [
-272,
512
],
"parameters": {
"mode": "raw",
"options": {},
"jsonOutput": "={{\n JSON.stringify({\n url_video: (()=>{\n const o = JSON.parse($json.data.resultJson);\n return o?.resultObject?.video?.url\n || o?.resultUrls?.[0]\n || '';\n })()\n })\n}}\n"
},
"typeVersion": 3.4
},
{
"id": "ab226033-c1ab-4506-b9cf-2901b08ffb23",
"name": "Suno:生成音乐",
"type": "n8n-nodes-base.httpRequest",
"position": [
64,
512
],
"parameters": {
"url": "https://api.kie.ai/api/v1/generate",
"body": "={\n \"model\": \"V3_5\",\n \"callBackUrl\": \"https://YOUR_DOMAIN.com/api/kie-callback\",\n \"customMode\": true,\n \"instrumental\": true,\n \"input\": {\n \"prompt\": \"{{ $('Parse Idea Into Prompts').item.json.musicPrompt }}\",\n \"style\": \"Classical\",\n \"title\": \"Peaceful Piano Meditation\",\n \"styleWeight\": 0.65,\n \"weirdnessConstraint\": 0.65,\n \"audioWeight\": 0.65\n }\n}\n",
"method": "POST",
"options": {},
"sendBody": true,
"contentType": "raw",
"authentication": "genericCredentialType",
"rawContentType": "application/json",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "ho8ZjaYj1SY0icGT",
"name": "Kie AI"
}
},
"typeVersion": 4.2
},
{
"id": "45950718-2989-409c-847d-fda4851b793c",
"name": "设置:音频 URL",
"type": "n8n-nodes-base.set",
"position": [
704,
512
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "03eb77a5-6838-408e-9e6e-58242501c238",
"name": "url_audio",
"type": "string",
"value": "={{ $json.data.response.sunoData[0].audioUrl }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "74f7db08-09ce-4590-8d6e-44f3a9e21f47",
"name": "下载音乐文件",
"type": "n8n-nodes-base.httpRequest",
"position": [
480,
512
],
"parameters": {
"url": "https://api.kie.ai/api/v1/generate/record-info",
"options": {},
"sendQuery": true,
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"queryParameters": {
"parameters": [
{
"name": "taskId",
"value": "={{ $json.data.taskId }}"
}
]
}
},
"credentials": {
"httpHeaderAuth": {
"id": "ho8ZjaYj1SY0icGT",
"name": "Kie AI"
}
},
"typeVersion": 4.2
},
{
"id": "a6dac88d-9b62-4808-a22b-8a34c5e9fdf7",
"name": "等待:音乐渲染",
"type": "n8n-nodes-base.wait",
"position": [
256,
512
],
"webhookId": "26c2098e-9adb-4d89-ab2a-fe03299d8ad2",
"parameters": {
"amount": 120
},
"typeVersion": 1.1
},
{
"id": "7dd8ac51-6121-4e6e-8d2d-bfef50f35d41",
"name": "合并音频 + 视频",
"type": "n8n-nodes-base.httpRequest",
"position": [
-1008,
800
],
"parameters": {
"url": "https://queue.fal.run/fal-ai/ffmpeg-api/merge-audio-video",
"body": "= {\n \"video_url\": \"{{ $('Set: Video URL').item.json.url_video }}\",\n \"audio_url\": \"{{ $json.url_audio }}\",\n \"start_offset\": 0\n }\n",
"method": "POST",
"options": {},
"sendBody": true,
"contentType": "raw",
"authentication": "genericCredentialType",
"rawContentType": "application/json",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "kNULkYDcOZG3X0be",
"name": "Fal.ai"
}
},
"typeVersion": 4.2
},
{
"id": "41bd5d79-3bdd-4036-a8a8-59a41b2feabb",
"name": "等待:合并过程",
"type": "n8n-nodes-base.wait",
"position": [
-752,
800
],
"webhookId": "cdc66d12-12f4-460d-86e9-9fe5ec061e38",
"parameters": {
"amount": 2
},
"typeVersion": 1.1
},
{
"id": "1342bf6a-2f31-4748-b14c-6397423b6e0c",
"name": "检查合并状态",
"type": "n8n-nodes-base.httpRequest",
"position": [
-496,
800
],
"parameters": {
"url": "={{ $json.status_url }}",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "kNULkYDcOZG3X0be",
"name": "Fal.ai"
}
},
"typeVersion": 4.2
},
{
"id": "e8f55717-0f40-4dc4-80fa-d10749ff252d",
"name": "如果合并完成",
"type": "n8n-nodes-base.if",
"position": [
-272,
800
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "4532b4f1-bd84-4896-b36b-929e925c80f7",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.status }}",
"rightValue": "COMPLETED"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "249b72cb-3239-4971-a412-549ff289ffed",
"name": "下载最终视频",
"type": "n8n-nodes-base.httpRequest",
"position": [
480,
784
],
"parameters": {
"url": "={{ $json.video.url }}",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "9e5eb804-fb80-42bf-a799-c3722c002e68",
"name": "检查合并状态 II",
"type": "n8n-nodes-base.httpRequest",
"position": [
64,
784
],
"parameters": {
"url": "={{$json.response_url}}",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "kNULkYDcOZG3X0be",
"name": "Fal.ai"
}
},
"typeVersion": 4.2
},
{
"id": "5731a023-3925-4f52-abe8-7a559438ecb8",
"name": "上传最终视频到 Google Drive",
"type": "n8n-nodes-base.googleDrive",
"position": [
704,
784
],
"parameters": {
"name": "={{ $('Trigger: Receive Idea via Telegram').item.json.message.photo[2].file_unique_id }}",
"driveId": {
"__rl": true,
"mode": "id",
"value": "="
},
"options": {},
"folderId": {
"__rl": true,
"mode": "id",
"value": "="
}
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "gzeHMd64HAz6HBIe",
"name": "Google Drive account"
}
},
"typeVersion": 3
},
{
"id": "1ff9308c-e41c-4fc2-868a-5e5a88cda8f6",
"name": "读取品牌设置",
"type": "n8n-nodes-base.googleSheets",
"position": [
-1008,
1184
],
"parameters": {
"options": {},
"sheetName": {
"__rl": true,
"mode": "id",
"value": "="
},
"documentId": {
"__rl": true,
"mode": "id",
"value": "="
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "51us92xkOlrvArhV",
"name": "Google Sheets account"
}
},
"typeVersion": 4.7
},
{
"id": "2073a516-f1e4-4013-ba0d-255d11d89e8f",
"name": "提取品牌信息",
"type": "n8n-nodes-base.code",
"position": [
-848,
1184
],
"parameters": {
"jsCode": "const allRows = $input.all();\nreturn [{\njson: {\nproductName: allRows[0].json.col_2,\nproductCategory: allRows[1].json.col_2,\nmainOffer: allRows[2].json.col_2,\nkeyFeature1: allRows[3].json.col_2,\nkeyFeature2: allRows[4].json.col_2,\nwebsiteURL: allRows[5].json.col_2\n}\n}];"
},
"typeVersion": 2
},
{
"id": "bff88b3b-cf60-4154-a441-aa35155d8311",
"name": "广告文案生成器 (AI)",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
-672,
1184
],
"parameters": {
"modelId": {
"__rl": true,
"mode": "list",
"value": "gpt-4o",
"cachedResultName": "GPT-4O"
},
"options": {},
"messages": {
"values": [
{
"content": "=You are an expert ad copywriter for social media campaigns.\nYour task: Create compelling ad copy following this exact\nstructure:\n🚨 [Attention-grabbing headline with product benefit]\n✔ [Primary offer/benefit]\n✔ [Key product feature/quality]\n✔ [Trust/credibility element]\n[Call to action] → [website/link]\n# Input Variables:\nProduct Name: {{ $json.productName }}\nProduct Category: {{ $json.productCategory }}\nMain Offer: {{ $json.mainOffer }}\nKey Feature 1: {{ $json.keyFeature1 }}\nKey Feature 2: {{ $json.keyFeature2 }}\nWebsite URL: {{ $json.websiteURL }}\nRules:\n- Keep headline under 35 characters\n- Each checkmark line under 40 characters\n- Use power words that create urgency\n- Include specific product benefits, not generic claims\n- CTA must be action-oriented (Shop Now, Get Yours, Claim Offer,\netc.)\n- Output ONLY the ad copy text, no explanations\n- No quotes around the text\n- Maintain the emoji structure exactly as shown"
}
]
}
},
"credentials": {
"openAiApi": {
"id": "6h3DfVhNPw9I25nO",
"name": "OpenAi account"
}
},
"typeVersion": 1.8
},
{
"id": "a365514a-114f-4919-a84f-c921796717dd",
"name": "保存广告数据到 Google Sheets",
"type": "n8n-nodes-base.googleSheets",
"position": [
-336,
1184
],
"parameters": {
"columns": {
"value": {
"STATUS": "CREATE",
"ADS TEXT": "={{ $json.message.content }}",
"ID IMAGE": "={{ $node[\"Trigger: Receive Idea via Telegram\"].json.message.photo[2].file_unique_id }}\n",
"URL IMAGE": "={{ $node[\"Download Edited Image\"].json.images[0].url }}\n",
"URL VIDEO": "={{ $node[\"Set: Video URL\"].json.url_video }}\n",
"URL FINAL VIDEO": "={{ $node[\"Download Final Video\"].json.video.url }}\n"
},
"schema": [
{
"id": "ID IMAGE",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "ID IMAGE",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "URL IMAGE",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "URL IMAGE",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "URL VIDEO",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "URL VIDEO",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "URL FINAL VIDEO",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "URL FINAL VIDEO",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "ADS TEXT",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "ADS TEXT",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "STATUS",
"type": "string",
"display": true,
"required": false,
"displayName": "STATUS",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"ID IMAGE"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "id",
"value": "="
},
"documentId": {
"__rl": true,
"mode": "id",
"value": "="
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "51us92xkOlrvArhV",
"name": "Google Sheets account"
}
},
"typeVersion": 4.6
},
{
"id": "60791963-3ba2-4ad2-b88a-4047e7d5564f",
"name": "在社交媒体 (FB, TikTok, YT) 上发布视频",
"type": "n8n-nodes-upload-post.uploadPost",
"position": [
288,
1184
],
"parameters": {
"user": "DRFIRAS",
"title": "={{ $('Parse Idea Into Prompts').first().json.textOverlay }}",
"video": "={{ $('Upload Final Video to Google Drive').first().json.webContentLink }}",
"caption": "={{ $('Ads Copywriter Generator (AI)').item.json.message.content }}",
"platform": [
"facebook",
"tiktok",
"youtube"
],
"operation": "uploadVideo",
"facebookPageId": "101603614680195",
"youtubeDescription": "={{ $('Ads Copywriter Generator (AI)').item.json.message.content }}",
"youtubePrivacyStatus": "private",
"facebookVideoDescription": "={{ $('Ads Copywriter Generator (AI)').item.json.message.content }}"
},
"credentials": {
"uploadPostApi": {
"id": "tx0iFC5hVeA9z2YP",
"name": "Upload Post account"
}
},
"typeVersion": 1
},
{
"id": "0de87c01-99eb-4f3c-8b7d-46fedccfa680",
"name": "保存发布状态到 Google Sheets",
"type": "n8n-nodes-base.googleSheets",
"position": [
496,
1184
],
"parameters": {
"columns": {
"value": {
"STATUS": "Published",
"ID IMAGE": "={{ $node[\"Trigger: Receive Idea via Telegram\"].json.message.photo[2].file_unique_id }}"
},
"schema": [
{
"id": "ID IMAGE",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "ID IMAGE",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "URL IMAGE",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "URL IMAGE",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "URL VIDEO",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "URL VIDEO",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "URL FINAL VIDEO",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "URL FINAL VIDEO",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "ADS TEXT",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "ADS TEXT",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "STATUS",
"type": "string",
"display": true,
"required": false,
"displayName": "STATUS",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "row_number",
"type": "number",
"display": true,
"removed": true,
"readOnly": true,
"required": false,
"displayName": "row_number",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"ID IMAGE"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update",
"sheetName": {
"__rl": true,
"mode": "id",
"value": "="
},
"documentId": {
"__rl": true,
"mode": "id",
"value": "="
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "51us92xkOlrvArhV",
"name": "Google Sheets account"
}
},
"typeVersion": 4.6
},
{
"id": "51b8f1ef-971b-4fb1-838f-b394d6e90456",
"name": "思考",
"type": "@n8n/n8n-nodes-langchain.toolThink",
"position": [
224,
192
],
"parameters": {},
"typeVersion": 1.1
},
{
"id": "a577cb57-4900-42b1-b1af-03d49d7125d8",
"name": "便签10",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1792,
-224
],
"parameters": {
"color": 6,
"width": 700,
"height": 1652,
"content": "# 💥 使用 NanoBanana 和 Seedance 创建病毒式广告 — 通过 Upload-Post 在社交媒体发布 (作者:Dr. Firas)"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "e9f05d86-a1c9-4a5e-bcf7-df21cb5d3aad",
"connections": {
"Think": {
"ai_tool": [
[
{
"node": "Generate Image Prompt",
"type": "ai_tool",
"index": 0
}
]
]
},
"Set: Audio URL": {
"main": [
[
{
"node": "Merge Audio + Video",
"type": "main",
"index": 0
}
]
]
},
"Set: Video URL": {
"main": [
[
{
"node": "Suno: Generate Music",
"type": "main",
"index": 0
}
]
]
},
"LLM: OpenAI Chat": {
"ai_languageModel": [
[
{
"node": "Generate Image Prompt",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Check Merge Status": {
"main": [
[
{
"node": "If Merge Completed",
"type": "main",
"index": 0
}
]
]
},
"Extract Brand Info": {
"main": [
[
{
"node": "Ads Copywriter Generator (AI)",
"type": "main",
"index": 0
}
]
]
},
"If Merge Completed": {
"main": [
[
{
"node": "Check Merge Status II",
"type": "main",
"index": 0
}
],
[
{
"node": "Wait: Merge Process",
"type": "main",
"index": 0
}
]
]
},
"Wait for Rendering": {
"main": [
[
{
"node": "Download Video from Seedance",
"type": "main",
"index": 0
}
]
]
},
"Download Music File": {
"main": [
[
{
"node": "Set: Audio URL",
"type": "main",
"index": 0
}
]
]
},
"Merge Audio + Video": {
"main": [
[
{
"node": "Wait: Merge Process",
"type": "main",
"index": 0
}
]
]
},
"Read Brand Settings": {
"main": [
[
{
"node": "Extract Brand Info",
"type": "main",
"index": 0
}
]
]
},
"Wait for Image Edit": {
"main": [
[
{
"node": "Download Edited Image",
"type": "main",
"index": 0
}
]
]
},
"Wait: Merge Process": {
"main": [
[
{
"node": "Check Merge Status",
"type": "main",
"index": 0
}
]
]
},
"Download Final Video": {
"main": [
[
{
"node": "Upload Final Video to Google Drive",
"type": "main",
"index": 0
}
]
]
},
"Suno: Generate Music": {
"main": [
[
{
"node": "Wait: Music Rendering",
"type": "main",
"index": 0
}
]
]
},
"Check Merge Status II": {
"main": [
[
{
"node": "Download Final Video",
"type": "main",
"index": 0
}
]
]
},
"Download Edited Image": {
"main": [
[
{
"node": "Seedance: Generate Video from Image",
"type": "main",
"index": 0
},
{
"node": "Rewrite Caption (TikTok/Instagram)",
"type": "main",
"index": 0
}
]
]
},
"Generate Image Prompt": {
"main": [
[
{
"node": "NanoBanana: Create Image",
"type": "main",
"index": 0
}
]
]
},
"Wait: Music Rendering": {
"main": [
[
{
"node": "Download Music File",
"type": "main",
"index": 0
}
]
]
},
"Parse Idea Into Prompts": {
"main": [
[
{
"node": "Generate Image Prompt",
"type": "main",
"index": 0
}
]
]
},
"NanoBanana: Create Image": {
"main": [
[
{
"node": "Wait for Image Edit",
"type": "main",
"index": 0
}
]
]
},
"Send Final Video Preview": {
"main": [
[
{
"node": "Post Video on Social Media (FB, TikTok, YT)",
"type": "main",
"index": 0
}
]
]
},
"Telegram: Get Image File": {
"main": [
[
{
"node": "Google Drive: Upload Image",
"type": "main",
"index": 0
}
]
]
},
"Google Drive: Upload Image": {
"main": [
[
{
"node": "Parse Idea Into Prompts",
"type": "main",
"index": 0
}
]
]
},
"Send Video URL via Telegram": {
"main": [
[
{
"node": "Send Final Video Preview",
"type": "main",
"index": 0
}
]
]
},
"Download Video from Seedance": {
"main": [
[
{
"node": "Set: Video URL",
"type": "main",
"index": 0
}
]
]
},
"Ads Copywriter Generator (AI)": {
"main": [
[
{
"node": "Save Ad Data to Google Sheets",
"type": "main",
"index": 0
}
]
]
},
"LLM: Structured Output Parser": {
"ai_outputParser": [
[
{
"node": "Generate Image Prompt",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Save Ad Data to Google Sheets": {
"main": [
[
{
"node": "Send Video URL via Telegram",
"type": "main",
"index": 0
}
]
]
},
"Rewrite Caption (TikTok/Instagram)": {
"main": [
[
{
"node": "Post Image to Instagram + X",
"type": "main",
"index": 0
}
]
]
},
"Trigger: Receive Idea via Telegram": {
"main": [
[
{
"node": "Telegram: Get Image File",
"type": "main",
"index": 0
}
]
]
},
"Upload Final Video to Google Drive": {
"main": [
[
{
"node": "Read Brand Settings",
"type": "main",
"index": 0
}
]
]
},
"Seedance: Generate Video from Image": {
"main": [
[
{
"node": "Wait for Rendering",
"type": "main",
"index": 0
}
]
]
},
"Save Publishing Status to Google Sheets": {
"main": [
[
{
"node": "Telegram: Send notification",
"type": "main",
"index": 0
}
]
]
},
"Post Video on Social Media (FB, TikTok, YT)": {
"main": [
[
{
"node": "Save Publishing Status to Google Sheets",
"type": "main",
"index": 0
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
这是一个高级难度的工作流,适用于Miscellaneous、Multimodal AI等场景。适合高级用户,包含 16+ 个节点的复杂工作流
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
💥 使用NanoBanana和VEO3生成AI病毒视频,通过Blotato分享到社交平台 - 视频
使用NanoBanana和VEO3生成AI病毒视频,通过Blotato在社交媒体分享
Set
Code
Wait
+13
47 节点Dr. Firas
Miscellaneous
💥 使用NanoBanana、Seedream 4、ChatGPT Image和Veo 3自动化视频广告 - VIDE
使用AI(NanoBanana、Seedream、GPT-4o、Veo 3)自动化和发布视频广告活动
Set
Code
Wait
+16
63 节点Dr. Firas
Content Creation
💥 HeyGen II - 克隆我 - 从想法到发布:适用于 YouTube、TikTok 和 Instagram 的 GPT-5 视频自动化 - 视频
使用 HeyGen、GPT-5 和社交发布自动化语音输入视频创作
If
Set
Wait
+13
41 节点Dr. Firas
Content Creation
💥 HeyGen - 从想法到发布:用于 YouTube、TikTok 和 Instagram 的 GPT-5 视频自动化 - 视频
使用 GPT-5 生成 AI 虚拟形象视频并发布至社交媒体平台
If
Set
Wait
+13
41 节点Dr. Firas
Content Creation
💥 使用 VEO3 和 Blotato 创建并自动发布到 9 个平台的病毒式 AI 视频
使用 VEO3 生成 AI 视频并通过 Blotato 在多个平台分发
Set
Wait
Telegram
+9
29 节点Dr. Firas
Content Creation
1. 播放列表详情设置机器人副本
使用 Suno、GPT-4、Runway 和 Creatomate 创建 AI 生成的 YouTube 音乐播放列表
If
Set
Code
+22
203 节点Joseph
Content Creation
工作流信息
难度等级
高级
节点数量45
分类2
节点类型16
作者
Dr. Firas
@drfirasAutomation expert and certified trainer. I create hands-on courses to master automation with n8n. Contact me to access my exclusive training and start building powerful workflows today. 🚀
外部链接
在 n8n.io 上查看 →
分享此工作流