{
  "$schema": "https://promptfoo.tech/schemas/workflow-template.json",
  "name": "n8n: Podcast Episode to Blog Post + Clips",
  "slug": "n8n-podcast-repurposing-pipeline",
  "platform": "n8n",
  "category": "n8n",
  "difficulty": "Advanced",
  "tags": [
    "n8n",
    "podcast",
    "whisper",
    "content"
  ],
  "summary": "Drop an MP3 in Dropbox — get a transcript (Whisper), a blog post (Claude), three short-form clips (with timestamps), and a Notion draft.",
  "overview": "A single podcast episode should power a week of content. This n8n workflow watches Dropbox for new audio, transcribes with Whisper, extracts the best 60-90 second moments for social clips, writes a long-form blog post from the transcript, and stages everything as a Notion page ready for review.",
  "variables": {
    "WEBHOOK_URL": "<your webhook URL>",
    "API_KEY": "<your provider API key>"
  },
  "steps": [
    {
      "order": 1,
      "name": "Watch Dropbox",
      "description": "Trigger on new file in /podcast/episodes. Filter to .mp3/.wav/.m4a."
    },
    {
      "order": 2,
      "name": "Chunk long files for Whisper",
      "description": "Whisper's file limit is 25MB. Split with ffmpeg (n8n Execute Command node) if larger."
    },
    {
      "order": 3,
      "name": "Transcribe with timestamps",
      "description": "response_format=verbose_json for per-word timestamps. Reassemble into paragraphs for the blog step."
    },
    {
      "order": 4,
      "name": "Clip extraction prompt",
      "description": "System: 'Return 3 clips as JSON: start, end, hook, why_it_works.'"
    },
    {
      "order": 5,
      "name": "Blog post from transcript",
      "description": "Ask for a 1200-word post with an H1, 5 sections, and 3 tweetable quotes at the top."
    },
    {
      "order": 6,
      "name": "Notion assembly",
      "description": "Single page with structured sections; owner assigned; status=Draft. Editor takes it from there."
    }
  ],
  "howItWorks": [
    "Dropbox trigger on new MP3.",
    "OpenAI Whisper node for transcription with timestamps.",
    "Claude extracts 3 highlight clips (best hooks, self-contained, 60-90s).",
    "Second Claude call writes a 1200-word blog post from the full transcript.",
    "Notion page created with sections: transcript, blog draft, clip timestamps + hooks, cover-image prompt."
  ],
  "benefits": [
    "Every episode yields 4-5 deliverables instead of 1.",
    "Clip timestamps mean your editor spends time cutting, not scrubbing.",
    "Blog draft becomes an SEO play from an audio asset."
  ],
  "useCases": [
    "Solo podcasters without a producer.",
    "Agencies packaging content for client shows.",
    "Internal 'lunch and learn' recordings turned into knowledge base pages."
  ],
  "example": "Clip output: {start:'00:14:20', end:'00:15:42', hook:'The real bottleneck isn't compute, it's judgement', why:'Reframes a common assumption in 8 seconds.'}",
  "faqs": [
    {
      "q": "Alternatives to Whisper?",
      "a": "AssemblyAI has better diarization; Deepgram is faster. Whisper via OpenAI is the cheapest and simplest to wire."
    },
    {
      "q": "Cost per episode?",
      "a": "About $0.30-0.60 for a 60-minute episode across transcription and generation."
    },
    {
      "q": "Video?",
      "a": "Add ffmpeg extraction of vertical crops keyed to the clip timestamps for TikTok/Reels-ready output."
    }
  ],
  "source": "https://promptfoo.tech/workflows/n8n-podcast-repurposing-pipeline",
  "updated": "2026-06-18",
  "license": "CC-BY-4.0"
}