8
n8n 中文网amn8n.com

Sora 2视频生成器 - 无水印(极简设置)已置顶

高级

这是一个Content Creation, Multimodal AI领域的自动化工作流,包含 22 个节点。主要使用 If, Wait, Switch, Telegram, FormTrigger 等节点。 使用Sora 2 AI从文本或图像生成视频 - 无水印

前置要求
  • Telegram Bot Token
  • 可能需要目标 API 的认证凭证
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "NckSQlGF2y46Ir9x",
  "meta": {
    "instanceId": "1d871c7857f6a0f6093c24e2cd2fa1fa755b3826859fe85548d66cefd9f0e0ed"
  },
  "name": "Sora 2 视频生成器 - 无水印(极简设置)已置顶",
  "tags": [],
  "nodes": [
    {
      "id": "b9d07b90-8a2a-4694-9840-5f2eec29622f",
      "name": "表单提交时",
      "type": "n8n-nodes-base.formTrigger",
      "notes": "Form trigger: Users submit video requests via web form",
      "position": [
        1760,
        720
      ],
      "webhookId": "08557317-0b58-4222-89d9-d5cdefc47629",
      "parameters": {
        "options": {
          "appendAttribution": false
        },
        "formTitle": "🎬 AI Video Generator - Sora 2",
        "formFields": {
          "values": [
            {
              "fieldType": "textarea",
              "fieldLabel": "Video Description (Prompt)",
              "placeholder": "Example: A serene mountain landscape at sunset with clouds moving slowly across the sky, golden hour lighting, cinematic camera movement, 4K quality, professional color grading",
              "requiredField": true
            },
            {
              "fieldType": "dropdown",
              "fieldLabel": "Aspect Ratio",
              "fieldOptions": {
                "values": [
                  {
                    "option": "landscape"
                  },
                  {
                    "option": "portrait"
                  }
                ]
              },
              "requiredField": true
            },
            {
              "fieldType": "dropdown",
              "fieldLabel": "Video Quality",
              "fieldOptions": {
                "values": [
                  {
                    "option": "standard"
                  },
                  {
                    "option": "hd"
                  }
                ]
              },
              "requiredField": true
            },
            {
              "fieldType": "file",
              "fieldLabel": "Upload Starting Image (Optional)",
              "multipleFiles": false,
              "acceptFileTypes": ".jpg, .jpeg, .png, .webp"
            }
          ]
        },
        "formDescription": "Create stunning AI-generated videos from text descriptions or animate your images with AI. Powered by OpenAI's Sora 2 - No watermarks, professional quality output. Generate videos in landscape or portrait, standard or HD quality."
      },
      "typeVersion": 2.3
    },
    {
      "id": "934a8f9b-7453-4330-a1b3-767740796e50",
      "name": "检查:是否有图片?",
      "type": "n8n-nodes-base.switch",
      "notes": "Routes workflow based on whether user uploaded an image",
      "position": [
        2352,
        720
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "outputKey": "No Image - Text to Video",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "3225407b-e55a-4d2b-b37c-320cb3bfcb8b",
                    "operator": {
                      "type": "object",
                      "operation": "notExists",
                      "singleValue": true
                    },
                    "leftValue": "={{ $binary.Upload_Starting_Image__Optional_ }}",
                    "rightValue": ""
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "Has Image - Upload First",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "0adfd49c-0e9f-4afc-ae0c-98186957bc56",
                    "operator": {
                      "type": "object",
                      "operation": "exists",
                      "singleValue": true
                    },
                    "leftValue": "={{ $binary.Upload_Starting_Image__Optional_ }}",
                    "rightValue": ""
                  }
                ]
              },
              "renameOutput": true
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 3.2
    },
    {
      "id": "16d896e9-8a31-4a37-93f3-473abffe1cce",
      "name": "上传到 ImgBB",
      "type": "n8n-nodes-base.httpRequest",
      "notes": "Uploads user image to ImgBB for hosting (required for Sora API)",
      "position": [
        2592,
        1280
      ],
      "parameters": {
        "url": "https://api.imgbb.com/1/upload",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "sendQuery": true,
        "contentType": "multipart-form-data",
        "bodyParameters": {
          "parameters": [
            {
              "name": "image",
              "parameterType": "formBinaryData",
              "inputDataFieldName": "Upload_Starting_Image__Optional_"
            }
          ]
        },
        "queryParameters": {
          "parameters": [
            {
              "name": "key",
              "value": "YOUR_ImgBB_API_KEY"
            },
            {
              "name": "expiration",
              "value": "0"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "6f28634f-ab74-4672-98b9-1fc1a9fb79a4",
      "name": "下载视频(文本)",
      "type": "n8n-nodes-base.httpRequest",
      "notes": "Downloads the generated video from text-to-video path",
      "position": [
        3840,
        240
      ],
      "parameters": {
        "url": "={{ JSON.parse($json.data.resultJson).resultUrls[0] }}",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "d95cdf5b-169b-4639-8d3e-87d14a80c7b9",
      "name": "下载视频(图片)",
      "type": "n8n-nodes-base.httpRequest",
      "notes": "Downloads the generated video from image-to-video path",
      "position": [
        3856,
        1264
      ],
      "parameters": {
        "url": "={{ JSON.parse($json.data.resultJson).resultUrls[0] }}",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "b9280f6d-b5ad-4abc-8fee-3c9c12914a29",
      "name": "检查状态(文本)",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        3312,
        256
      ],
      "parameters": {
        "url": "=https://api.kie.ai/api/v1/jobs/recordInfo?taskId={{ $json.data.taskId }}",
        "options": {},
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "id": "JjFwOEj49L0bilGM",
          "name": "Kie Ai(Veo and more)"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "17299f12-9888-4ca7-9951-0f2de1d44a1f",
      "name": "等待(文本)",
      "type": "n8n-nodes-base.wait",
      "notes": "Wait 30 seconds for video generation to complete",
      "position": [
        3088,
        256
      ],
      "webhookId": "text-wait-webhook-id",
      "parameters": {
        "amount": 30
      },
      "typeVersion": 1.1
    },
    {
      "id": "6c24bb65-9d0b-4d3b-824a-77f8f2836ca9",
      "name": "是否就绪?(文本)",
      "type": "n8n-nodes-base.if",
      "notes": "Checks if video generation is complete, loops back to wait if not ready",
      "position": [
        3520,
        256
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "0bcf8858-f1a8-45fe-a858-cbbe6c81385d",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.data.state }}",
              "rightValue": "success"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "ea9b3e2e-2d80-4468-bcc2-a823b5242a15",
      "name": "文本转视频",
      "type": "n8n-nodes-base.httpRequest",
      "notes": "Sends text prompt to Sora 2 API for video generation",
      "position": [
        2672,
        256
      ],
      "parameters": {
        "url": "https://api.kie.ai/api/v1/jobs/createTask",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"model\": \"sora-2-text-to-video\",\n  \"input\": {\n    \"prompt\": \"{{ $json['Video Description (Prompt)'] }}\",\n    \"aspect_ratio\": \"{{ $json['Aspect Ratio'] }}\",\n    \"quality\": \"{{ $json['Video Quality'] }}\"\n  }\n}",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "id": "JjFwOEj49L0bilGM",
          "name": "Kie Ai(Veo and more)"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "4052e25f-b77d-4fd2-badd-10b032fc7688",
      "name": "检查状态(图片)",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        3376,
        1280
      ],
      "parameters": {
        "url": "=https://api.kie.ai/api/v1/jobs/recordInfo?taskId={{ $json.data.taskId }}",
        "options": {},
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "id": "JjFwOEj49L0bilGM",
          "name": "Kie Ai(Veo and more)"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "b5da9b07-0eb6-469e-9a9b-a40a476ee563",
      "name": "等待(图片)",
      "type": "n8n-nodes-base.wait",
      "notes": "Wait 30 seconds for image-to-video generation to complete",
      "position": [
        3152,
        1280
      ],
      "webhookId": "image-wait-webhook-id",
      "parameters": {
        "amount": 30
      },
      "typeVersion": 1.1
    },
    {
      "id": "7967ee62-47b9-48ab-8172-582fad8d55a0",
      "name": "是否就绪?(图片)",
      "type": "n8n-nodes-base.if",
      "notes": "Checks if image-to-video is complete, loops back to wait if not ready",
      "position": [
        3584,
        1280
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "0bcf8858-f1a8-45fe-a858-cbbe6c81385d",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.data.state }}",
              "rightValue": "success"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "6e9e77ad-02cb-486d-9428-b6522731cf78",
      "name": "图片转视频",
      "type": "n8n-nodes-base.httpRequest",
      "notes": "Sends image URL + prompt to Sora 2 API for image-to-video generation",
      "position": [
        2880,
        1280
      ],
      "parameters": {
        "url": "https://api.kie.ai/api/v1/jobs/createTask",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"model\": \"sora-2-image-to-video\",\n  \"input\": {\n    \"prompt\": \"{{ $('Check: Has Image?').item.json['Video Description (Prompt)'] }}\",\n    \"image_urls\": [\n      \"{{ $json.data.url }}\"\n    ],\n    \"aspect_ratio\": \"{{ $('Check: Has Image?').item.json['Aspect Ratio'] }}\",\n    \"quality\": \"{{ $('Check: Has Image?').item.json['Video Quality'] }}\"\n  }\n}",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "id": "JjFwOEj49L0bilGM",
          "name": "Kie Ai(Veo and more)"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "406e2a92-58d7-4672-a320-82637952211e",
      "name": "📖 设置说明",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1152,
        112
      ],
      "parameters": {
        "color": 4,
        "width": 484,
        "height": 1368,
        "content": "# 🎬 Sora 2 视频生成器 - 设置说明"
      },
      "typeVersion": 1
    },
    {
      "id": "73aee6d6-ce0d-4adb-b0a3-9db9696f7b32",
      "name": "💬 文本转视频路径",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1872,
        128
      ],
      "parameters": {
        "color": 5,
        "width": 444,
        "height": 600,
        "content": "## 📝 文本转视频路径"
      },
      "typeVersion": 1
    },
    {
      "id": "7891cc94-231a-48f8-a4c3-ffe4b7e00b05",
      "name": "🎨 图片转视频路径",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1888,
        880
      ],
      "parameters": {
        "color": 6,
        "width": 428,
        "height": 624,
        "content": "## 🖼️ 图片转视频路径"
      },
      "typeVersion": 1
    },
    {
      "id": "0fb99a43-113e-4a41-9e90-9c82e6ea36d6",
      "name": "🚦 路由逻辑",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2592,
        480
      ],
      "parameters": {
        "color": 3,
        "width": 380,
        "height": 772,
        "content": "## 🔄 工作流路由器"
      },
      "typeVersion": 1
    },
    {
      "id": "803cd5aa-ec81-4c60-b74f-22517131ce32",
      "name": "📬 交付选项",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3840,
        480
      ],
      "parameters": {
        "color": 7,
        "width": 532,
        "height": 768,
        "content": "## 📤 输出与交付"
      },
      "typeVersion": 1
    },
    {
      "id": "e76db2ef-b37c-43d1-9058-58da2ff8bd6f",
      "name": "⏱️ 轮询说明",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3072,
        480
      ],
      "parameters": {
        "color": 4,
        "width": 608,
        "height": 768,
        "content": "## ⚙️ 轮询机制"
      },
      "typeVersion": 1
    },
    {
      "id": "8bcd406e-7e7c-441c-b75d-7be38cc4e36c",
      "name": "💡 最佳实践",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        4432,
        144
      ],
      "parameters": {
        "color": 5,
        "width": 636,
        "height": 1296,
        "content": "# 💡 最佳实践与提示"
      },
      "typeVersion": 1
    },
    {
      "id": "2d5af1c1-d784-4a06-97a8-34548f365164",
      "name": "发送文本转视频",
      "type": "n8n-nodes-base.telegram",
      "position": [
        4176,
        240
      ],
      "webhookId": "de3fbdfe-5245-426b-8545-3f5cc56081ff",
      "parameters": {
        "chatId": "=YOUR_CHAT_ID",
        "operation": "sendVideo",
        "binaryData": true,
        "additionalFields": {
          "caption": "Here's your text to video ",
          "parse_mode": "MarkdownV2"
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "683oEZNRDT4dUD1i",
          "name": "Imagebananabot"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "52608b31-843b-441b-9402-c5e45b4e8c07",
      "name": "发送图片转视频",
      "type": "n8n-nodes-base.telegram",
      "position": [
        4192,
        1264
      ],
      "webhookId": "de3fbdfe-5245-426b-8545-3f5cc56081ff",
      "parameters": {
        "chatId": "=YOUR_CHAT_ID",
        "operation": "sendVideo",
        "binaryData": true,
        "additionalFields": {
          "caption": "Here's your image to video ",
          "parse_mode": "MarkdownV2"
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "683oEZNRDT4dUD1i",
          "name": "Imagebananabot"
        }
      },
      "typeVersion": 1.2
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "7d1288b3-8f27-441e-aa2e-804bfff60ff0",
  "connections": {
    "Wait (Text)": {
      "main": [
        [
          {
            "node": "Check Status (Text)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait (Image)": {
      "main": [
        [
          {
            "node": "Check Status (Image)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "TEXT TO VIDEO": {
      "main": [
        [
          {
            "node": "Wait (Text)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "IMAGE TO VIDEO": {
      "main": [
        [
          {
            "node": "Wait (Image)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upload to ImgBB": {
      "main": [
        [
          {
            "node": "IMAGE TO VIDEO",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Is Ready? (Text)": {
      "main": [
        [
          {
            "node": "Download Video (Text)",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Wait (Text)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check: Has Image?": {
      "main": [
        [
          {
            "node": "TEXT TO VIDEO",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Upload to ImgBB",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Is Ready? (Image)": {
      "main": [
        [
          {
            "node": "Download Video (Image)",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Wait (Image)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "On form submission": {
      "main": [
        [
          {
            "node": "Check: Has Image?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check Status (Text)": {
      "main": [
        [
          {
            "node": "Is Ready? (Text)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check Status (Image)": {
      "main": [
        [
          {
            "node": "Is Ready? (Image)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download Video (Text)": {
      "main": [
        [
          {
            "node": "Send  Text to Video",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download Video (Image)": {
      "main": [
        [
          {
            "node": "Send Image to Video",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

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

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

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

需要付费吗?

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

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

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

作者
Bilel Aroua

Bilel Aroua

@bilsimaging

Multimedia Imaging Producer | AI Creative | Building Multimodal Media Workflows

外部链接
在 n8n.io 查看

分享此工作流