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 →
{
"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
}
]
]
}
}
}
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 →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
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
Google Sheets CRM Enrichment. Uses googleSheetsTrigger, httpRequest, googleSheets, slack. Event-driven trigger; 15 nodes.
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
Error Monitoring!. Uses errorTrigger, gmail, whatsApp, slack. Event-driven trigger; 8 nodes.
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