mcpField
A
ai-podcast-creation

ai-podcast-creation

github.com/inference-shCreative & media7891.0k installsUpdated 2w ago
Repository

About ai-podcast-creation

A belt CLI skill for creating podcast and audio content with AI models. It provides workflows for script generation, single- or multi-voice narration, and adding music or sound effects.

Key features

  1. 01Single- and multi-voice narration
  2. 02Podcast script generation workflow
  3. 03Voice selection for different formats
  4. 04Music and sound-effect workflows
  5. 05Audiobook narration guidance

Use cases

  1. 01Producing a podcast episode
  2. 02Creating a two-speaker interview
  3. 03Turning documents into discussion scripts
  4. 04Narrating audiobook chapters

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/inference-sh/skills --skill ai-podcast-creation

After installing, type/ai-podcast-creationin Claude Code to confirm it loaded.

Details

From the project README

Install the belt CLI skill: npx skills add belt-sh/cli

AI Podcast Creation

Create AI-powered podcasts and audio content via inference.sh CLI.

AI Podcast Creation

Quick Start

Requires inference.sh CLI (belt). Install instructions

belt login

# Generate podcast segment
belt app run falai/kokoro-tts --input '{
  "prompt": "Welcome to the AI Frontiers podcast. Today we explore the latest developments in generative AI.",
  "voice": "am_michael"
}'

Available Voices

Kokoro TTS
Voice IDDescriptionBest For
af_sarahAmerican female, warmHost, narrator
af_nicoleAmerican female, professionalNews, business
am_michaelAmerican male, authoritativeDocumentary, tech
am_adamAmerican male, conversationalCasual podcast
bf_emmaBritish female, refinedAudiobooks
bm_georgeBritish male, classicFormal content
DIA TTS (Conversational)
Voice IDDescriptionBest For
dia-conversationalNatural conversationDialogue, interviews
Chatterbox
Voice IDDescriptionBest For
chatterbox-defaultExpressiveCasual, entertainment

Podcast Workflows

Simple Narration
# Single voice podcast segment
belt app run falai/kokoro-tts --input '{
  "prompt": "Your podcast script here. Make it conversational and engaging. Add natural pauses with punctuation.",
  "voice": "am_michael"
}'
Multi-Voice Conversation
# Host introduction
belt app run falai/kokoro-tts --input '{
  "prompt": "Welcome back to Tech Talk. Today I have a special guest to discuss AI developments.",
  "voice": "am_michael"
}' > host_intro.json

# Guest response
belt app run falai/kokoro-tts --input '{
  "prompt": "Thanks for having me. I am excited to share what we have been working on.",
  "voice": "af_sarah"
}' > guest_response.json

# Merge into conversation (no inference.sh app concatenates audio; use ffmpeg locally)
curl -L -o host.mp3 "<host-url>"
curl -L -o guest.mp3 "<guest-url>"
ffmpeg -i host.mp3 -i guest.mp3 -filter_complex "acrossfade=d=0.5" conversation.mp3
Full Episode Pipeline
# 1. Generate script with Claude
belt app run openrouter/claude-sonnet-45 --input '{
  "prompt": "Write a 5-minute podcast script about the impact of AI on creative work. Format as a two-person dialogue between HOST and GUEST. Include natural conversation, questions, and insights."
}' > script.json

# 2. Generate intro music
belt app run infsh/ai-music --input '{
  "prompt": "Podcast intro music, upbeat, modern, tech feel, 15 seconds"
}' > intro_music.json

# 3. Generate host segments
belt app run falai/kokoro-tts --input '{
  "prompt": "<host-lines>",
  "voice": "am_michael"
}' > host.json

# 4. Generate guest segments
belt app run falai/kokoro-tts --input '{
  "prompt": "<guest-lines>",
  "voice": "af_sarah"
}' > guest.json

# 5. Generate outro music
belt app run infsh/ai-music --input '{
  "prompt": "Podcast outro music, matching intro style, fade out, 10 seconds"
}' > outro_music.json

# 6. Merge everything (no inference.sh app concatenates audio; use ffmpeg locally)
curl -L -o intro.mp3 "<intro-music>"
curl -L -o host.mp3 "<host>"
curl -L -o guest.mp3 "<guest>"
curl -L -o outro.mp3 "<outro-music>"
ffmpeg -i intro.mp3 -i host.mp3 -i guest.mp3 -i outro.mp3 -filter_complex \
  "[0][1]acrossfade=d=1[a];[a][2]acrossfade=d=1[b];[b][3]acrossfade=d=1" episode.mp3
NotebookLM-Style Content

