使用 Google Veo3 Fast 创建视频并通过 Postiz 上传到 TikTok
高级
这是一个Content Creation, Multimodal AI领域的自动化工作流,包含 22 个节点。主要使用 If, Set, Wait, Postiz, GoogleDrive 等节点。 使用 Google Veo3 Fast 和 Postiz 生成低成本病毒式 AI 视频到 TikTok
前置要求
- •Google Drive API 凭证
- •可能需要目标 API 的认证凭证
- •Google Sheets API 凭证
- •OpenAI API Key
使用的节点 (22)
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"id": "x7kyTLM6B9D7bLre",
"meta": {
"instanceId": "a4bfc93e975ca233ac45ed7c9227d84cf5a2329310525917adaf3312e10d5462",
"templateCredsSetupCompleted": true
},
"name": "使用Google Veo3 Fast创建视频并通过Postiz上传到TikTok",
"tags": [],
"nodes": [
{
"id": "7d1cda22-2a28-4bab-b9da-4aa6c85d8e76",
"name": "点击\"测试工作流\"时",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-224,
848
],
"parameters": {},
"typeVersion": 1
},
{
"id": "78f6d323-7665-487a-83a9-82e0fb1dcf2b",
"name": "获取状态",
"type": "n8n-nodes-base.httpRequest",
"position": [
848,
848
],
"parameters": {
"url": "=https://queue.fal.run/fal-ai/veo3/requests/{{ $('Create Video').item.json.request_id }}/status ",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "RfHIslxMFRjQZ043",
"name": "Youtube Transcript Extractor API 1"
}
},
"typeVersion": 4.2
},
{
"id": "bdff80fe-7a93-4d86-8c58-2009901e19b3",
"name": "等待60秒",
"type": "n8n-nodes-base.wait",
"position": [
672,
848
],
"webhookId": "bb15f2f3-caec-4df6-ac1f-374ed90d8a3e",
"parameters": {
"amount": 60
},
"typeVersion": 1.1
},
{
"id": "bd180f49-c4e6-4ca6-b8b2-461bbea5b7a8",
"name": "计划触发器",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-224,
704
],
"parameters": {
"rule": {
"interval": [
{
"field": "minutes"
}
]
}
},
"typeVersion": 1.2
},
{
"id": "7442f0da-61fd-4d9f-977a-983fc1143526",
"name": "便签3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-224,
-464
],
"parameters": {
"color": 3,
"width": 740,
"height": 328,
"content": "# 生成更便宜的AI视频(带音频),使用Veo3 Fast并上传到TikTok"
},
"typeVersion": 1
},
{
"id": "12b3d232-825f-4646-b297-9bb8ead1d825",
"name": "便签4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-224,
-96
],
"parameters": {
"width": 740,
"height": 200,
"content": "## 步骤1 - GOOGLE SHEET"
},
"typeVersion": 1
},
{
"id": "78f5db95-4abc-4d2e-8219-260e309bfa28",
"name": "完成?",
"type": "n8n-nodes-base.if",
"position": [
1024,
848
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "383d112e-2cc6-4dd4-8985-f09ce0bd1781",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.status }}",
"rightValue": "COMPLETED"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "3cb5928b-6a94-433c-96b6-795661f988a5",
"name": "更新结果",
"type": "n8n-nodes-base.googleSheets",
"position": [
880,
1104
],
"parameters": {
"columns": {
"value": {
"VIDEO": "={{ $('Get Url Video').item.json.video.url }}",
"row_number": "={{ $('Get new video').item.json.row_number }}"
},
"schema": [
{
"id": "PROMPT",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "PROMPT",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "DURATION",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "DURATION",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "VIDEO",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "VIDEO",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "YOUTUBE_URL",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "YOUTUBE_URL",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "row_number",
"type": "string",
"display": true,
"removed": false,
"readOnly": true,
"required": false,
"displayName": "row_number",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"row_number"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/11ebWJvwwXHgvQld9kxywKQUvIoBw6xMa0g0BuIqHDxE/edit#gid=0",
"cachedResultName": "Foglio1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1pcoY9N_vQp44NtSRR5eskkL5Qd0N0BGq7Jh_4m-7VEQ",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1pcoY9N_vQp44NtSRR5eskkL5Qd0N0BGq7Jh_4m-7VEQ/edit?usp=drivesdk",
"cachedResultName": "Video Google Veo3"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "joLxLGL2AXh02b1v",
"name": "Google Sheets account (albeange75@gmail.com)"
}
},
"typeVersion": 4.5
},
{
"id": "20c78c06-7918-4469-9e7c-79d977a0de08",
"name": "设置数据",
"type": "n8n-nodes-base.set",
"position": [
224,
848
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "c713d31f-9abd-496a-ac79-e8e2efe60aa0",
"name": "prompt",
"type": "string",
"value": "={{ $json.PROMPT }}\n\nDuration of the video: {{ $json.DURATION }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "d12e8957-002c-4f0c-826e-76df22c9d21a",
"name": "便签5",
"type": "n8n-nodes-base.stickyNote",
"position": [
-224,
528
],
"parameters": {
"width": 740,
"height": 100,
"content": "## 步骤4 - 主流程"
},
"typeVersion": 1
},
{
"id": "3c5d4936-c9f5-4efe-959a-d5f9dd8a332a",
"name": "便签6",
"type": "n8n-nodes-base.stickyNote",
"position": [
-224,
144
],
"parameters": {
"width": 740,
"height": 140,
"content": "## 步骤2 - 获取API密钥(YOURAPIKEY)"
},
"typeVersion": 1
},
{
"id": "cd2c375d-099b-4bc2-9e0b-c7a67edce000",
"name": "便签7",
"type": "n8n-nodes-base.stickyNote",
"position": [
400,
784
],
"parameters": {
"width": 180,
"height": 200,
"content": "设置步骤2中创建的API密钥"
},
"typeVersion": 1
},
{
"id": "5ef837e9-5c13-4864-aeaa-b9f86e2b4b23",
"name": "获取新视频",
"type": "n8n-nodes-base.googleSheets",
"position": [
0,
848
],
"parameters": {
"options": {},
"filtersUI": {
"values": [
{
"lookupColumn": "VIDEO"
}
]
},
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1pcoY9N_vQp44NtSRR5eskkL5Qd0N0BGq7Jh_4m-7VEQ/edit#gid=0",
"cachedResultName": "Foglio1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1pcoY9N_vQp44NtSRR5eskkL5Qd0N0BGq7Jh_4m-7VEQ",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1pcoY9N_vQp44NtSRR5eskkL5Qd0N0BGq7Jh_4m-7VEQ/edit?usp=drivesdk",
"cachedResultName": "Video Google Veo3"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "joLxLGL2AXh02b1v",
"name": "Google Sheets account (albeange75@gmail.com)"
}
},
"typeVersion": 4.5
},
{
"id": "48b274e8-6544-4b62-b654-88328db685fb",
"name": "创建视频",
"type": "n8n-nodes-base.httpRequest",
"position": [
448,
848
],
"parameters": {
"url": "https://queue.fal.run/fal-ai/veo3/fast",
"method": "POST",
"options": {},
"jsonBody": "={\n \"prompt\": \"{{$json.prompt}}\"\n}",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"headerParameters": {
"parameters": [
{
"name": "Content-Type",
"value": "application/json"
}
]
}
},
"credentials": {
"httpHeaderAuth": {
"id": "RfHIslxMFRjQZ043",
"name": "Youtube Transcript Extractor API 1"
}
},
"typeVersion": 4.2
},
{
"id": "7695eee2-f662-4c04-8a44-9b0c434d95b1",
"name": "获取视频URL",
"type": "n8n-nodes-base.httpRequest",
"position": [
-224,
1232
],
"parameters": {
"url": "=https://queue.fal.run/fal-ai/veo3/requests/{{ $json.request_id }}",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "RfHIslxMFRjQZ043",
"name": "Youtube Transcript Extractor API 1"
}
},
"typeVersion": 4.2
},
{
"id": "c5122027-ffd4-4275-ade0-7a8ee9fa4e94",
"name": "获取视频文件",
"type": "n8n-nodes-base.httpRequest",
"position": [
400,
1232
],
"parameters": {
"url": "={{ $('Get Url Video').item.json.video.url }}",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "45ffcd43-fd3a-42c2-a358-4de9f1eea554",
"name": "上传视频",
"type": "n8n-nodes-base.googleDrive",
"position": [
688,
1104
],
"parameters": {
"name": "={{ $now.format('yyyyLLddHHmmss') }}-{{ $('Get Url Video').item.json.video.file_name }}",
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "list",
"value": "1aHRwLWyrqfzoVC8HoB-YMrBvQ4tLC-NZ",
"cachedResultUrl": "https://drive.google.com/drive/folders/1aHRwLWyrqfzoVC8HoB-YMrBvQ4tLC-NZ",
"cachedResultName": "Fal.run"
}
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "HEy5EuZkgPZVEa9w",
"name": "Google Drive account (n3w.it)"
}
},
"typeVersion": 3
},
{
"id": "d764cd9b-2f3b-4cc7-a3f2-06ca5be643db",
"name": "生成标题",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
32,
1232
],
"parameters": {
"modelId": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini",
"cachedResultName": "GPT-4O-MINI"
},
"options": {},
"messages": {
"values": [
{
"content": "=Input: {{ $('Get new video').item.json.PROMPT }}"
},
{
"role": "system",
"content": "You are a YouTube SEO expert specialized in creating engaging and optimized titles.\n\nYour task is to generate an effective title for a YouTube video based on the user's video description.\n\nGUIDELINES:\n- Maximum 60 characters to avoid truncation\n- Use relevant keywords for SEO\n- Make the title catchy and clickable\n- Avoid excessive or misleading clickbait\n- Consider the target audience of the content\n- Use numbers, questions, or power words when appropriate\n- IMPORTANT: Generate the title in the same language as the input description\n\nOUTPUT FORMAT:\nProvide only the title, without additional explanations.\n\nEXAMPLE:\nInput: \"Tutorial video on how to cook perfect pasta carbonara\"\nOutput: \"PERFECT Carbonara in 10 Minutes - Chef's Secrets\""
}
]
}
},
"typeVersion": 1.8
},
{
"id": "6a8ae239-39fb-4a20-9df3-1b9f9ffa84ba",
"name": "便签",
"type": "n8n-nodes-base.stickyNote",
"position": [
848,
1280
],
"parameters": {
"width": 180,
"height": 200,
"content": "设置步骤3的ChannelId"
},
"typeVersion": 1
},
{
"id": "eeec1aa0-24db-449d-817b-6c2c68f41b64",
"name": "便签8",
"type": "n8n-nodes-base.stickyNote",
"position": [
-224,
320
],
"parameters": {
"width": 740,
"height": 168,
"content": "## 步骤3 - 在TikTok上传视频"
},
"typeVersion": 1
},
{
"id": "92ba6140-efaa-4b63-9ea9-9c8491d3aad4",
"name": "TikTok",
"type": "n8n-nodes-postiz.postiz",
"position": [
880,
1328
],
"parameters": {
"date": "={{ $now.format('yyyy-LL-dd') }}T{{ $now.format('HH:ii:ss') }}",
"posts": {
"post": [
{
"value": {
"contentItem": [
{
"image": {
"imageItem": [
{
"id": "={{ $json.id }}",
"path": "={{ $json.path }}"
}
]
},
"content": "={{ $('Generate title').item.json.message.content }}"
}
]
},
"integrationId": "XXX"
}
]
},
"shortLink": true
},
"credentials": {
"postizApi": {
"id": "c8iQxqMcfCXPbUHc",
"name": "Postiz account"
}
},
"typeVersion": 1
},
{
"id": "18b5b159-e80f-47ea-aa6e-24dd37d3dd56",
"name": "上传视频到Postiz",
"type": "n8n-nodes-base.httpRequest",
"position": [
688,
1328
],
"parameters": {
"url": "https://api.postiz.com/public/v1/upload",
"method": "POST",
"options": {},
"sendBody": true,
"contentType": "multipart-form-data",
"authentication": "genericCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "file",
"parameterType": "formBinaryData",
"inputDataFieldName": "data"
}
]
},
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "GIEq2Y2xhJSgjqyG",
"name": "Postiz"
}
},
"typeVersion": 4.2
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "84006e18-6bbb-4d27-b612-3600a6318b69",
"connections": {
"TikTok": {
"main": [
[]
]
},
"Set data": {
"main": [
[
{
"node": "Create Video",
"type": "main",
"index": 0
}
]
]
},
"Completed?": {
"main": [
[
{
"node": "Get Url Video",
"type": "main",
"index": 0
}
],
[
{
"node": "Wait 60 sec.",
"type": "main",
"index": 0
}
]
]
},
"Get status": {
"main": [
[
{
"node": "Completed?",
"type": "main",
"index": 0
}
]
]
},
"Create Video": {
"main": [
[
{
"node": "Wait 60 sec.",
"type": "main",
"index": 0
}
]
]
},
"Upload Video": {
"main": [
[
{
"node": "Update result",
"type": "main",
"index": 0
}
]
]
},
"Wait 60 sec.": {
"main": [
[
{
"node": "Get status",
"type": "main",
"index": 0
}
]
]
},
"Get Url Video": {
"main": [
[
{
"node": "Generate title",
"type": "main",
"index": 0
}
]
]
},
"Get new video": {
"main": [
[
{
"node": "Set data",
"type": "main",
"index": 0
}
]
]
},
"Update result": {
"main": [
[]
]
},
"Generate title": {
"main": [
[
{
"node": "Get File Video",
"type": "main",
"index": 0
}
]
]
},
"Get File Video": {
"main": [
[
{
"node": "Upload Video",
"type": "main",
"index": 0
},
{
"node": "Upload Video to Postiz",
"type": "main",
"index": 0
}
]
]
},
"Upload Video to Postiz": {
"main": [
[
{
"node": "TikTok",
"type": "main",
"index": 0
}
]
]
},
"When clicking ‘Test workflow’": {
"main": [
[
{
"node": "Get new video",
"type": "main",
"index": 0
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
高级 - 内容创作, 多模态 AI
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
使用Google Veo3 Fast创建更便宜的视频并上传到社交媒体
使用Veo3 Fast创建低成本AI视频并上传至YouTube和TikTok
If
Set
Wait
+7
23 节点Davide
内容创作
使用 MiniMax 海螺 02 将图像转换为视频并上传到 YouTube 和 TikTok
使用 MiniMax 海螺 02 将图像转换为 AI 视频并上传到 YouTube/TikTok
If
Set
Wait
+7
25 节点Davide
内容创作
适用于WooCommerce Nano Banana的AI虚拟试穿
使用Fal.ai Nano Banana为WooCommerce自动生成虚拟AI试穿图像
If
Set
Wait
+7
20 节点Davide
内容创作
生成会说话的虚拟形象视频并发布到 TikTok
使用Elevenlabs和Infinitalk创建会说话的虚拟形象视频并自动发布到TikTok
If
Set
Wait
+5
24 节点Davide
内容创作
口型同步视频生成
使用Infinitalk AI创建并分享口型同步虚拟形象视频,并上传至TikTok/YouTube
If
Set
Wait
+5
18 节点Davide
内容创作
从您的多个参考图像生成视频片段
使用 Fal.ai VIDU 从参考图像创建病毒式视频并上传到 YouTube/TikTok
If
Set
Code
+6
20 节点Davide
内容创作
工作流信息
难度等级
高级
节点数量22
分类2
节点类型11
作者
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 查看 →
分享此工作流