Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
agents365-ai avatar

Video Podcast Maker

  • 102 installs
  • 1.5k repo stars
  • Updated August 1, 2026
  • agents365-ai/video-podcast-maker

This is a copy of video-podcast-maker by agents365-ai - installs and ranking accrue to the original listing.

video-podcast-maker is a Claude Code skill that turns a topic into a narrated 4K explainer video via a research to script to TTS to Remotion to MP4 pipeline.

About

video-podcast-maker is a Claude Code skill that turns a topic into a narrated explainer or knowledge-summary video through a research, script, TTS, Remotion, and FFmpeg pipeline, outputting 4K MP4 with background music. A developer uses it to produce topic-driven videos for Bilibili, YouTube, Xiaohongshu, or Douyin. It depends on the remotion-best-practices skill and supports several TTS backends.

  • Automated topic-to-4K-video pipeline: research to script to TTS to Remotion to MP4 + BGM
  • 15-step workflow producing narrated explainer videos for Bilibili, YouTube, Douyin, and more
  • Multiple TTS backends (Edge free default, Azure, Doubao, ElevenLabs, OpenAI, Google)

Video Podcast Maker by the numbers

  • 102 all-time installs (skills.sh)
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
At a glance

video-podcast-maker capabilities & compatibility

Free with the default Edge TTS backend; paid backends (Azure, ElevenLabs, OpenAI) need their own API keys.

Capabilities
video generation · text to speech · explainer video · thumbnail generation
Use cases
video generation · transcription
Platforms
macOS · Linux
Pricing
Freemium
From the docs

What video-podcast-maker says it does

Produces 4K video via research → script → TTS → Remotion → MP4 + BGM.
SKILL.md
Automated pipeline for **4K Bilibili horizontal knowledge videos** from a topic. Coding agent + TTS backend + Remotion + FFmpeg.
SKILL.md
npx skills add https://github.com/agents365-ai/video-podcast-maker --skill video-podcast-maker

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs102
repo stars1.5k
Last updatedAugust 1, 2026
Repositoryagents365-ai/video-podcast-maker

What it does

Turn a topic into a narrated 4K explainer video via a research, script, TTS, Remotion, and FFmpeg pipeline.

Who is it for?

Automated topic-driven narrated explainer, podcast, or knowledge-summary videos for platforms like Bilibili and YouTube.

Skip if: Generic video editing, trimming, format conversion, color grading, or non-narrative video tasks.

When should I use this skill?

The user gives a topic and wants an automated narrated explainer, podcast, or knowledge-summary video.

What you get

A 4K MP4 explainer video with narration, BGM, thumbnails, and publish metadata.

  • A 4K MP4 explainer video with BGM
  • Thumbnails (16:9 and 4:3)
  • publish_info.md metadata

By the numbers

  • 15-step workflow
  • 7 TTS backends
  • 4K video output

Files

SKILL.mdMarkdownGitHub ↗
REQUIRED: Load Remotion Best Practices First

>

This skill depends on remotion-best-practices. You MUST invoke it before proceeding:
```
Invoke the skill/tool named: remotion-best-practices
```

Video Podcast Maker

Automated pipeline for 4K Bilibili horizontal knowledge videos from a topic. Coding agent + TTS backend + Remotion + FFmpeg.

Contents

---

Bootstrap

Resolve SKILL_DIR to the directory containing this SKILL.md. If your agent exposes a built-in skill directory variable (e.g. ${CLAUDE_SKILL_DIR}), map it to SKILL_DIR.

SKILL_DIR="${SKILL_DIR:-${CLAUDE_SKILL_DIR}}"

# 1. Update check (notify-only, throttled to 24h)
"${SKILL_DIR}/scripts/check_update.sh"

# 2. Prerequisites (CLIs + backend env vars)
python3 "${SKILL_DIR}/scripts/check_prereqs.py"

`check_update.sh` output:

  • UPDATE_AVAILABLE vX.Y.Z -> vA.B.C — tell the user the version delta and ask before running git -C "${SKILL_DIR}" pull --ff-only. Notify-only by design — never pull without consent (the skill directory belongs to the user).
  • UP_TO_DATE / SKIPPED_RECENT_CHECK / MANUAL_INSTALL — continue silently.

Prereqs failures — see README.md for setup. The check is backend-aware (resolves TTS_BACKEND env → user_prefs.json global.tts.backendedge default), so only env vars required by the active backend are validated.