Generate podcast-style discussions from documents.

# 1. Extract key points
belt app run openrouter/claude-sonnet-45 --input '{
  "prompt": "Read this document and create a podcast script where two hosts discuss the key points in an engaging, conversational way. Include questions, insights, and natural dialogue.\n\nDocument:\n<your-document-content>"
}' > discussion_script.json

# 2. Generate Host A
belt app run falai/kokoro-tts --input '{
  "prompt": "<host-a-lines>",
  "voice": "am_michael"
}' > host_a.json

# 3. Generate Host B
belt app run falai/kokoro-tts --input '{
  "prompt": "<host-b-lines>",
  "voice": "af_sarah"
}' > host_b.json

# 4. Interleave and merge (no inference.sh app concatenates audio; use ffmpeg locally)
curl -L -o a1.mp3 "<host-a-1>"; curl -L -o b1.mp3 "<host-b-1>"
curl -L -o a2.mp3 "<host-a-2>"; curl -L -o b2.mp3 "<host-b-2>"
ffmpeg -i a1.mp3 -i b1.mp3 -i a2.mp3 -i b2.mp3 -filter_complex \
  "[0][1]acrossfade=d=0.3[a];[a][2]acrossfade=d=0.3[b];[b][3]acrossfade=d=0.3" conversation.mp3
Audiobook Chapter
# Long-form narration
belt app run falai/kokoro-tts --input '{
  "prompt": "Chapter One. It was a dark and stormy night when the first AI achieved consciousness...",
  "voice": "bf_emma",
  "language": "british-english",
  "speed": 0.9
}'

Audio Enhancement

Add Background Music
# 1. Generate podcast audio
belt app run falai/kokoro-tts --input '{
  "prompt": "<podcast-script>",
  "voice": "am_michael"
}' > podcast.json

# 2. Generate ambient music
belt app run infsh/ai-music --input '{
  "prompt": "Soft ambient background music for podcast, subtle, non-distracting, loopable"
}' > background.json

# 3. Mix with lower background volume (no inference.sh app mixes audio; use ffmpeg locally)
curl -L -o podcast.mp3 "<podcast-url>"
curl -L -o background.mp3 "<background-url>"
ffmpeg -i podcast.mp3 -stream_loop -1 -i background.mp3 -filter_complex \
  "[1]volume=0.15[bg];[0][bg]amix=inputs=2:duration=first" mixed.mp3
Add Sound Effects
# Transition sounds between segments
belt app run infsh/ai-music --input '{
  "prompt": "Short podcast transition sound, whoosh, 2 seconds"
}' > transition.json

Script Writing Tips

Prompt for Claude
belt app run openrouter/claude-sonnet-45 --input '{
  "prompt": "Write a podcast script with these requirements:
  - Topic: [YOUR TOPIC]
  - Duration: 5 minutes (about 750 words)
  - Format: Two hosts (HOST_A and HOST_B)
  - Tone: Conversational, informative, engaging
  - Include: Hook intro, 3 main points, call to action
  - Mark speaker changes clearly

  Make it sound natural, not scripted. Add verbal fillers like \"you know\" and \"I mean\" occasionally."
}'

Podcast Templates

Interview Format
HOST: Introduction and welcome
GUEST: Thank you, happy to be here
HOST: First question about background
GUEST: Response with story
HOST: Follow-up question
GUEST: Deeper insight
... continue pattern ...
HOST: Closing question
GUEST: Final thoughts
HOST: Thank you and outro
Solo Episode
Introduction with hook
Topic overview
Point 1 with examples
Point 2 with examples
Point 3 with examples
Summary and takeaways
Call to action
Outro
News Roundup
Intro music
Welcome and date
Story 1: headline + details
Story 2: headline + details
Story 3: headline + details
Analysis/opinion segment
Outro

Best Practices

  1. Natural punctuation - Use commas and periods for pacing
  2. Short sentences - Easier to speak and listen
  3. Varied voices - Different speakers prevent monotony
  4. Background music - Subtle, at 10-15% volume
  5. Crossfades - Smooth transitions between segments
  6. Edit scripts - Remove filler before generating

Related Skills

# Text-to-speech models
npx skills add inference-sh/skills@text-to-speech

# AI music generation
npx skills add inference-sh/skills@ai-music-generation

# LLM for scripts
npx skills add inference-sh/skills@llm-models

# Content pipelines
npx skills add inference-sh/skills@ai-content-pipeline

# Full platform skill
npx skills add inference-sh/skills@infsh-cli

Browse all apps: belt app list --category audio

Comments

Markdown supported