ai-podcast-creation
AI Podcast Creation
Create AI-powered podcasts and audio content via inference.sh CLI.

Quick Start
Requires inference.sh CLI (
belt). Install instructions
belt login
# Generate podcast segment
belt app run infsh/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 ID | Description | Best For |
|---|---|---|
af_sarah |
American female, warm | Host, narrator |
af_nicole |
American female, professional | News, business |
am_michael |
American male, authoritative | Documentary, tech |
am_adam |
American male, conversational | Casual podcast |
bf_emma |
British female, refined | Audiobooks |
bm_george |
British male, classic | Formal content |
DIA TTS (Conversational)
| Voice ID | Description | Best For |
|---|---|---|
dia-conversational |
Natural conversation | Dialogue, interviews |
Chatterbox
| Voice ID | Description | Best For |
|---|---|---|
chatterbox-default |
Expressive | Casual, entertainment |
Podcast Workflows
Simple Narration
# Single voice podcast segment
belt app run infsh/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 infsh/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 infsh/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
belt app run infsh/media-merger --input '{
"audio_files": ["<host-url>", "<guest-url>"],
"crossfade_ms": 500
}'
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 infsh/kokoro-tts --input '{
"prompt": "<host-lines>",
"voice": "am_michael"
}' > host.json
# 4. Generate guest segments
belt app run infsh/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
belt app run infsh/media-merger --input '{
"audio_files": [
"<intro-music>",
"<host>",
"<guest>",
"<outro-music>"
],
"crossfade_ms": 1000
}'
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 infsh/kokoro-tts --input '{
"prompt": "<host-a-lines>",
"voice": "am_michael"
}' > host_a.json
# 3. Generate Host B
belt app run infsh/kokoro-tts --input '{
"prompt": "<host-b-lines>",
"voice": "af_sarah"
}' > host_b.json
# 4. Interleave and merge
belt app run infsh/media-merger --input '{
"audio_files": ["<host-a-1>", "<host-b-1>", "<host-a-2>", "<host-b-2>"],
"crossfade_ms": 300
}'
Audiobook Chapter
# Long-form narration
belt app run infsh/kokoro-tts --input '{
"prompt": "Chapter One. It was a dark and stormy night when the first AI achieved consciousness...",
"voice": "bf_emma",
"speed": 0.9
}'
Audio Enhancement
Add Background Music
# 1. Generate podcast audio
belt app run infsh/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
belt app run infsh/media-merger --input '{
"audio_files": ["<podcast-url>"],
"background_audio": "<background-url>",
"background_volume": 0.15
}'
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
- Natural punctuation - Use commas and periods for pacing
- Short sentences - Easier to speak and listen
- Varied voices - Different speakers prevent monotony
- Background music - Subtle, at 10-15% volume
- Crossfades - Smooth transitions between segments
- 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
More from inference-sh/skills
agent-tools
Run 250+ AI apps via inference.sh CLI - image generation, video creation, LLMs, search, 3D, Twitter automation. Models: FLUX, Veo, Gemini, Grok, Claude, Seedance, OmniHuman, Tavily, Exa, OpenRouter, and many more. Use when running AI apps, generating images/videos, calling LLMs, web search, or automating Twitter. Triggers: inference.sh, infsh, ai model, run ai, serverless ai, ai api, flux, veo, claude api, image generation, video generation, openrouter, tavily, exa search, twitter api, grok
745ai-image-generation
Generate AI images with GPT-Image-2, FLUX, Gemini, Grok, Seedream, Reve and 50+ models via inference.sh CLI. Models: GPT-Image-2, FLUX Dev LoRA, FLUX.2 Klein LoRA, Gemini 3 Pro Image, Grok Imagine, Seedream 4.5, Reve, ImagineArt. Capabilities: text-to-image, image-to-image, inpainting, LoRA, image editing, upscaling, text rendering. Use for: AI art, product mockups, concept art, social media graphics, marketing visuals, illustrations. Triggers: flux, image generation, ai image, text to image, stable diffusion, generate image, ai art, midjourney alternative, dall-e alternative, text2img, t2i, image generator, ai picture, create image with ai, generative ai, ai illustration, grok image, gemini image, gpt image, openai image, chatgpt image
736ai-video-generation
Generate AI videos with Google Veo, Seedance 2.0, HappyHorse, Wan, Grok and 40+ models via inference.sh CLI. Models: Veo 3.1, Veo 3, Seedance 2.0, HappyHorse 1.0, Wan 2.5, Grok Imagine Video, OmniHuman, Fabric, HunyuanVideo. Capabilities: text-to-video, image-to-video, reference-to-video, video editing, lipsync, avatar animation, video upscaling, foley sound. Use for: social media videos, marketing content, explainer videos, product demos, AI avatars. Triggers: video generation, ai video, text to video, image to video, veo, animate image, video from image, ai animation, video generator, generate video, t2v, i2v, ai video maker, create video with ai, runway alternative, pika alternative, sora alternative, kling alternative, seedance, happyhorse
733twitter-automation
Automate Twitter/X with posting, engagement, and user management via inference.sh CLI. Apps: x/post-tweet, x/post-create (with media), x/post-like, x/post-retweet, x/dm-send, x/user-follow. Capabilities: post tweets, schedule content, like posts, retweet, send DMs, follow users, get profiles. Use for: social media automation, content scheduling, engagement bots, audience growth, X API. Triggers: twitter api, x api, tweet automation, post to twitter, twitter bot, social media automation, x automation, tweet scheduler, twitter integration, post tweet, twitter post, x post, send tweet
662web-search
Web search and content extraction with Tavily and Exa via inference.sh CLI. Apps: Tavily Search, Tavily Extract, Exa Search, Exa Answer, Exa Extract. Capabilities: AI-powered search, content extraction, direct answers, research. Use for: research, RAG pipelines, fact-checking, content aggregation, agents. Triggers: web search, tavily, exa, search api, content extraction, research, internet search, ai search, search assistant, web scraping, rag, perplexity alternative
626agent-browser
Browser automation for AI agents via inference.sh. Navigate web pages, interact with elements using @e refs, take screenshots, record video. Capabilities: web scraping, form filling, clicking, typing, drag-drop, file upload, JavaScript execution. Use for: web automation, data extraction, testing, agent browsing, research. Triggers: browser, web automation, scrape, navigate, click, fill form, screenshot, browse web, playwright, headless browser, web agent, surf internet, record video
625