Design Learning shortcut: If the user provides a reference video/image or asks to save/list/delete style profiles, see references/design-learning.md instead of running the workflow below.

---

Execution Modes

Detect at workflow start:

  • "Make a video about..." / no special instructions → Auto Mode (default)
  • "I want to control each step" / "interactive" → Interactive Mode

Auto Mode defaults

Full pipeline with sensible defaults. Mandatory stop at Step 9 (Studio review); Step 10 (4K render) only fires when the user says "render 4K" / "render final".

StepDecisionAuto Default
3Title positiontop-center
5Media assetsSkip (text-only animations)
7Thumbnail methodRemotion-generated (16:9 + 4:3)
9Outro animationPre-made MP4 (white/black by theme)
12Subtitle methodRemotion-native (skip legacy FFmpeg burn)
14CleanupAuto-clean temp files

Override any default in the initial request:

  • "make a video about AI, burn subtitles" → auto + subtitles on
  • "use dark theme, AI thumbnails" → auto + dark + imagen
  • "need screenshots" → auto + media collection enabled

Interactive Mode

Prompts at each decision point.

---

Workflow

At Step 1 start, create one task per step in your agent's tracker (Claude Code TaskCreate / Codex todo list / equivalent). Mark in_progress on start, completed on finish. Files in videos/{name}/ are the durable record — if interrupted, inspect the directory to determine where to resume.

#StepOutputPhase file
1Define topic directiontopic_definition.mdworkflow-script.md
2Research topictopic_research.mdworkflow-script.md
3Design 5-7 sections(in-memory)workflow-script.md
4Write narration scriptpodcast.txtworkflow-script.md
4.5Pronunciation pre-flight (zh-CN)phonemes.jsonworkflow-script.md
5Collect media (Auto: skip)media_manifest.jsonworkflow-production.md
6Generate publish info (Part 1)publish_info.mdworkflow-production.md
7Generate thumbnails (16:9 + 4:3)thumbnail_*.pngworkflow-production.md
8Generate TTS audiopodcast_audio.wav, timing.jsonworkflow-production.md
9Remotion composition + Studio previewworkflow-production.md
10Render 4K video (only on user request)output.mp4workflow-production.md
11Mix background musicvideo_with_bgm.mp4workflow-production.md
12Finalize (optional legacy subtitle burn)final_video.mp4workflow-publish.md
13Complete publish info (Part 2)chapter timestampsworkflow-publish.md
14Verify output (scripts/verify_output.py)workflow-publish.md
15Generate vertical shorts (optional)shorts/workflow-publish.md

Mandatory stops (bold rows above):

  • Step 9 — Studio review. MUST launch npx remotion studio and wait for user feedback before rendering. NEVER render 4K until the user explicitly confirms ("render 4K" / "render final").
  • Step 14 — `verify_output.py`. MUST pass before declaring the video done. Exit 0 = green; exit 2 = warnings still publishable. Auto-fixes common omissions (creates final_video.mp4 if missing). For machine-readable output add --format json (auto when piped).

Pre-render audit (recommended) — before Step 9:

python3 ${SKILL_DIR}/scripts/audit_beat_sync.py <Video.tsx> <timing.json>

Flags beats that drift > 1.5s from narration. Especially important for kinetic-typography videos.

Validation Checkpoints

After StepCheck
8 (TTS)podcast_audio.wav plays · timing.json covers all sections · SRT is UTF-8
10 (Render)output.mp4 is 3840×2160 · audio-video sync · no black frames
14 (Verify)verify_output.py exits 0 (or 2 with reviewed warnings)

---

Hard Rules

RuleRequirement
Single ProjectAll videos under videos/{name}/ in user's Remotion project. NEVER create a new project per video.
4K Output3840×2160 (or 2160×3840 vertical), use scale(2) wrapper over 1920×1080 design space
Audio SyncAll animations driven by timing.json timestamps
ThumbnailMUST generate both 16:9 (1920×1080) AND 4:3 (1200×900) — see design-guide.md
Studio Before RenderMUST launch remotion studio for review. NEVER render 4K until user explicitly confirms.
`--public-dir`Every Remotion command uses --public-dir videos/{name}/

Visual minimums (text sizes, content width, safe zones, animation safety) live in references/design-guide.md. MUST load before Step 9.

Output Specs

ParameterHorizontal (16:9)Vertical (9:16)
Resolution3840×2160 (4K)2160×3840 (4K)
Frame rate30 fps30 fps
EncodingH.264, 16MbpsH.264, 16Mbps
AudioAAC, 192kbpsAAC, 192kbps
Duration1-15 min60-90s (highlight)

