Skip to main content

Convert RSS feeds into a podcast with Google Gemini, Kokoro TTS, and FFmpeg

Workflow preview

Workflow preview
100%
Convert RSS feeds into a podcast with Google Gemini, Kokoro TTS, and FFmpeg preview
Open on n8n.io

Important notice

This workflow is provided as-is. Please review and test before using in production.

1. Workflow Overview

Daily RSS Digest & Podcast Generation This workflow automates the creation of a daily sports podcast from your favorite news sources. It fetches articles, uses AI to write a digest and a two per...

Best for

  • Content Creation automation workflows
  • Multimodal AI automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

@n8n/n8n-nodes-langchain.lmchatgooglegemini, n8n-nodes-base.stickynote, n8n-nodes-base.scheduletrigger, n8n-nodes-base.rssfeedread, n8n-nodes-base.set, n8n-nodes-base.merge, n8n-nodes-base.filter, n8n-nodes-base.code

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Jonas.

Original n8n.io source

1.1 Workflow description

Title
Convert RSS feeds into a podcast with Google Gemini, Kokoro TTS, and FFmpeg
Workflow name
Convert RSS feeds into a podcast with Google Gemini, Kokoro TTS, and FFmpeg

🎧 Daily RSS Digest & Podcast Generation

This workflow automates the creation of a daily sports podcast from your favorite news sources. It fetches articles, uses AI to write a digest and a two-person dialogue, and produces a single, merged audio file with KOKORO TTS ready for listening.

✨ How it works:

πŸ“° Fetch & Filter Daily News: The workflow triggers daily, fetches articles from your chosen RSS feeds, and filters them to keep only the most recent content.

✍️ Generate AI Digest & Script:

Using Google Gemini, it first creates a written summary of the day's news. A second AI agent then transforms this news into an engaging, conversational podcast script between two distinct AI speakers.

πŸ—£οΈ Generate Voices in Chunks:

The script is split into individual lines of dialogue. The workflow then loops through each line, calling a Text-to-Speech (TTS) API to generate a separate audio file (an MP3 chunk) for each part of the conversation.

πŸŽ›οΈ Merge Audio with FFmpeg:

After all the audio chunks are created and saved locally, a command-line script generates a list of all the files and uses FFmpeg to losslessly merge them into a single, seamless MP3 file. All temporary files are then deleted.

πŸ“€ Send the Final Podcast:

The final, merged MP3 is read from the server and delivered directly to your Telegram chat with a dynamic, dated filename.

You can modify:

  • πŸ“° The RSS Feeds to any news source you want.
  • πŸ€– The AI Prompts to change the tone, language, or style of the digest and podcast.
  • πŸŽ™οΈ The TTS Voices used for the two speakers.
  • πŸ“« The Final Delivery Method (e.g., send to Discord, save to Google Drive, etc.).

Perfect for creating a personalized, hands-free news briefing to listen to on your commute.

Inspired by: https://n8n.io/workflows/6523-convert-newsletters-into-ai-podcasts-with-gpt-4o-mini-and-elevenlabs/

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - Google Gemini Chat Model

Type / Role
@n8n/n8n-nodes-langchain.lmChatGoogleGemini - lmChatGoogleGemini
Config choices
Version 1

Block 2 - Google Gemini Chat Model1

Type / Role
@n8n/n8n-nodes-langchain.lmChatGoogleGemini - lmChatGoogleGemini
Config choices
Version 1

Block 3 - Sticky Note1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 4 - Sticky Note

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 5 - Daily Trigger

Type / Role
n8n-nodes-base.scheduleTrigger - scheduleTrigger
Config choices
Version 1.2

Block 6 - Fetch RSS 1: Folha de SP

Type / Role
n8n-nodes-base.rssFeedRead - rssFeedRead
Config choices
Version 1.1

Block 7 - Fetch RSS 2: GE

Type / Role
n8n-nodes-base.rssFeedRead - rssFeedRead
Config choices
Version 1.2

Block 8 - Clean Up Fields

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 9 - Clean Up Fields1

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 10 - Merge News Sources

Type / Role
n8n-nodes-base.merge - merge
Config choices
Version 3

Block 11 - Filter for Last 24hrs' News

Type / Role
n8n-nodes-base.filter - filter
Config choices
Version 2.2

Block 12 - Prepare Data for AI

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 13 - Create Temp Directory

Type / Role
n8n-nodes-base.executeCommand - executeCommand
Config choices
Version 1

Block 14 - Generate Text Digest

Type / Role
@n8n/n8n-nodes-langchain.agent - agent
Config choices
Version 2

Block 15 - Send Text Digest

Type / Role
n8n-nodes-base.telegram - telegram
Config choices
Version 1.2

Block 16 - Generate Podcast Script

Type / Role
@n8n/n8n-nodes-langchain.agent - agent
Config choices
Version 2

Block 17 - Sticky Note2

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 18 - Split Script by Speaker

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 19 - Loop Through Segments

Type / Role
n8n-nodes-base.splitInBatches - splitInBatches
Config choices
Version 3

Block 20 - Clean Dialogue Segment

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 21 - Route to Correct Voice

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.2

Block 22 - Prepare Text for TTS

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 23 - Prepare Text for TTS1

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 24 - Generate Audio (Voice 1)

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Showing the first 24 of 34 workflow blocks. Download the JSON for the full node graph.

3. Summary Table

Workflow Convert RSS feeds into a podcast with Google Gemini, Kokoro TTS, and FFmpeg
Complexity advanced
Nodes 34
Categories Content Creation, Multimodal AI
Author Jonas
Published 03 Aug 2025

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/6945/6945.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Convert RSS feeds into a podcast with Google Gemini, Kokoro TTS, and FFmpeg do?

Daily RSS Digest & Podcast Generation This workflow automates the creation of a daily sports podcast from your favorite news sources. It fetches articles, uses AI to write a digest and a two per...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your Content Creation, Multimodal AI use case.