8
n8n 中文网amn8n.com

组合式图像转视频助手

高级

这是一个Content Creation, Multimodal AI领域的自动化工作流,包含 22 个节点。主要使用 If, Wait, Telegram, GoogleDrive, HttpRequest 等节点。 通过 Telegram、GPT-4.1 和 Seedance/Veo3 集成从图片生成视频

前置要求
  • Telegram Bot Token
  • Google Drive API 凭证
  • 可能需要目标 API 的认证凭证
  • Google Sheets API 凭证
  • OpenAI API Key
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "TSFFd1ASpZ68AGua",
  "meta": {
    "instanceId": "REDACTED"
  },
  "name": "组合式图像转视频 Agent",
  "tags": [],
  "nodes": [
    {
      "id": "REDACTED",
      "name": "Telegram 触发器",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        -980,
        660
      ],
      "webhookId": "REDACTED",
      "parameters": {
        "updates": [
          "message"
        ],
        "additionalFields": {}
      },
      "typeVersion": 1.2
    },
    {
      "id": "REDACTED",
      "name": "如果",
      "type": "n8n-nodes-base.if",
      "position": [
        -740,
        660
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "REDACTED",
              "operator": {
                "type": "array",
                "operation": "notExists",
                "singleValue": true
              },
              "leftValue": "={{ $json.message.photo }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "REDACTED",
      "name": "AI 代理",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -360,
        560
      ],
      "parameters": {
        "text": "={{ $('Telegram Trigger').item.json.message.text }}",
        "options": {
          "systemMessage": "=You are an assistant for video prompt and image-to-video generation.\n\nYour task is to:\n\n1. Create an effecgive Video Prompt to prompt a video generation model based on user's input\n\n2.Output only the following two values in JSON format:\nprompt: The text prompt for the video.\nimage_url: The URL of the image to generate the video from. Fetch this value from the last row of the attached Google Sheet tool.\nReturn only these two fields in your response, formatted as a JSON object."
        },
        "promptType": "define"
      },
      "typeVersion": 2
    },
    {
      "id": "REDACTED",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -440,
        740
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {}
      },
      "typeVersion": 1.2
    },
    {
      "id": "REDACTED",
      "name": "简单记忆",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        -280,
        740
      ],
      "parameters": {
        "sessionKey": "={{ $json.message.chat.id }}",
        "sessionIdType": "customKey"
      },
      "typeVersion": 1.3
    },
    {
      "id": "REDACTED",
      "name": "Telegram",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -540,
        1000
      ],
      "webhookId": "REDACTED",
      "parameters": {
        "fileId": "={{ $('Telegram Trigger').item.json.message.photo[3].file_id }}",
        "resource": "file"
      },
      "typeVersion": 1.2
    },
    {
      "id": "REDACTED",
      "name": "Google Drive",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        -320,
        1000
      ],
      "parameters": {
        "name": "=Image Upload - {{ $now }}",
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive"
        },
        "options": {},
        "folderId": {
          "__rl": true,
          "mode": "list",
          "value": "REDACTED",
          "cachedResultUrl": "REDACTED",
          "cachedResultName": "Telegram Image Upload n8n"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "REDACTED",
      "name": "Google Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -100,
        1000
      ],
      "parameters": {
        "columns": {
          "value": {
            "Date": "={{ $now }}",
            "Image Uploaded on Google Drive": "={{ $json.webContentLink }}"
          },
          "schema": [
            {
              "id": "Image Uploaded on Google Drive",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Image Uploaded on Google Drive",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Date",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "REDACTED",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "REDACTED",
          "cachedResultUrl": "REDACTED",
          "cachedResultName": "Image to Video Log Sheet"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "REDACTED",
      "name": "思考",
      "type": "@n8n/n8n-nodes-langchain.toolThink",
      "position": [
        0,
        740
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "REDACTED",
      "name": "等待 15 秒",
      "type": "n8n-nodes-base.wait",
      "position": [
        360,
        560
      ],
      "webhookId": "REDACTED",
      "parameters": {
        "amount": 15
      },
      "typeVersion": 1.1
    },
    {
      "id": "REDACTED",
      "name": "Wavespeed 获取",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        560,
        560
      ],
      "parameters": {
        "url": "=https://api.wavespeed.ai/api/v3/predictions/{{ $json.data.id }}/result",
        "options": {
          "redirect": {
            "redirect": {}
          }
        },
        "authentication": "REDACTED",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": "REDACTED",
      "typeVersion": 4.2
    },
    {
      "id": "REDACTED",
      "name": "Wavespeed 提交",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        180,
        560
      ],
      "parameters": {
        "url": "https://api.wavespeed.ai/api/v3/bytedance/seedance-v1-pro-i2v-480p",
        "method": "POST",
        "options": {
          "redirect": {
            "redirect": {}
          }
        },
        "sendBody": true,
        "authentication": "REDACTED",
        "bodyParameters": {
          "parameters": [
            {
              "name": "camera_fixed",
              "value": "false"
            },
            {
              "name": "duration",
              "value": "5"
            },
            {
              "name": "image",
              "value": "={{ $json.message.content.image_url }}"
            },
            {
              "name": "prompt",
              "value": "={{ $json.message.content.prompt }}"
            },
            {
              "name": "seed",
              "value": "-1"
            }
          ]
        },
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": "REDACTED",
      "typeVersion": 4.2
    },
    {
      "id": "REDACTED",
      "name": "再等待 15 秒",
      "type": "n8n-nodes-base.wait",
      "position": [
        380,
        760
      ],
      "webhookId": "REDACTED",
      "parameters": {
        "amount": 15
      },
      "typeVersion": 1.1
    },
    {
      "id": "REDACTED",
      "name": "Google Sheets1",
      "type": "n8n-nodes-base.googleSheetsTool",
      "position": [
        -140,
        740
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "name",
          "value": "Google_sheet_name"
        },
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": "REDACTED"
        }
      },
      "credentials": "REDACTED",
      "typeVersion": 4.6
    },
    {
      "id": "REDACTED",
      "name": "Telegram2",
      "type": "n8n-nodes-base.telegram",
      "position": [
        900,
        800
      ],
      "webhookId": "REDACTED",
      "parameters": {
        "file": "={{ $json.data.outputs[0] }}",
        "chatId": "Redacted",
        "operation": "sendVideo",
        "additionalFields": {}
      },
      "credentials": "REDACTED",
      "typeVersion": 1.2
    },
    {
      "id": "REDACTED",
      "name": "条件判断1",
      "type": "n8n-nodes-base.if",
      "position": [
        620,
        820
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "REDACTED",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.data.status }}",
              "rightValue": "completed"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "REDACTED",
      "name": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1040,
        400
      ],
      "parameters": {
        "width": 420,
        "height": 880,
        "content": "Telegram 触发器与 IF 节点"
      },
      "typeVersion": 1
    },
    {
      "id": "REDACTED",
      "name": "便签1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -600,
        400
      ],
      "parameters": {
        "color": 4,
        "width": 720,
        "height": 500,
        "content": "视频提示与图像 URL Agent"
      },
      "typeVersion": 1
    },
    {
      "id": "REDACTED",
      "name": "便签 2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -600,
        920
      ],
      "parameters": {
        "color": 3,
        "width": 720,
        "height": 360,
        "content": "上传图像 URL"
      },
      "typeVersion": 1
    },
    {
      "id": "REDACTED",
      "name": "便签 3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        140,
        400
      ],
      "parameters": {
        "color": 2,
        "width": 660,
        "height": 880,
        "content": "Wavespeed (Seedance, Veo3 图像转文本 API"
      },
      "typeVersion": 1
    },
    {
      "id": "REDACTED",
      "name": "便签 4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        820,
        400
      ],
      "parameters": {
        "color": 6,
        "width": 280,
        "height": 880,
        "content": "Telegram 输出"
      },
      "typeVersion": 1
    },
    {
      "id": "REDACTED",
      "name": "便签 5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2080,
        400
      ],
      "parameters": {
        "color": 5,
        "width": 1020,
        "height": 1320,
        "content": "🎥 Telegram 图像转视频生成器 Agent (Veo3 / Seedance 集成)"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {
    "Wavespeed Post": [
      {
        "json": {
          "code": 200,
          "data": {
            "id": "REDACTED",
            "urls": {
              "get": "https://api.wavespeed.ai/api/v3/predictions/b533d7993aed4eb2b5ebf95e4f811663/result"
            },
            "error": "",
            "model": "bytedance/seedance-v1-pro-i2v-480p",
            "status": "created",
            "outputs": [],
            "timings": {
              "inference": 0
            },
            "created_at": "2025-08-04T07:16:15.18Z",
            "executionTime": 0,
            "has_nsfw_contents": []
          },
          "message": "success"
        }
      }
    ]
  },
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "REDACTED",
  "connections": {
    "If": {
      "main": [
        [
          {
            "node": "AI Agent",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Telegram",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If1": {
      "main": [
        [
          {
            "node": "Telegram2",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Wait another 15 Seconds",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Think": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Wait 15": {
      "main": [
        [
          {
            "node": "Wavespeed Get",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Agent": {
      "main": [
        [
          {
            "node": "Wavespeed Post",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Telegram": {
      "main": [
        [
          {
            "node": "Google Drive",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Drive": {
      "main": [
        [
          {
            "node": "Google Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Simple Memory": {
      "ai_memory": [
        [
          {
            "node": "AI Agent",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "Wavespeed Get": {
      "main": [
        [
          {
            "node": "If1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets1": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Wavespeed Post": {
      "main": [
        [
          {
            "node": "Wait 15",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Telegram Trigger": {
      "main": [
        [
          {
            "node": "If",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Wait another 15 Seconds": {
      "main": [
        [
          {
            "node": "Wavespeed Get",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。

这个工作流适合什么场景?

高级 - 内容创作, 多模态 AI

需要付费吗?

本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。

工作流信息
难度等级
高级
节点数量22
分类2
节点类型13
难度说明

适合高级用户,包含 16+ 个节点的复杂工作流

作者
Automate With Marc

Automate With Marc

@marconi

Automating 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 查看

分享此工作流