- Italy Today: Daily briefing on Italian news
- Asia In Brief: Daily briefing on everything Asia
Browse and listen them here or subscribe to RSS feeds and use your favorite app.
uv syncBefore running ensure OPENROUTER_API_KEY and ELEVENLABS_API_KEY env vars are set.
uv run python main.py --show asia-in-briefuv run python main.py --all--fetch-only- Fetch news only, skip script generation--force-refresh- Force refresh from RSS feeds (ignore cache)--skip-audio- Generate script but skip TTS--deep-dive- Include deep dive section in the episode--max-age N- Max age of articles in days (default: 7)--update-rss-only- Only regenerate RSS feed without creating new episode
The RSS feed is automatically updated after each episode generation. To manually regenerate the RSS feed (useful after editing episodes or fixing metadata):
# Regenerate RSS for a specific show
uv run python main.py --show asia-in-brief --update-rss-only
# Regenerate RSS for all shows
uv run python main.py --all --update-rss-only
# Alternative: Direct invocation
uv run python -m core.rss asia-in-brief- Create a new directory for your show:
mkdir my-new-show
mkdir my-new-show/prompts- Create
my-new-show/show.toml:
[metadata]
name = "My New Show"
description = "Description of your show"
author = "Your Name"
email = "your@email.com"
language = "en"
category = "News"
host_name = "Host Name"
cover_image = "cover.jpg"
[llm]
model = "deepseek/deepseek-v3.2-speciale"
model_friendly_name = "DeepSeek-V3.2-Special"
[tts]
voice_id = "ZF6FPAbjXT4488VcRRnw"
voice_name = "Voice Name"
model = "eleven_v3"
[rss]
base_url = "https://your-username.github.io/repo-name/my-new-show"
[[feeds]]
name = "Source Name"
url = "https://example.com/rss"
country = "Country"
# Add more feeds...- Copy and customize prompt templates:
cp -r asia-in-brief/prompts/* my-new-show/prompts/- Generate your first episode:
uv run python main.py --show my-new-show