AutomationFlowsAI & RAG › Automate Video Voiceover & Subtitles with Whisper, Openai Tts & Ffmpeg

Automate Video Voiceover & Subtitles with Whisper, Openai Tts & Ffmpeg

ByLenouar @aureusr on n8n.io

This workflow is ideal for content creators, training providers, agencies, and businesses that need to quickly turn raw videos into polished, captioned, or narrated content — without hiring editors or spending hours in manual editing tools.

Event trigger★★★★★ complexityAI-powered42 nodesSshForm TriggerFtpHTTP RequestOpenAIGoogle Drive
AI & RAG Trigger: Event Nodes: 42 Complexity: ★★★★★ AI nodes: yes Added:

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

This workflow follows the Form Trigger → Google Drive 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
{
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "1154b5e5-0442-4168-9e2c-f2fb82b9f32b",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1632,
        1584
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "aeac8f6b-7a83-4857-bda1-796b0599136b",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1664,
        256
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "e95797c5-83a4-4c75-be92-72e6d384dc65",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1632,
        864
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "3e15018a-ae6b-4f37-981f-fcf0536a191a",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1632,
        256
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "ca226bf1-ca53-4167-876a-684a9633ed12",
      "name": "Initialize Folders",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -592,
        512
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "2b5aa7fc-a1ff-4c92-9bea-1e680fecc7cb",
      "name": "R",
      "type": "n8n-nodes-base.ssh",
      "position": [
        -384,
        512
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "4e3a56bf-7e2c-4cc5-9ec1-30077d0567f8",
      "name": "CMF",
      "type": "n8n-nodes-base.ssh",
      "position": [
        -192,
        512
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "f63c3a66-7d25-462e-aa11-c1f557b9da39",
      "name": "CS",
      "type": "n8n-nodes-base.ssh",
      "position": [
        -16,
        512
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "c00930af-07c9-4d91-ac64-b7f92c05f6f0",
      "name": "UV",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        -608,
        960
      ],
      "parameters": {},
      "executeOnce": true,
      "typeVersion": 2.3,
      "alwaysOutputData": false
    },
    {
      "id": "2798229c-d93c-4b95-8038-94c5bf1d7b2b",
      "name": "C",
      "type": "n8n-nodes-base.set",
      "position": [
        -384,
        960
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "3011a48e-9b54-4629-8e86-06f424a91dfd",
      "name": "SUV",
      "type": "n8n-nodes-base.ftp",
      "position": [
        -192,
        960
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "714fd2a5-f94c-48cc-a477-b5999a18937a",
      "name": "EA",
      "type": "n8n-nodes-base.ssh",
      "position": [
        -16,
        960
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "f6e3ab5b-a0ea-482f-b84b-4626b9166330",
      "name": "SDA",
      "type": "n8n-nodes-base.ftp",
      "position": [
        144,
        960
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "ff0da0eb-ee3d-4206-a73c-23776cefe592",
      "name": "WT",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        320,
        960
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "34ddc2ee-1017-4708-a8c5-539aed89c56b",
      "name": "WS",
      "type": "n8n-nodes-base.code",
      "position": [
        480,
        960
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "137327b8-b80f-4f6c-afa7-343367081292",
      "name": "EF",
      "type": "n8n-nodes-base.ssh",
      "position": [
        640,
        960
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "35258c72-3410-4c5c-b606-138bc5e3edd5",
      "name": "M",
      "type": "n8n-nodes-base.merge",
      "position": [
        -384,
        1184
      ],
      "parameters": {},
      "typeVersion": 3.2
    },
    {
      "id": "639dc071-cc16-4dc4-9629-697d4a08a658",
      "name": "SDF",
      "type": "n8n-nodes-base.ftp",
      "position": [
        -192,
        1184
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "f71538dd-e7e9-4862-b97b-430391960697",
      "name": "AF",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        -16,
        1184
      ],
      "parameters": {},
      "typeVersion": 1.8
    },
    {
      "id": "ba0726e2-ee8a-430b-9522-def77393a32d",
      "name": "RT",
      "type": "n8n-nodes-base.code",
      "position": [
        144,
        1184
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "3ab04a9e-c05e-430b-8f34-09b78fb267fc",
      "name": "OS",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        320,
        1184
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "e1a03c8a-0f09-4e6a-abbd-62f55d7a46e3",
      "name": "CV",
      "type": "n8n-nodes-base.code",
      "position": [
        480,
        1184
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "f171edad-2417-4873-ae80-c907185719f4",
      "name": "SUV1",
      "type": "n8n-nodes-base.ftp",
      "position": [
        640,
        1184
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "bfb6e0ef-dd0c-432b-bdd5-c8e9073a2ed9",
      "name": "M1",
      "type": "n8n-nodes-base.merge",
      "position": [
        -16,
        1408
      ],
      "parameters": {},
      "typeVersion": 3.2
    },
    {
      "id": "fb058738-9792-4650-9c56-ec728c75522a",
      "name": "BC",
      "type": "n8n-nodes-base.code",
      "position": [
        144,
        1408
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "f63b54c5-f9c2-4105-b1f5-0c2d028bfb4e",
      "name": "SUV2",
      "type": "n8n-nodes-base.ftp",
      "position": [
        320,
        1408
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "487f4762-75ab-4633-99bd-d14500a21ebf",
      "name": "TM",
      "type": "n8n-nodes-base.ssh",
      "position": [
        480,
        1408
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "ca61f87d-c5c2-4ff8-a275-1befeb437bdf",
      "name": "SDV",
      "type": "n8n-nodes-base.ftp",
      "position": [
        640,
        1408
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "c3e2168b-9e35-44d0-8d11-60e393b59efe",
      "name": "UMV",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        -592,
        1760
      ],
      "parameters": {},
      "executeOnce": true,
      "typeVersion": 2.3,
      "alwaysOutputData": false
    },
    {
      "id": "b9888848-f8b2-4002-9f01-a5e4a323b3ab",
      "name": "S",
      "type": "n8n-nodes-base.code",
      "position": [
        -368,
        1760
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "e7c61c27-acf3-4198-a811-aae2bcba4be8",
      "name": "SUV3",
      "type": "n8n-nodes-base.ftp",
      "position": [
        -208,
        1760
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "f2bea82e-8a39-4215-a0b1-63ac9473ff0a",
      "name": "CO",
      "type": "n8n-nodes-base.code",
      "position": [
        -16,
        1760
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "2abb5730-1b05-46e6-b11e-eec5de7149a7",
      "name": "MV",
      "type": "n8n-nodes-base.ssh",
      "position": [
        144,
        1760
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "d563d45e-c150-433b-b7fe-6337246c5ecd",
      "name": "EA1",
      "type": "n8n-nodes-base.ssh",
      "position": [
        320,
        1760
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "3497bcbe-4bb8-434e-9df2-7dd939ba4a40",
      "name": "SDA1",
      "type": "n8n-nodes-base.ftp",
      "position": [
        480,
        1760
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "98a1d6a3-04e3-4640-85c3-45c1816bfc6d",
      "name": "WT1",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        640,
        1760
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "46772b31-d12e-4b97-8ed1-79225a9f8363",
      "name": "PR",
      "type": "n8n-nodes-base.code",
      "position": [
        144,
        1984
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "d72e003e-334c-4c64-bfe7-e2075c77037e",
      "name": "SUS",
      "type": "n8n-nodes-base.ftp",
      "position": [
        320,
        1984
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "793aa373-2066-4f76-8154-e1bd2b3b7bc4",
      "name": "AS",
      "type": "n8n-nodes-base.ssh",
      "position": [
        480,
        1984
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "a47b9fcc-2ac6-4a3c-8f70-d583dce469ce",
      "name": "SDV1",
      "type": "n8n-nodes-base.ftp",
      "position": [
        640,
        1984
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "fcee54eb-9b6f-42d7-8091-521a366e7cc1",
      "name": "StoreVideo",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        1232,
        1744
      ],
      "parameters": {},
      "typeVersion": 3
    },
    {
      "id": "809c764e-8795-433c-9c83-59ebaa87b795",
      "name": "CleanUp",
      "type": "n8n-nodes-base.ssh",
      "position": [
        1408,
        1744
      ],
      "parameters": {},
      "typeVersion": 1
    }
  ],
  "connections": {
    "C": {
      "main": [
        [
          {
            "node": "SUV",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "M": {
      "main": [
        [
          {
            "node": "SDF",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "R": {
      "main": [
        [
          {
            "node": "CMF",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "S": {
      "main": [
        [
          {
            "node": "SUV3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AF": {
      "main": [
        [
          {
            "node": "RT",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "BC": {
      "main": [
        [
          {
            "node": "SUV2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "CO": {
      "main": [
        [
          {
            "node": "MV",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "CV": {
      "main": [
        [
          {
            "node": "SUV1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "EA": {
      "main": [
        [
          {
            "node": "SDA",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "EF": {
      "main": [
        [
          {
            "node": "M",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "M1": {
      "main": [
        [
          {
            "node": "BC",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "MV": {
      "main": [
        [
          {
            "node": "EA1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OS": {
      "main": [
        [
          {
            "node": "CV",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "PR": {
      "main": [
        [
          {
            "node": "SUS",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "RT": {
      "main": [
        [
          {
            "node": "M1",
            "type": "main",
            "index": 0
          },
          {
            "node": "OS",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "TM": {
      "main": [
        [
          {
            "node": "SDV",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "UV": {
      "main": [
        [
          {
            "node": "C",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "WS": {
      "main": [
        [
          {
            "node": "EF",
            "type": "main",
            "index": 0
          },
          {
            "node": "M",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "WT": {
      "main": [
        [
          {
            "node": "WS",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "CMF": {
      "main": [
        [
          {
            "node": "CS",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "EA1": {
      "main": [
        [
          {
            "node": "SDA1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "SDA": {
      "main": [
        [
          {
            "node": "WT",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "SDF": {
      "main": [
        [
          {
            "node": "AF",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "SDV": {
      "main": [
        [
          {
            "node": "StoreVideo",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "SUS": {
      "main": [
        [
          {
            "node": "AS",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "SUV": {
      "main": [
        [
          {
            "node": "EA",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "UMV": {
      "main": [
        [
          {
            "node": "S",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "WT1": {
      "main": [
        [
          {
            "node": "PR",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "SDA1": {
      "main": [
        [
          {
            "node": "WT1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "SDV1": {
      "main": [
        [
          {
            "node": "StoreVideo",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "SUV1": {
      "main": [
        [
          {
            "node": "M1",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "SUV2": {
      "main": [
        [
          {
            "node": "TM",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "SUV3": {
      "main": [
        [
          {
            "node": "CO",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "StoreVideo": {
      "main": [
        [
          {
            "node": "CleanUp",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Initialize Folders": {
      "main": [
        [
          {
            "node": "R",
            "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 ideal for content creators, training providers, agencies, and businesses that need to quickly turn raw videos into polished, captioned, or narrated content — without hiring editors or spending hours in manual editing tools.

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

More AI & RAG workflows → · Browse all categories →

Related workflows

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

AI & RAG

This workflow was built to solve a real, painful creator problem: you know what to explain, but you don’t like how you sound, hesitate while speaking, or don’t feel fluent enough on camera.

Form Trigger, Ftp, Ssh +4
AI & RAG

Goal: This workflow demonstrates the full fluidX THE EYE integration — starting a live session, inviting both the customer (via SMS) and the service agent (via email), and then accessing the media (ph

Form Trigger, Google Drive, Email Send +3
AI & RAG

What it is An automated LinkedIn content system that takes a simple form (idea + optional file), generates LinkedIn posts with OpenAI, stores them in Notion, builds Google Slides carousels, and auto-p

Form Trigger, OpenAI, Notion +6
AI & RAG

Automate the entire process of converting any website or domain into clean, structured, AI-ready knowledge bases for Large Language Models (LLMs), semantic search, and chatbot development. URL Input v

HTTP Request, Form Trigger, Google Drive +1
AI & RAG

In this tutorial, I’ll show how to create UGC (User Generated Content) videos automatically using n8n and Sora 2.

Form Trigger, Google Drive, HTTP Request +2