AutomationFlowsSlack & Telegram › Generate Multi-pass Seedance AI Roto Mattes with Qc and Nuke Handoff

Generate Multi-pass Seedance AI Roto Mattes with Qc and Nuke Handoff

ByRahul Joshi @rahul08 on n8n.io

This workflow is an AI-powered roto matte generation and first-pass compositing pipeline designed for VFX production. It transforms structured roto requests into multiple high-precision matte passes using AI, performs automated quality evaluation, generates production-ready Nuke…

Event trigger★★★★☆ complexity29 nodesHTTP RequestSlackError TriggerGoogle Sheets TriggerJiraGmailTelegram
Slack & Telegram Trigger: Event Nodes: 29 Complexity: ★★★★☆ Added:

This workflow corresponds to n8n.io template #14390 — we link there as the canonical source.

This workflow follows the Error Trigger → Gmail recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "id": "DtFG0DeYnOiI8mGb",
  "name": "Seedance AI Roto Matte Generator with Multi-Pass Extraction, QC Automation, and Artist Review Pipeline",
  "tags": [],
  "nodes": [
    {
      "id": "608b2521-c170-486d-afe4-574a1f61befe",
      "name": "Validate & Extract Roto Brief",
      "type": "n8n-nodes-base.code",
      "position": [
        1088,
        848
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "9569062a-9de4-42d5-a0ed-3ddc28ed6b1b",
      "name": "Fan-Out: 4 Roto Passes",
      "type": "n8n-nodes-base.code",
      "position": [
        1328,
        848
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "d3a59138-cb5c-42ba-9b0a-a36aa78ed0af",
      "name": "Build Roto Request Body",
      "type": "n8n-nodes-base.code",
      "position": [
        1568,
        848
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "7baac4e5-6415-46c2-a762-cee10a27319b",
      "name": "Seedance: Generate Roto Pass",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1808,
        848
      ],
      "parameters": {},
      "typeVersion": 4.3
    },
    {
      "id": "b95ce40f-8d29-4b63-9371-537cfa6741b8",
      "name": "Merge Roto Job ID + Metadata",
      "type": "n8n-nodes-base.code",
      "position": [
        2096,
        848
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "717b7c5c-8ec3-4f71-89c1-7511c5092d4d",
      "name": "Poll: Check Roto Job Status",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2288,
        848
      ],
      "parameters": {},
      "typeVersion": 4.3
    },
    {
      "id": "ff98ef77-75e6-444f-bf29-e5fb6e11db30",
      "name": "Wait 20s",
      "type": "n8n-nodes-base.wait",
      "position": [
        2448,
        1184
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "27cbe4ce-4125-4efe-a824-d78d0ab7cd56",
      "name": "Roto Render Complete?",
      "type": "n8n-nodes-base.if",
      "position": [
        2496,
        848
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "400d4c8d-ad33-4ff9-94bc-432c666b383e",
      "name": "Build Roto Metadata + QC Score",
      "type": "n8n-nodes-base.code",
      "position": [
        2768,
        832
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "d877dac8-f4eb-4f07-948c-3f19bc194d81",
      "name": "QC Gate: Passes Threshold?",
      "type": "n8n-nodes-base.if",
      "position": [
        3008,
        832
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "8f5cccf6-209b-45d1-94b4-5fb742251cd7",
      "name": "Generate Nuke Roto Template",
      "type": "n8n-nodes-base.code",
      "position": [
        3248,
        768
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "18ed4ee5-23e8-48f0-954f-e988a0d4e980",
      "name": "Download Roto Pass Video",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        3632,
        928
      ],
      "parameters": {},
      "typeVersion": 4.3
    },
    {
      "id": "3a1f2b56-af75-4e95-8a3d-395b1854d5c9",
      "name": "Aggregate All Roto Passes",
      "type": "n8n-nodes-base.code",
      "position": [
        3872,
        592
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "42f82c86-dd07-4bf7-8e18-b2e06d3096a7",
      "name": "Slack: QC Failed \u2014 Manual Roto Required",
      "type": "n8n-nodes-base.slack",
      "position": [
        3264,
        1056
      ],
      "parameters": {},
      "typeVersion": 2.3
    },
    {
      "id": "d3ceb3ae-3f26-42b1-8f31-e6b440473ef2",
      "name": "On Workflow Error",
      "type": "n8n-nodes-base.errorTrigger",
      "position": [
        800,
        1472
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "58f71bc7-df89-42c9-9fc7-5f9727e88082",
      "name": "Slack: Error Alert",
      "type": "n8n-nodes-base.slack",
      "position": [
        1040,
        1472
      ],
      "parameters": {},
      "typeVersion": 2.3
    },
    {
      "id": "124b0449-f027-4903-8aea-512047ca5a0b",
      "name": "Google Sheets Trigger",
      "type": "n8n-nodes-base.googleSheetsTrigger",
      "position": [
        848,
        848
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "4ac94404-08a8-42c8-bbc1-9db95600594d",
      "name": "Jira: Create Review Task",
      "type": "n8n-nodes-base.jira",
      "position": [
        3664,
        592
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "e91c7feb-e63e-4147-b1d7-d0dd716e9535",
      "name": "Send a message",
      "type": "n8n-nodes-base.gmail",
      "position": [
        3856,
        928
      ],
      "parameters": {},
      "typeVersion": 2.2
    },
    {
      "id": "32c104eb-22a5-494b-a7fa-dfe4d564a19c",
      "name": "Send Telegram1",
      "type": "n8n-nodes-base.telegram",
      "position": [
        4272,
        592
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "03fa8019-ffbb-491f-a8cc-0a0483b96639",
      "name": "\ud83d\udccb Overview",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -192,
        -32
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "442a8c5b-521b-4b93-aa1f-d587977a4f37",
      "name": "Section: Trigger & Validation",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        768,
        624
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "b1a028e1-e70a-4cc8-9a54-8991fcbeeb48",
      "name": "Section: Pass Generation & AI Render",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1264,
        592
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "05a1c9a7-a8d5-41f3-8737-e3394eaec50e",
      "name": "Section: Polling & Completion",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2032,
        608
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "debda788-ea79-4407-b954-51b79347841e",
      "name": "Section: QC Gate & Nuke Script",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2944,
        576
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "bb04585b-af0d-44d6-bac2-b845b9861313",
      "name": "Section: Delivery & Task Creation",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3552,
        400
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "4373a992-bdaa-499e-9983-770627c32a8e",
      "name": "Section: Team Notifications",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        4144,
        384
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "f0fe0699-5c7d-4906-bbe3-bb7c848cde3d",
      "name": "Security Notes",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        4240,
        1216
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "c77b161d-8c62-40e3-b0bd-fdc0c2657566",
      "name": "Section: Error Handler",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        704,
        1312
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "5e462019-4eaa-4767-9b37-b2db71de3460",
  "connections": {
    "Wait 20s": {
      "main": [
        [
          {
            "node": "Poll: Check Roto Job Status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "On Workflow Error": {
      "main": [
        [
          {
            "node": "Slack: Error Alert",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets Trigger": {
      "main": [
        [
          {
            "node": "Validate & Extract Roto Brief",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Roto Render Complete?": {
      "main": [
        [
          {
            "node": "Build Roto Metadata + QC Score",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Wait 20s",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fan-Out: 4 Roto Passes": {
      "main": [
        [
          {
            "node": "Build Roto Request Body",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Build Roto Request Body": {
      "main": [
        [
          {
            "node": "Seedance: Generate Roto Pass",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download Roto Pass Video": {
      "main": [
        [
          {
            "node": "Send a message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Jira: Create Review Task": {
      "main": [
        [
          {
            "node": "Aggregate All Roto Passes",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate All Roto Passes": {
      "main": [
        [
          {
            "node": "Send Telegram1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "QC Gate: Passes Threshold?": {
      "main": [
        [
          {
            "node": "Generate Nuke Roto Template",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Slack: QC Failed \u2014 Manual Roto Required",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate Nuke Roto Template": {
      "main": [
        [
          {
            "node": "Download Roto Pass Video",
            "type": "main",
            "index": 0
          },
          {
            "node": "Jira: Create Review Task",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Poll: Check Roto Job Status": {
      "main": [
        [
          {
            "node": "Roto Render Complete?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge Roto Job ID + Metadata": {
      "main": [
        [
          {
            "node": "Poll: Check Roto Job Status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Seedance: Generate Roto Pass": {
      "main": [
        [
          {
            "node": "Merge Roto Job ID + Metadata",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Validate & Extract Roto Brief": {
      "main": [
        [
          {
            "node": "Fan-Out: 4 Roto Passes",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Build Roto Metadata + QC Score": {
      "main": [
        [
          {
            "node": "QC Gate: Passes Threshold?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

This workflow is an AI-powered roto matte generation and first-pass compositing pipeline designed for VFX production. It transforms structured roto requests into multiple high-precision matte passes using AI, performs automated quality evaluation, generates production-ready Nuke…

Source: https://n8n.io/workflows/14390/ — original creator credit. Request a take-down →

More Slack & Telegram workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Slack & Telegram

This workflow is an AI-powered style look transfer and quality control pipeline designed for VFX and editorial production. It transforms a new shot brief and a hero reference image into multiple style

HTTP Request, Slack, Gmail +3
Slack & Telegram

Google Sheets CRM Enrichment. Uses googleSheetsTrigger, httpRequest, googleSheets, slack. Event-driven trigger; 15 nodes.

Google Sheets Trigger, HTTP Request, Google Sheets +2
Slack & Telegram

New Google Form response triggers the workflow Checks if employee was already onboarded (prevents duplicates) Adds user to department-specific Slack channel If in Software department, grants GitHub re

Google Sheets Trigger, Slack, HTTP Request +2
Slack & Telegram

Error Monitoring!. Uses errorTrigger, gmail, whatsApp, slack. Event-driven trigger; 8 nodes.

Error Trigger, Gmail, WhatsApp +3
Slack & Telegram

clients kept booking meetings during my prayer times. i'd either miss a prayer or scramble to reschedule. the problem wasn't the clients — it was that my calendar had no blocked windows for salah. i n

Telegram Trigger, HTTP Request, Google Calendar +3