Ai Podcast Pipeline
/install ai-podcast-pipeline
AI Podcast Pipeline
⚠️ Security Notice
This skill may trigger antivirus false positives due to legitimate use of:
- base64 decoding: Used ONLY to decode audio data from Gemini TTS API responses (standard practice for binary data in JSON)
- subprocess calls: Used ONLY to invoke ffmpeg for audio/video processing
- Environment variables: Reads API keys from user-configured environment (
GEMINI_API_KEY) - Network requests: Calls Google Gemini API for text-to-speech generation
All code is open source and auditable in this repository. No malicious behavior.
Build end-to-end podcast assets from Trend/QuickView-* content.
Core Workflow
- Select source QuickView file.
- Generate script (full or compressed mode).
- Build dual-voice MP3 (Gemini multi-speaker, chunked for reliability).
- Generate full-text Korean subtitles (no ellipsis truncation).
- Render subtitle MP4 with tuned font/size/timing shift.
- Build thumbnail + YouTube metadata.
- Deliver final package.
Step 1) Select Source
Prefer weekly QuickView file from your configured Quartz root.
If user gives wk.aiee.app URL, map to local Quartz markdown first.
Step 2) Generate Script
Read and apply:
references/podcast_prompt_template_ko.md
Modes:
- Full mode: 15~20 minutes
- Compressed mode: 5~7 minutes (core tips only)
Rules:
- no system/meta text in spoken lines
- host intro once at opening only
- conversational Korean, short sentences, actionable
- save script in
archive/
Step 3) Build Audio (Gemini Multi-Speaker, Reliable)
Preferred: chunked builder (timeout-safe)
# Set API key via environment (required)
export GEMINI_API_KEY="\x3CYOUR_KEY>"
# Run from skills/ai-podcast-pipeline/
python3 scripts/build_dualvoice_audio.py \
--input \x3Cscript.txt> \
--outdir \x3Coutdir> \
--basename podcast_full_dualvoice \
--chunk-lines 6
Single-pass (short scripts)
python3 scripts/gemini_multispeaker_tts.py \
--input-file \x3Cdialogue.txt> \
--outdir \x3Coutdir> \
--basename podcast_dualvoice \
--retries 3 \
--timeout-seconds 120
Default voice mapping (2026-02-10 fixed):
- Callie (female) →
Kore - Nick (male) →
Puck
Output: MP3 (default delivery format)
Step 4) Build Korean Subtitles (Full Text)
Use full-text subtitle builder (no ... truncation):
python3 scripts/build_korean_srt.py \
--script \x3Cscript.txt> \
--audio \x3Cfinal.mp3> \
--output \x3Coutdir>/podcast.srt \
--max-chars 22
Step 5) Render Subtitled MP4 (Font + Timing)
Use renderer with adjustable font and timing shift:
python3 scripts/render_subtitled_video.py \
--image \x3Cthumbnail.png> \
--audio \x3Cfinal.mp3> \
--srt \x3Cpodcast.srt> \
--output \x3Coutdir>/final.mp4 \
--font-name "Do Hyeon" \
--font-size 27 \
--shift-ms -250
Notes:
shift-msnegative = subtitle earlier (for lag fixes)- If text clipping occurs, lower
font-size(e.g., 25~27) - keep text inside safe area; avoid overlap with character/object
Step 6) Build Thumbnail + YouTube Metadata
# Set API key via environment (required)
export GEMINI_API_KEY="\x3CYOUR_KEY>"
python3 scripts/build_podcast_assets.py \
--source "\x3CQuickView path or URL>"
Reference (layout/copy guardrails):
references/thumbnail_guidelines_ko.md
Step 7) Final Delivery Checklist
Always include:
- source used
- final MP3 path
- subtitle MP4 path + size
- thumbnail path
- YouTube title options (3)
- YouTube description
Reliability Rules
- Gemini timeout on long input: use chunked builder (
build_dualvoice_audio.py) - Subtitle clipping: reduce font size and increase bottom margin
- Subtitle lag: adjust
--shift-ms(usually-150to-300) - Keep generated assets under Telegram practical limits
Security Notes
- API keys must be passed via environment variables (
GEMINI_API_KEY), not hardcoded. - Never paste raw keys into prompts, logs, screenshots, or public posts.
- Recent hardening: thumbnail generation now passes keys via env (not CLI args).
References
references/podcast_prompt_template_ko.mdreferences/workflow_runbook.mdreferences/thumbnail_guidelines_ko.md
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install ai-podcast-pipeline - 安装完成后,直接呼叫该 Skill 的名称或使用
/ai-podcast-pipeline触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Ai Podcast Pipeline 是什么?
Create Korean AI podcast packages from QuickView trend notes. Use for dual-host script writing (Callie × Nick), Gemini multi-speaker TTS audio generation, subtitle timing/render fixes, thumbnail+MP4 packaging, and YouTube title/description output. Supports both full (15~20 min) and compressed (5~7 min) editions. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 1382 次。
如何安装 Ai Podcast Pipeline?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install ai-podcast-pipeline」即可一键安装,无需额外配置。
Ai Podcast Pipeline 是免费的吗?
是的,Ai Podcast Pipeline 完全免费(开源免费),可自由下载、安装和使用。
Ai Podcast Pipeline 支持哪些平台?
Ai Podcast Pipeline 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Ai Podcast Pipeline?
由 jeong-wooseok(@jeong-wooseok)开发并维护,当前版本 v0.1.5。