将旧照片转换为 AI 视频并自动发布到 FB、IG、YT 和 X
高级
这是一个Content Creation, Multimodal AI领域的自动化工作流,包含 19 个节点。主要使用 If, Set, Wait, FormTrigger, GoogleDrive 等节点。 使用 FLUX 和 Kling AI 将旧照片转换为动画视频用于社交媒体
前置要求
- •Google Drive API 凭证
- •可能需要目标 API 的认证凭证
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"id": "NkkWMHiRAY5uPHmf",
"meta": {
"instanceId": "3378b0d68c3b7ebfc71b79896d94e1a044dec38e99a1160aed4e9c323910fbe2",
"templateCredsSetupCompleted": true
},
"name": "将旧照片转换为 AI 视频并自动发布到 FB、IG、YT 和 X",
"tags": [],
"nodes": [
{
"id": "b9ae8c3f-21f4-4aaf-9352-824d2abcf430",
"name": "照片上传表单",
"type": "n8n-nodes-base.formTrigger",
"position": [
-60,
120
],
"webhookId": "animate-photo-form",
"parameters": {
"path": "animate-photo-form",
"options": {},
"formTitle": "Colorize and Animate Old Photos",
"formFields": {
"values": [
{
"fieldType": "file",
"fieldLabel": "Upload Old Photo",
"requiredField": true
},
{
"fieldType": "textarea",
"fieldLabel": "Custom Animation Description (Optional)",
"placeholder": "Describe how you'd like the photo to be animated (e.g., 'make the person smile and blink')"
}
]
},
"formDescription": "Upload an old photo to colorize and animate it with AI"
},
"typeVersion": 2.1
},
{
"id": "6bb93365-9c3d-4c18-a1cc-328d45b70b2f",
"name": "工作流描述",
"type": "n8n-nodes-base.stickyNote",
"position": [
-40,
-740
],
"parameters": {
"color": 3,
"width": 740,
"height": 280,
"content": "# 使用 AI 为旧照片上色和动画化"
},
"typeVersion": 1
},
{
"id": "fb20fbac-63ea-41ef-8f6a-1aacf3e92245",
"name": "为图像上色",
"type": "n8n-nodes-base.httpRequest",
"position": [
480,
120
],
"parameters": {
"url": "https://queue.fal.run/fal-ai/flux-pro/kontext",
"method": "POST",
"options": {},
"jsonBody": "={\n \"prompt\": \"Colorize this old black and white or sepia photograph. Make it look natural and vibrant with realistic colors. Remove any noise, scratches, or artifacts. Enhance the image quality and make it crystal clear. Keep all the original details and people exactly as they are, just add beautiful, realistic colors and improve the overall quality\",\n \"image_url\": \"{{ $json.data.url }}\",\n \"num_images\": 1\n}",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"headerParameters": {
"parameters": [
{
"name": "Content-Type",
"value": "application/json"
}
]
}
},
"credentials": {
"httpHeaderAuth": {
"id": "lj8v2XS8OSqBUXwk",
"name": "fal.ai victor"
}
},
"typeVersion": 4.2
},
{
"id": "76d9b93e-9823-47cb-8d66-d158fd8b2b37",
"name": "等待上色完成",
"type": "n8n-nodes-base.wait",
"position": [
700,
120
],
"webhookId": "wait-colorize-webhook",
"parameters": {},
"typeVersion": 1.1
},
{
"id": "ca65341f-ad21-4707-831f-c873ef770cc6",
"name": "检查上色状态",
"type": "n8n-nodes-base.httpRequest",
"position": [
920,
120
],
"parameters": {
"url": "=https://queue.fal.run/fal-ai/flux-pro/requests/{{ $('Colorize Image').item.json.request_id }}/status",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "lj8v2XS8OSqBUXwk",
"name": "fal.ai victor"
}
},
"typeVersion": 4.2
},
{
"id": "7d556144-538a-462d-a153-1971efcef011",
"name": "上色完成了吗?",
"type": "n8n-nodes-base.if",
"position": [
1140,
120
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "colorize-completed",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.status }}",
"rightValue": "COMPLETED"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "d1f4426a-c830-4402-91b4-389338f81c39",
"name": "获取上色后的图像",
"type": "n8n-nodes-base.httpRequest",
"position": [
1360,
120
],
"parameters": {
"url": "=https://queue.fal.run/fal-ai/flux-pro/requests/{{ $('Colorize Image').item.json.request_id }}",
"options": {},
"sendHeaders": true,
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"headerParameters": {
"parameters": [
{
"name": "Accept",
"value": "application/json"
}
]
}
},
"credentials": {
"httpHeaderAuth": {
"id": "lj8v2XS8OSqBUXwk",
"name": "fal.ai victor"
}
},
"typeVersion": 4.2
},
{
"id": "0397aef0-a837-4cfe-8029-d1c495bf6689",
"name": "动画化图像",
"type": "n8n-nodes-base.httpRequest",
"position": [
1580,
120
],
"parameters": {
"url": "https://queue.fal.run/fal-ai/kling-video/v2.1/standard/image-to-video",
"method": "POST",
"options": {},
"jsonBody": "={\n \"prompt\": \"{{ $('Photo Upload Form').item.json['Custom Animation Description (Optional)'] ? $('Photo Upload Form').item.json['Custom Animation Description (Optional)'] : 'Animate this colorized vintage photograph. If there are multiple people, make them interact naturally - perhaps talking, smiling, or making subtle gestures. If there\\'s only one person, animate them with natural movements like breathing, blinking, slight head movements, or gentle smiling. Keep the animation subtle and realistic, maintaining the vintage charm. The movement should feel natural and bring the photo to life. Do not move the camera' }}\",\n \"image_url\": \"{{ $('Get Colorized Image').item.json.images[0].url }}\",\n \"duration\": 5,\n \"quality\": \"standard\"\n}",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"headerParameters": {
"parameters": [
{
"name": "Content-Type",
"value": "application/json"
}
]
}
},
"credentials": {
"httpHeaderAuth": {
"id": "lj8v2XS8OSqBUXwk",
"name": "fal.ai victor"
}
},
"typeVersion": 4.2
},
{
"id": "3406b890-4fe5-42f9-a52e-f67abab2720c",
"name": "等待动画完成",
"type": "n8n-nodes-base.wait",
"position": [
1800,
120
],
"webhookId": "wait-animation-webhook",
"parameters": {
"amount": 60
},
"typeVersion": 1.1
},
{
"id": "58103cde-9884-41d4-886a-99ba7bd0072a",
"name": "检查动画状态",
"type": "n8n-nodes-base.httpRequest",
"position": [
2020,
120
],
"parameters": {
"url": "=https://queue.fal.run/fal-ai/kling-video/requests/{{ $('Animate Image').item.json.request_id }}/status",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "lj8v2XS8OSqBUXwk",
"name": "fal.ai victor"
}
},
"typeVersion": 4.2
},
{
"id": "e42474db-7881-4a0a-8ea0-d04e139c4740",
"name": "动画完成了吗?",
"type": "n8n-nodes-base.if",
"position": [
2240,
120
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "animation-completed",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.status }}",
"rightValue": "COMPLETED"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "6db3f757-5748-4be6-917c-ddcd86621f2b",
"name": "获取动画视频",
"type": "n8n-nodes-base.httpRequest",
"position": [
2460,
120
],
"parameters": {
"url": "=https://queue.fal.run/fal-ai/kling-video/requests/{{ $('Animate Image').item.json.request_id }}",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "lj8v2XS8OSqBUXwk",
"name": "fal.ai victor"
}
},
"typeVersion": 4.2
},
{
"id": "48d00cac-27d7-4b3b-aed2-f53bea846ecb",
"name": "下载视频",
"type": "n8n-nodes-base.httpRequest",
"position": [
2680,
120
],
"parameters": {
"url": "={{ $('Get Animated Video').item.json.video.url }}",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "37a98a23-46f0-41a6-89df-f3f542abdc16",
"name": "上传到Google Drive",
"type": "n8n-nodes-base.googleDrive",
"position": [
2900,
120
],
"parameters": {
"name": "=animated-photo-{{ $now.format('yyyyMMdd-HHmmss') }}.mp4",
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive",
"cachedResultUrl": "https://drive.google.com/drive/my-drive",
"cachedResultName": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "list",
"value": "root",
"cachedResultUrl": "https://drive.google.com/drive",
"cachedResultName": "/ (Root folder)"
}
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "p5I6S4YkJps1zvwz",
"name": "Google Drive account 2"
}
},
"typeVersion": 3
},
{
"id": "7d0232ed-e8cd-421f-a9c6-70e3eb26b4cd",
"name": "最终结果",
"type": "n8n-nodes-base.set",
"position": [
3140,
120
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "success-flag",
"name": "success",
"type": "boolean",
"value": true
},
{
"id": "message",
"name": "message",
"type": "string",
"value": "Your old photo has been successfully colorized and animated!"
},
{
"id": "colorized-image",
"name": "colorized_image_url",
"type": "string",
"value": "={{ $('Get Colorized Image').item.json.images[0].url }}"
},
{
"id": "animated-video",
"name": "animated_video_url",
"type": "string",
"value": "={{ $('Get Animated Video').item.json.video.url }}"
},
{
"id": "google-drive",
"name": "google_drive_url",
"type": "string",
"value": "={{ $('Upload to Google Drive').item.json.webViewLink }}"
},
{
"id": "processing-time",
"name": "processing_time",
"type": "string",
"value": "={{ $now.format('yyyy-MM-dd HH:mm:ss') }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "2d3c6a3a-6ef2-47cd-8823-46c45361cb5f",
"name": "使用说明",
"type": "n8n-nodes-base.stickyNote",
"position": [
-40,
-420
],
"parameters": {
"width": 740,
"height": 200,
"content": "## 使用方法:"
},
"typeVersion": 1
},
{
"id": "8b09bed7-a5f1-4e4c-8b08-0cb9807cf6fa",
"name": "设置说明",
"type": "n8n-nodes-base.stickyNote",
"position": [
-40,
-180
],
"parameters": {
"width": 740,
"height": 260,
"content": "## 所需设置:"
},
"typeVersion": 1
},
{
"id": "4be63f77-8fca-46a3-84b9-4b5b30055a96",
"name": "上传图像到 imgbb",
"type": "n8n-nodes-base.httpRequest",
"position": [
240,
120
],
"parameters": {
"url": "=https://api.imgbb.com/1/upload",
"method": "POST",
"options": {},
"sendBody": true,
"contentType": "multipart-form-data",
"bodyParameters": {
"parameters": [
{
"name": "image",
"parameterType": "formBinaryData",
"inputDataFieldName": "=Upload_Old_Photo"
},
{
"name": "key",
"value": "generate_token_and_add"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "5fa469e9-cd6e-448f-843f-b82553216476",
"name": "上传帖子",
"type": "n8n-nodes-upload-post.uploadPost",
"position": [
3340,
120
],
"parameters": {
"user": "ADD_UPLOAD_POST_USER",
"title": "This video was uploaded with the upload-post api",
"video": "={{ $('Get Animated Video').item.json.video.url }}",
"platform": [
"instagram",
"x",
"youtube",
"facebook"
],
"operation": "uploadVideo",
"instagramMediaType": "REELS"
},
"credentials": {
"uploadPostApi": {
"id": "frehTItx3BCdCJHh",
"name": "Upload Post account 2"
}
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "2559ee00-f7d3-4ee6-bde7-0156eaa87741",
"connections": {
"Animate Image": {
"main": [
[
{
"node": "Wait for Animation",
"type": "main",
"index": 0
}
]
]
},
"Final Results": {
"main": [
[
{
"node": "Upload Post",
"type": "main",
"index": 0
}
]
]
},
"Colorize Image": {
"main": [
[
{
"node": "Wait for Colorization",
"type": "main",
"index": 0
}
]
]
},
"Download Video": {
"main": [
[
{
"node": "Upload to Google Drive",
"type": "main",
"index": 0
}
]
]
},
"Photo Upload Form": {
"main": [
[
{
"node": "Upload Image to imgbb",
"type": "main",
"index": 0
}
]
]
},
"Get Animated Video": {
"main": [
[
{
"node": "Download Video",
"type": "main",
"index": 0
}
]
]
},
"Wait for Animation": {
"main": [
[
{
"node": "Check Animation Status",
"type": "main",
"index": 0
}
]
]
},
"Get Colorized Image": {
"main": [
[
{
"node": "Animate Image",
"type": "main",
"index": 0
}
]
]
},
"Animation Completed?": {
"main": [
[
{
"node": "Get Animated Video",
"type": "main",
"index": 0
}
],
[
{
"node": "Wait for Animation",
"type": "main",
"index": 0
}
]
]
},
"Upload Image to imgbb": {
"main": [
[
{
"node": "Colorize Image",
"type": "main",
"index": 0
}
]
]
},
"Wait for Colorization": {
"main": [
[
{
"node": "Check Colorization Status",
"type": "main",
"index": 0
}
]
]
},
"Check Animation Status": {
"main": [
[
{
"node": "Animation Completed?",
"type": "main",
"index": 0
}
]
]
},
"Upload to Google Drive": {
"main": [
[
{
"node": "Final Results",
"type": "main",
"index": 0
}
]
]
},
"Colorization Completed?": {
"main": [
[
{
"node": "Get Colorized Image",
"type": "main",
"index": 0
}
],
[
{
"node": "Wait for Colorization",
"type": "main",
"index": 0
}
]
]
},
"Check Colorization Status": {
"main": [
[
{
"node": "Colorization Completed?",
"type": "main",
"index": 0
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
高级 - 内容创作, 多模态 AI
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
AI 视频虚拟人生成器:将 URL 转换为短视频(使用免费层 API)
使用 HeyGen、Gemini 从 URL 生成 AI 视频虚拟人并上传到社交媒体
If
Set
Wait
+8
33 节点Juan Carlos Cavero Gracia
内容创作
从图像生成广告
使用 Gemini 2.5 Flash 图片和 FAL WAN 动画生成视频广告
If
Set
Code
+11
61 节点Juan Carlos Cavero Gracia
内容创作
测试空间中的项目
使用AI在空间中生成产品可视化视频并发布到社交媒体
If
Set
Code
+6
19 节点Juan Carlos Cavero Gracia
内容创作
长视频转换为病毒式短视频(AI 处理并定时发布到社交媒体)
使用 Whisper 和 Gemini 将长视频转换为病毒式短视频并定时发布到社交媒体
If
Code
Wait
+6
26 节点Juan Carlos Cavero Gracia
内容创作
Recap AI - Veo 3.1 电商产品动画生成器
基于Veo 3.1的电商产品目录AI视频生成器
If
Set
Wait
+10
18 节点Lucas Walter
内容创作
WordPress博客自动化专业版(深度研究)v2.1市场
使用GPT-4o、Perplexity AI和多语言支持自动化SEO优化的博客创建
If
Set
Xml
+27
125 节点Daniel Ng
内容创作
工作流信息
难度等级
高级
节点数量19
分类2
节点类型8
作者
Juan Carlos Cavero Gracia
@carlosgraciaFollow me in linkedin: https://www.linkedin.com/in/juan-carlos-cavero-gracia/
外部链接
在 n8n.io 查看 →
分享此工作流