Generate & Translate Video Subtitles with OpenAI Whisper and LibreTranslate
Needs changesWhat this workflow does
This workflow has 9 nodes and runs when an HTTP POST request hits its webhook URL. Along the way it connects Gmail. It also calls libretranslate.com over HTTP.
How it runs
Trigger: When an HTTP POST request hits its webhook URL.
- Download Video (HTTP Request): calls an HTTP API
- Extract Audio (FFmpeg) (Execute Command): runs a shell command on the n8n host
- Run Whisper (Local) (Execute Command): runs a shell command on the n8n host
- Read SRT File (Read Binary File): uses Read Binary File
- Merge: merges the data from its input branches
- Send a message (Gmail): uses Gmail
- Translate Subtitles (LibreTranslate) (HTTP Request): calls libretranslate.com
- Write Translated SRT (Write Binary File): uses Write Binary File
Services it uses
HTTP calls to: libretranslate.com
Before you upgrade to n8n 3.0
2 things in this workflow are removed in n8n 3.0. Fix them before you upgrade:
- Read Binary File in Read SRT File: replace with Read/Write Files from Disk.
- Write Binary File in Write Translated SRT: replace with Read/Write Files from Disk.
Rather not rewrite it? Many of these flows can be rebuilt in Make (free plan).
| Removed in 3.0 | Replace with |
|---|---|
| Read Binary File Read SRT File | Read/Write Files from Disk |
| Write Binary File Write Translated SRT | Read/Write Files from Disk |
Nodes used (7)
- Webhook
n8n-nodes-base.webhook - HTTP Request
n8n-nodes-base.httpRequest - Execute Command
n8n-nodes-base.executeCommand - Read Binary File
n8n-nodes-base.readBinaryFile - Write Binary File
n8n-nodes-base.writeBinaryFile - Merge
n8n-nodes-base.merge - Gmail
n8n-nodes-base.gmail
From the author
This n8n template demonstrates how to automatically generate accurate subtitles from any video and optionally translate them into other languages. By combining FFmpeg, OpenAI Whisper, and LibreTranslate, this workflow turns video audio into ready-to-use .srt…