Make 100 shorts in under a minute with Bash + FFmpeg Micro

This is the bash version of our popular N8N viral shorts automation — same pipeline, no N8N required. Point it at a CSV of text and a folder of b-roll clips, and it picks a random clip for each line, uploads it to FFmpeg Micro, adds a text overlay, and downloads the finished short. All 100 pipelines run in parallel.

📥

Download Resources for This Video

Get the bash script plus a sample CSV of quotes — completely free.

Already have an account? Log in

What You'll Learn

  • Parallel video processing — fire off 100 transcode jobs at once, no queueing
  • The @text-overlay filter — how to position, style, and render text on video via API
  • CSV-driven workflows — turn a spreadsheet of ideas into finished videos
  • Zero-install pipelines — no local FFmpeg, no servers, no Docker
  • Rate-limited submission — respect concurrency limits while maxing throughput

How the Script Works

Each line in the CSV runs through a full six-step pipeline, and all pipelines run in parallel:

  1. Pick a random b-roll clip from your local folder
  2. Get a presigned upload URLPOST /v1/upload/presigned-url
  3. Upload the clipPUT directly to cloud storage
  4. Confirm the uploadPOST /v1/upload/confirm
  5. Submit the transcodePOST /v1/transcodes with @text-overlay
  6. Poll and download — save as short-001.mp4, short-002.mp4, etc.

The @text-overlay style params are identical to the N8N automation (charsPerLine, fontSize, lineSpacing, box border) so the output looks the same. Throughput is capped by CONCURRENCY(default 20) so you stay inside your plan's concurrency limit.

What You'll Need

  • 🔧 Bash + curl + python3 — already installed on macOS and Linux
  • 🔑 FFmpeg Micro API key — free tier, no credit card required
  • 📄 A CSV of text lines — quotes, tips, hooks — whatever you want on screen
  • 🎬 A folder of b-roll clips — .mp4, .mov, or .m4v (the script picks one randomly per line)

Cost Breakdown

Generating 100 × 10-second shorts on FFmpeg Micro:

  • Free tier: 20 minutes/month — enough for ~120 ten-second shorts
  • Starter plan ($5/mo): 100 minutes — 600+ shorts
  • No server costs, no FFmpeg install, no infrastructure to maintain

Run It

export FFMPEG_MICRO_API_KEY=sk_live_xxx
./bulk-shorts.sh sample-quotes.csv ./b-roll ./shorts

That's it. Come back in a few minutes and ./shorts/ will be full of finished MP4s ready to upload to TikTok, Reels, and YouTube Shorts.

Ready to Scale?

Process videos at scale with the FFmpeg Micro API. No servers, no FFmpeg install.

Start Free