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 →
{
"name": "Podcast Audio Pipeline (Trim \u2192 Normalize \u2192 Fade \u2192 MP3)",
"nodes": [
{
"parameters": {},
"id": "trigger-001",
"name": "Start",
"type": "n8n-nodes-base.manualTrigger",
"typeVersion": 1,
"position": [
100,
300
]
},
{
"parameters": {
"operation": "trim",
"inputFile": "/path/to/raw-recording.wav",
"startTime": "5",
"endTime": "3600"
},
"id": "trim-001",
"name": "Trim Intro Silence",
"type": "n8n-nodes-ffmpeg-studio.ffmpegAudio",
"typeVersion": 1,
"position": [
340,
300
]
},
{
"parameters": {
"operation": "loudnorm",
"inputFile": "={{ $json.filePath }}",
"integratedLoudness": -16,
"truePeak": -1.5,
"lra": 11
},
"id": "norm-001",
"name": "Loudness Normalize (-16 LUFS)",
"type": "n8n-nodes-ffmpeg-studio.ffmpegAudio",
"typeVersion": 1,
"position": [
580,
300
]
},
{
"parameters": {
"operation": "fade",
"inputFile": "={{ $json.filePath }}",
"fadeInDuration": "2",
"fadeOutDuration": "3"
},
"id": "fade-001",
"name": "Add Fade In/Out",
"type": "n8n-nodes-ffmpeg-studio.ffmpegAudio",
"typeVersion": 1,
"position": [
820,
300
]
},
{
"parameters": {
"operation": "convert",
"inputFile": "={{ $json.filePath }}",
"outputFormat": "mp3",
"audioBitrate": "192k",
"audioCodec": "libmp3lame"
},
"id": "export-001",
"name": "Export MP3 192kbps",
"type": "n8n-nodes-ffmpeg-studio.ffmpegAudio",
"typeVersion": 1,
"position": [
1060,
300
]
},
{
"parameters": {
"fileName": "podcast-episode.mp3"
},
"id": "write-001",
"name": "Write MP3 File",
"type": "n8n-nodes-base.writeBinaryFile",
"typeVersion": 1,
"position": [
1300,
300
]
}
],
"connections": {
"Start": {
"main": [
[
{
"node": "Trim Intro Silence",
"type": "main",
"index": 0
}
]
]
},
"Trim Intro Silence": {
"main": [
[
{
"node": "Loudness Normalize (-16 LUFS)",
"type": "main",
"index": 0
}
]
]
},
"Loudness Normalize (-16 LUFS)": {
"main": [
[
{
"node": "Add Fade In/Out",
"type": "main",
"index": 0
}
]
]
},
"Add Fade In/Out": {
"main": [
[
{
"node": "Export MP3 192kbps",
"type": "main",
"index": 0
}
]
]
},
"Export MP3 192kbps": {
"main": [
[
{
"node": "Write MP3 File",
"type": "main",
"index": 0
}
]
]
}
},
"settings": {},
"meta": {
"description": "Full podcast production pipeline: trim silence, loudness-normalize to -16 LUFS (podcast standard), add fade in/out, export as broadcast-quality MP3.",
"tags": [
"audio",
"podcast",
"loudnorm",
"mp3",
"broadcast"
]
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Podcast Audio Pipeline (Trim → Normalize → Fade → MP3). Uses n8n-nodes-ffmpeg-studio, writeBinaryFile. Event-driven trigger; 6 nodes.
Source: https://github.com/ArielleTolome/n8n-nodes-ffmpeg/blob/main/examples/podcast-audio-pipeline.json — 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.
The Recap AI - Podcast Generator. Uses httpRequest, stopAndError, chainLlm, lmChatGoogleGemini. Event-driven trigger; 14 nodes.
Export Wordpress Posts To Spreadsheet. Uses manualTrigger, wordpress, spreadsheetFile, writeBinaryFile. Event-driven trigger; 4 nodes.
Wordpress-to-csv. Uses manualTrigger, wordpress, spreadsheetFile, writeBinaryFile. Event-driven trigger; 4 nodes.
Creating high-quality, SEO-friendly blog posts consistently can be time-consuming. This template helps content creators, bloggers, SEO specialists, and agencies fully automate their blogging workflow.
AI-Generated Summary Block for WordPress Posts - with OpenAI, WordPress, Google Sheets & Slack. Uses httpRequest, googleSheets, slack, wordpress. Event-driven trigger; 32 nodes.