{"product_id":"burn-word-highlighted-karaoke-captions-with-ffmpeg-in-n8n","title":"Burn Word-Highlighted Karaoke Captions with FFmpeg in n8n","description":"\u003ch3\u003eTurn your narrated videos into word-highlighted karaoke captions—automatically, inside n8n\u003c\/h3\u003e\n\u003cp\u003eThis n8n workflow takes a video and its full script, estimates per-word timings, generates karaoke-style ASS subtitles, and uses FFmpeg (libass) to burn word-highlighted captions directly into the video—so users can download the finished captioned file.\u003c\/p\u003e\n\n\u003ch3\u003eWhat this workflow does\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cb\u003eCollect inputs via an n8n form trigger:\u003c\/b\u003e receives an uploaded video file and the complete caption script text.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cb\u003eCreate temporary workspace:\u003c\/b\u003e generates a unique temporary folder, saves the uploaded video to disk, and prepares file paths plus a word list from the script.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cb\u003eMeasure the actual video properties:\u003c\/b\u003e runs \u003cb\u003eFFprobe\u003c\/b\u003e to read duration and resolution.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cb\u003eEstimate word timings:\u003c\/b\u003e computes per-word timing estimates weighted by character length, then groups words into readable caption lines.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cb\u003eGenerate karaoke ASS captions:\u003c\/b\u003e creates a .ass subtitle file sized to the video using karaoke-tag styling.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cb\u003eBurn highlighted captions into the video:\u003c\/b\u003e calls \u003cb\u003eFFmpeg with libass\u003c\/b\u003e using the subtitles filter, burning the ASS captions while copying the original audio stream.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cb\u003eReturn output and a short report:\u003c\/b\u003e outputs the captioned video plus a summary (duration, word count, and line count).\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eUse cases\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cb\u003eCreator workflow:\u003c\/b\u003e publish narrated explainers with precise-looking (word-by-word) karaoke captions.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cb\u003eLocalization prep:\u003c\/b\u003e quickly visualize timing alignment for scripts before manual editing.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cb\u003eLearning content:\u003c\/b\u003e generate engaging captioned videos for language study and transcript-based training.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eTechnical details\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eRun on \u003cb\u003eself-hosted n8n\u003c\/b\u003e with \u003cb\u003eExecute Command\u003c\/b\u003e node access (n8n Cloud not supported).\u003c\/li\u003e\n  \u003cli\u003eRequires \u003cb\u003eFFmpeg and FFprobe\u003c\/b\u003e installed on the same machine and available in PATH.\u003c\/li\u003e\n  \u003cli\u003eFFmpeg must be built \u003cb\u003ewith libass support\u003c\/b\u003e (plain macOS Homebrew FFmpeg may not meet this requirement).\u003c\/li\u003e\n  \u003cli\u003eWorkflow uses: \u003cb\u003eCode\u003c\/b\u003e, \u003cb\u003eForm Trigger\u003c\/b\u003e, \u003cb\u003eRead\/Write File\u003c\/b\u003e, and \u003cb\u003eExecute Command\u003c\/b\u003e (plus supporting notes).\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"N8N Commerce","offers":[{"title":"Default Title","offer_id":45872818258099,"sku":"N8N-18486","price":14.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0749\/6279\/6723\/files\/s1HnUEpCgSQMM_Mzi8eGt_jxRV63KR.png?v=1787216727","url":"https:\/\/buyflowscripts.com\/products\/burn-word-highlighted-karaoke-captions-with-ffmpeg-in-n8n","provider":"N8N Commerce","version":"1.0","type":"link"}