n8n logon8n Automation Hub
Build breakdown

The 25MB Limit That Broke My Podcast Transcription Pipeline

Build breakdown · n8n workflow · August 31, 2026

The pipeline had already processed a dozen short test clips without a single failure. Then I pointed it at a real, full-length podcast episode for the first time, and it died on step one β€” not because the idea was wrong, but because every test I'd run so far had accidentally been too small to find this bug.

Workflow at a glance
  1. AI clipping pipeline extracts audio from a long video with ffmpeg, then sends it to Groq's Whisper API for transcription
  2. Worked cleanly through every short test clip during development
  3. The first real ~70-minute episode failed immediately with β€œRequest Entity Too Large”
  4. Root cause: the ffmpeg extraction settings were sized for short clips, not full episodes β€” output audio came out at 34.2MB, over Groq's 25MB API limit
  5. Fixed by lowering the extraction bitrate from 64kbps to 32kbps mono
  6. 32kbps mono 16kHz audio stays under 25MB up to roughly 104 minutes β€” safe margin for this show's episode lengths
Screenshot of the actual n8n workflow canvas: the AI clipping pipeline, including the ffmpeg audio-extraction step and the Groq Whisper Transcription node that rejected the oversized file

The actual workflow canvas, straight from my n8n instance.

A pipeline that worked, right up until it met a real episode

The clipping pipeline's job is simple to describe: take a long video, pull the audio out with ffmpeg, transcribe it with Groq's Whisper API, hand the transcript to an LLM to pick the best moments, then render short clips from the result. Every piece of that had been tested β€” on short clips, a few minutes each, built specifically to exercise the pipeline without waiting around for a real download and a real transcription every time.

The first real production input was a podcast episode running close to seventy minutes. It failed at the very first network call the pipeline makes after extraction β€” the request to Groq's Whisper endpoint β€” with Request Entity Too Large.

The error Groq actually returns

The extracted audio file for that episode came out at 34.2MB. Groq's Whisper API has a hard 25MB limit per request, and the API doesn't chunk or downsample anything on its end β€” it just rejects the file. Nothing about the short test clips had ever come close to that ceiling, which is exactly why the bug had stayed invisible through every earlier test run.

The ffmpeg extraction step was set to -c:a libmp3lame -b:a 64k -ar 16000 -ac 1 β€” 64kbps mono, 16kHz sample rate. That's a perfectly reasonable setting for a two-minute test clip. It's also a setting that scales linearly with runtime, and nobody had done the arithmetic for a seventy-minute file before this ran.

Why a bitrate change was the right fix, not a workaround

The tempting quick fix here is to catch the error and split the audio into chunks before sending it β€” more moving parts, more places for the pipeline to break. The actual fix was smaller: drop the extraction bitrate to 32kbps mono. Whisper's transcription quality doesn't meaningfully degrade at 32kbps for spoken-word audio β€” it isn't music, there's no reason to protect frequency range that speech doesn't use β€” and cutting the bitrate in half cuts the file size in half for the same runtime.

The number that made the fix durable, not just a patch

32kbps mono at 16kHz stays under Groq's 25MB limit up to roughly 104 minutes of audio. That's not a guess β€” it's the actual ceiling this specific setting buys, and it's comfortably above every episode length this show has run so far. The fix isn't β€œmake this one episode work,” it's β€œmake the whole show's realistic episode-length range work without hitting this again,” which is the difference between a fix and a patch that fails again on the next slightly-longer episode.

What I'd check before the next long-form input

Any pipeline step whose resource cost scales with input length needs its test data to actually reach production scale at least once before going live β€” a two-minute test clip cannot surface a limit that only bites past the 25-30 minute mark. If a future episode runs past 100 minutes, the same math says drop further, to 24k or 16k, or split the audio into chunks before transcription instead of relying on bitrate alone.

Feeding real-world input sizes through an AI pipeline and not sure where it'll actually break?

I build and stress-test n8n automation pipelines against realistic production data, not just clean demo inputs.