AutomationFlowsContent & Video › Podcast Audio Pipeline (trim → Normalize → Fade → Mp3)

Podcast Audio Pipeline (trim → Normalize → Fade → Mp3)

Podcast Audio Pipeline (Trim → Normalize → Fade → MP3). Uses n8n-nodes-ffmpeg-studio, writeBinaryFile. Event-driven trigger; 6 nodes.

Event trigger★★★★☆ complexity6 nodesN8N Nodes Ffmpeg StudioWrite Binary File
Content & Video Trigger: Event Nodes: 6 Complexity: ★★★★☆ Added:

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
{
  "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"
    ]
  }
}
Pro

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 →

More Content & Video workflows → · Browse all categories →

Related workflows

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

Content & Video

The Recap AI - Podcast Generator. Uses httpRequest, stopAndError, chainLlm, lmChatGoogleGemini. Event-driven trigger; 14 nodes.

HTTP Request, Stop And Error, Chain Llm +1
Content & Video

Export Wordpress Posts To Spreadsheet. Uses manualTrigger, wordpress, spreadsheetFile, writeBinaryFile. Event-driven trigger; 4 nodes.

WordPress, Spreadsheet File, Write Binary File
Content & Video

Wordpress-to-csv. Uses manualTrigger, wordpress, spreadsheetFile, writeBinaryFile. Event-driven trigger; 4 nodes.

WordPress, Spreadsheet File, Write Binary File
Content & Video

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.

HTTP Request, Google Sheets
Content & Video

This workflow is for content teams, marketers, and solo site owners who draft posts in Google Sheets and want a reliable way to publish to WordPress automatically — including featured images and tags.

HTTP Request, Google Sheets