AutomationFlowsSlack & Telegram › Seedance AI Roto Matte Generation with QC

Seedance AI Roto Matte Generation with QC

Original n8n title: 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

This workflow runs daily at 8am to detect meaningful changes in competitor pricing, Google search ranking, revenue anomalies, and customer churn using Google Sheets, SerpApi, and OpenAI, then sends a

Error Trigger, Slack, OpenAI +4
Slack & Telegram

This workflow runs a SEEK.com.au job search via Apify on a daily schedule or on-demand form submission, deduplicates new listings, and routes results to Google Sheets, Airtable, a webhook endpoint, an

HTTP Request, Google Sheets, Airtable +5
Slack & Telegram

Vendorbot Form Filler. Uses executeCommand, gmail, telegram, slack. Event-driven trigger; 39 nodes.

Execute Command, Gmail, Telegram +6
Slack & Telegram

This workflow manages clinic appointments across Google Sheets and Google Calendar, using webhooks and Telegram to book and confirm visits, Gmail and Telegram to deliver prescriptions, scheduled Teleg

Google Calendar, Telegram, Google Sheets +4