---

Per-Video Layout

project-root/                           # Remotion project root
├── src/remotion/                       # Remotion source (Root.tsx, compositions, index.ts)
├── videos/{video-name}/                # Per-video assets (the agent's working dir)
│   ├── topic_definition.md             # Step 1
│   ├── topic_research.md               # Step 2
│   ├── podcast.txt                     # Step 4: narration script
│   ├── phonemes.json                   # Step 4.5: zh-CN pronunciation overrides
│   ├── podcast_audio.wav               # Step 8: TTS audio
│   ├── podcast_audio.srt               # Step 8: subtitles
│   ├── timing.json                     # Step 8: timeline (drives animations)
│   ├── thumbnail_*.png                 # Step 7
│   ├── output.mp4                      # Step 10: 4K render (no BGM)
│   ├── video_with_bgm.mp4              # Step 11
│   ├── final_video.mp4                 # Step 12: final output
│   └── bgm.mp3                         # Background music
└── remotion.config.ts

--public-dir per video

Remotion commands MUST use --public-dir videos/{name}/ — each video's assets stay in its own directory, no copy to public/. Enables parallel renders.

npx remotion studio src/remotion/index.ts --public-dir videos/{name}/
npx remotion render src/remotion/index.ts CompositionId videos/{name}/output.mp4 --public-dir videos/{name}/ --video-bitrate 16M
npx remotion still src/remotion/index.ts Thumbnail16x9 videos/{name}/thumbnail.png --public-dir videos/{name}/

Naming

  • Video name `{video-name}`: lowercase English, hyphen-separated (e.g. reference-manager-comparison)
  • Section name `{section}`: lowercase English, underscore-separated, matches [SECTION:xxx]
  • Thumbnail naming (16:9 AND 4:3 both required):
Type16:94:3
Remotionthumbnail_remotion_16x9.pngthumbnail_remotion_4x3.png
AIthumbnail_ai_16x9.pngthumbnail_ai_4x3.png

---

Additional Resources

Load on demand — do NOT load all at once:

FileLoad when
references/workflow-script.mdSteps 1-4 (topic → script)
references/workflow-production.mdSteps 5-11 (media → TTS → Remotion → render → BGM)
references/workflow-publish.mdSteps 12-15 (subtitles, publish, cleanup, shorts)
references/design-guide.mdMUST load before Step 9 — visual minimums, typography, animation safety
references/design-learning.mdUser provides a reference video/image, or manages style profiles
references/azure-tts-pitfalls.mdChoosing Azure voice/style, debugging hoarse/glitchy audio
references/troubleshooting.mdOn error, or user asks about preferences/BGM
templates/presets/kinetic-typography/Bold type-driven preset (opinion / argument / declaration videos)
examples/Reference for composition structure and timing.json format

Script suite dispatcher

All scripts under ${SKILL_DIR}/scripts/ are reachable through one hierarchical entry point:

python3 ${SKILL_DIR}/scripts/cli.py --help                  # list resources
python3 ${SKILL_DIR}/scripts/cli.py <resource> --help       # list actions
python3 ${SKILL_DIR}/scripts/cli.py <resource> <action> --help    # forwards to underlying script
python3 ${SKILL_DIR}/scripts/cli.py schema [<method>]       # JSON parameter schema

Routes: tts run|validate, verify, audit beats, shorts gen, design list|show|delete|add, prereqs, prefs get|migrate|backend|bgm-path, schema [<method>]. Direct script invocation (python3 scripts/<name>.py ...) keeps working — the dispatcher is additive.

---

User Preferences

Skill auto-learns and applies preferences. Full commands and learning details: references/troubleshooting.md.

  • Storage: user_prefs.json (auto-created from user_prefs.template.json, schema in prefs_schema.json).
  • Priority: Root.tsx defaults < global < topic_patterns[type] < current instructions.
  • User commands: "show preferences" · "reset preferences" · "save as X default".

---

Troubleshooting

See references/troubleshooting.md on errors, BGM options, preference learning, design-learning issues.

Related skills

FAQ

What does video-podcast-maker output?

A 4K MP4 video with narration, background music, thumbnails, and a publish_info.md, produced from a research-to-Remotion pipeline.

Which TTS backends are supported?

Edge (free default), Azure, Doubao, CosyVoice, ElevenLabs, OpenAI, and Google TTS.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.