Awesome-omni-skill podcastfy-clawdbot
Generate an AI podcast (MP3) from one or more URLs using the open-source Podcastfy project. Use when the user says “make a podcast from this URL/article/video/PDF”, “turn this webpage into a podcast”, or wants an MP3 conversation-style summary from links. Uses Gemini for transcript generation via GEMINI_API_KEY and Edge TTS for free voice.
git clone https://github.com/diegosouzapw/awesome-omni-skill
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/development/podcastfy-clawdbot" ~/.claude/skills/diegosouzapw-awesome-omni-skill-podcastfy-clawdbot && rm -rf "$T"
skills/development/podcastfy-clawdbot/SKILL.mdPodcastfy (Clawdbot)
Generate a podcast-style audio conversation (MP3) from a URL (or multiple URLs) using
podcastfy.
This skill provides a wrapper script that:
- creates/uses a local venv (
){baseDir}/.venv - installs/updates
podcastfy - runs Podcastfy with Gemini for transcript generation and Edge for TTS
One-time setup
- Ensure
is installed on the host.ffmpeg
Ubuntu/Debian:
sudo apt-get update && sudo apt-get install -y ffmpeg
- Provide a Gemini API key:
Set env var
GEMINI_API_KEY (recommended), or create a project .env and export it before running.
Example keys file:
{baseDir}/references/env.example
Quick start
Generate an MP3 from a single URL:
cd {baseDir} export GEMINI_API_KEY="..." ./scripts/podcastfy_generate.py --url "https://example.com/article"
Multiple URLs:
cd {baseDir} ./scripts/podcastfy_generate.py --url "https://a" --url "https://b"
Long-form:
cd {baseDir} ./scripts/podcastfy_generate.py --url "https://example.com/long" --longform
Output
The script writes outputs under:
(MP3){baseDir}/output/audio/
(transcript){baseDir}/output/transcripts/
Podcastfy prints the final MP3 path on success.
Optional tuning
(default:PODCASTFY_LLM_MODEL
)gemini-1.5-flash
(default:PODCASTFY_EDGE_VOICE_Q
)en-US-JennyNeural
(default:PODCASTFY_EDGE_VOICE_A
)en-US-EricNeural
Automation / reliability tips (important)
Prefer RSS feeds over browser automation for cron jobs
In isolated cron jobs, avoid relying on a system browser (Chrome/Chromium) or extra Python deps (e.g.
bs4).
For TechCrunch categories, prefer the RSS feed:
This reduces breakage from:
- “No supported browser found …”
- missing site parsing dependencies in the cron runtime
Validate MP3 output (avoid 0-second audio)
We observed
podcastfy can occasionally produce an MP3 that is effectively empty/truncated (e.g., a ~261-byte file), which shows up as 0s in Telegram.
This wrapper now validates MP3 output and will automatically fall back to edge-tts synthesis from the latest transcript when the MP3 is invalid.
Safety / workflow
- Prefer “draft-first”: tell the user what will be generated (language/length) before running.
- Never paste API keys into chat logs.