AI 播客管道

SKILL音频生成

原名 ai-podcast-pipeline

音频生成 接触敏感数据 许可证明确 OpenClaw
安装这个技能

ai-podcast-pipeline 用于辅助前端页面、组件、样式和交互逻辑开发,适合在 OpenClaw 中需要维护前端项目、生成组件或检查界面实现时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

累计安装 45,527 本周 1,824
GitHub 星标 未标注 仓库 ai-podcast-pipeline
下载量 14,738 技能市场下载数
权限级别 接触敏感数据 安装前请确认风险范围
许可证 许可证明确 MIT-0

安装

ClawHub 市场
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
openclaw skills install ai-podcast-pipeline

技能档案

音频生成
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方jeong-wooseok仓库 ai-podcast-pipeline · 版本 0.1.5
宿主客户端OpenClaw技能可被这些客户端加载
安装方式ClawHub 市场安装包 jeong-wooseok/ai-podcast-pipeline
权限级别接触敏感数据安装前请确认风险范围
许可证MIT-0许可证明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验2026-05-01上游最后核验时间 · 数据更新 未标注
正文体量4.5 KBSKILL.md 原文大小,越大说明说明书写得越细

能做什么

5 项能力
上游给出的能力概览与适用场景
  • 按任务关键词查找相关 Skills
  • 展示可复制的安装命令
  • 保留来源站点、仓库和原始说明,方便继续核验
  • 补充不同宿主或平台的使用分布数据
  • 展示第三方安全扫描或审计结果
OpenClaw 用户查找和安装 Skill 时用户想查找某类 Agent Skill 时需要根据任务场景推荐可安装能力包时需要对比不同来源的安装命令和来源信息时

权限与风险

接触敏感数据
装之前先读完这段

安装与使用指南

安装步骤

本站只展示命令,不托管安装包,也不自动执行。

怎么用

安装后应在对应宿主中按原始 README 的触发条件使用;当前草稿只做目录说明,具体调用方式由规则抽取,异常条目再复核。

SKILL.md 全文

4.5 KB
模型实际读到的说明书原文,来自技能仓库

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

  1. Select source QuickView file.
  2. Generate script (full or compressed mode).
  3. Build dual-voice MP3 (Gemini multi-speaker, chunked for reliability).
  4. Generate full-text Korean subtitles (no ellipsis truncation).
  5. Render subtitle MP4 with tuned font/size/timing shift.
  6. Build thumbnail + YouTube metadata.
  7. 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="<YOUR_KEY>"

# Run from skills/ai-podcast-pipeline/
python3 scripts/build_dualvoice_audio.py \
  --input <script.txt> \
  --outdir <outdir> \
  --basename podcast_full_dualvoice \
  --chunk-lines 6

Single-pass (short scripts)

python3 scripts/gemini_multispeaker_tts.py \
  --input-file <dialogue.txt> \
  --outdir <outdir> \
  --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 <script.txt> \
  --audio <final.mp3> \
  --output <outdir>/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 <thumbnail.png> \
  --audio <final.mp3> \
  --srt <podcast.srt> \
  --output <outdir>/final.mp4 \
  --font-name "Do Hyeon" \
  --font-size 27 \
  --shift-ms -250

Notes:
- shift-ms negative = 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="<YOUR_KEY>"

python3 scripts/build_podcast_assets.py \
  --source "<QuickView path or URL>"

Reference (layout/copy guardrails):
- references/thumbnail_guidelines_ko.md

Step 7) Final Delivery Checklist

Always include:
1. source used
2. final MP3 path
3. subtitle MP4 path + size
4. thumbnail path
5. YouTube title options (3)
6. 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 -150 to -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.md
  • references/workflow_runbook.md
  • references/thumbnail_guidelines_ko.md

安全信息

审计结论
未标注不代表已通过审计
安全审计VirusTotal、ClawScan、Static analysis第三方安全审计平台给出的结论

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 2026-05-01。