DEV Community

Javid Jamae
Javid Jamae

Posted on • Originally published at ffmpeg-micro.com

RSS Feed to YouTube Short: Build the Full Pipeline

Originally published at ffmpeg-micro.com

Every time a new article drops in your RSS feed, you could turn it into a YouTube Short. Not manually. Fully automated: new post triggers the pipeline, and a finished Short lands in your upload queue.

The Pipeline Architecture

Five stages, each handled by a different tool:

  • RSS trigger catches new articles (n8n, Make.com, or a cron job)
  • LLM rewrites the article into a 30-60 second script
  • TTS converts the script to audio (ElevenLabs, OpenAI TTS)
  • FFmpeg Micro composites the audio over background video with text overlay
  • Upload pushes the finished Short to YouTube

Stage 1: RSS Trigger

In n8n, drop an RSS Feed Trigger node pointing at your source feed. It fires every time a new item appears and outputs the article title, link, and content body.

Stage 2: LLM Script Generation

Feed the article body to an LLM with a prompt that outputs a tight script. YouTube Shorts max out at 60 seconds, so aim for 120-180 words.

Stage 3: Text-to-Speech

Send the script to a TTS API (ElevenLabs, OpenAI TTS, or Google Cloud TTS), then upload the audio to FFmpeg Micro for the composition step.

Stage 4: Compose with FFmpeg Micro

This is where it comes together. FFmpeg Micro merges background video with narration audio and adds text overlay:

curl -s -X POST "https://api.ffmpeg-micro.com/v1/transcodes" \
  -H "Authorization: Bearer $FFMPEG_MICRO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "inputs": [
      {"url": "https://your-bucket.com/background-9x16.mp4"},
      {"url": "gs://your-bucket/narration.mp3"}
    ],
    "outputFormat": "mp4",
    "options": [
      {"option": "@text-overlay", "argument": {
        "text": "Your headline here",
        "style": {"charsPerLine": 18, "fontSize": 60, "lineSpacing": 15}
      }}
    ]
  }'
Enter fullscreen mode Exit fullscreen mode

The @text-overlay virtual option handles font rendering, positioning, and line breaking automatically.

Stage 5: Upload to YouTube

Download the finished video and push it to YouTube via the Data API. n8n has a built-in YouTube node that handles this.

Read the full guide with all code examples and pitfalls on ffmpeg-micro.com.

Top comments (0)