Eight videos published daily — script, voice, video, thumbnail, upload — at $0/month.
n8n · FFmpeg · Kokoro TTS · Docker
00 brief
Content channels die because production costs time or money every single day. The only pipeline that survives is one that costs neither.
built for — Personal / Schmoozzer channels.
“The best unit economics in content is a pipeline that runs itself for free.”
01 the system
step 01
n8n orchestrates, a microservice renders
n8n chokes on large binary data, so rendering moved to a custom Flask + Docker FFmpeg microservice on ARM64 — n8n handles logic, the microservice handles bytes.
step 02
ElevenLabs quality at $0
Self-hosted Kokoro TTS (82M params) replaces a paid voice API — the single decision that takes the pipeline from $lots/month to $0/month.
step 03
Cinema tricks in FFmpeg
Ken Burns pans, karaoke subtitles, audio mixing, 9:16 reframing — all scripted FFmpeg filter graphs, no editor ever opens.
step 04
Publish and repeat
Thumbnails generate, uploads go out via the Data API, and the queue refills — 6 Shorts and 2 long-form videos every day.
02 the hard parts
incident report · 01
n8n binary data limitations
Passing video files through n8n nodes hits memory limits and stalls the whole pipeline.
resolutionA dedicated FFmpeg microservice (Flask + Docker, ARM64) — n8n passes references, not bytes. The pipeline stopped stalling permanently.
incident report · 02
Voice costs at scale
8 videos/day of paid TTS is a real bill that compounds monthly.
resolutionSelf-hosted Kokoro (82M param, ElevenLabs-quality) on the same free-tier ARM64 box. Marginal cost per video: zero.
03 results
8 videos published daily (6 Shorts + 2 long-form) with zero human input.