> channel 1 — history
napoleon-leaves-elba
February 1815. Napoleon sails off Elba with about a thousand men, and no warship stops him. Why? The long episode tells the story on a map; the short is the teaser.
> channel 2 — war-news
war-news channel demo
One full run of the war-news channel pipeline,
terminal-recorded end-to-end. Neutral source framing
(SOURCES=tavily,jpost), 1080×1920 vertical render
via Remotion.
This walkthrough covers one of three live channels. Stoic-meditations and literary-charizard channel demos coming next — same pipeline, different inputs and visual style.
chapters
- 0:00 intro — stack overview
- 0:01 niche discovery — Telegram candidates
- 0:03 topic clustering — gpt-4o-mini
- 0:06 orchestrator + interactive cluster picker (JPost + BBC)
- 0:18 stage 25 — DDG + vision picker (visuals fallback)
- 0:25 wisey LangGraph script + TTS + Remotion render
- 0:47 output folder walkthrough
- 0:55 final 1080×1920 vertical MP4
- 0:58 outro
what you're seeing (war-news channel)
- niche discovery
-
Telegram microservice continuously ingests messages from
curated source channels into Django. The operator views unseen
candidates via
tg_candidates.py. - topic clustering
-
cluster_messages.pyruns gpt-4o-mini over the candidate pool. Editorial constraints: ≥3 messages per cluster, ≥2 source channels per cluster, capped to 15 messages / 4-per-channel total. Telegram clusters are cross-corroborated against parallel RSS feeds — Jerusalem Post and BBC News Middle East — plus Tavily web research, so a topic must surface in at least two independent sources before it ships as a candidate. - script generation (wisey)
- LangGraph critique loop on gpt-4.1: TextEnricher drafts, Reflection critiques, Realization revises — three iterations by default. Prompts are stored in Django and editable live via the prompter UI.
- voice synthesis
-
OpenAI TTS per segment. ffmpeg
silenceremove+ EBU R128loudnormat −16 LUFS to match YouTube's audio spec. - render — Remotion
-
The
videomagicianmicroservice ZIPs the chunks JSON plus voice WAVs and forwards to theremotion_rendererservice. Remotion is a React-based programmatic video framework — every frame is deterministic code. Our breaking-news template handles intro sting, lower-third headline, baked captions, and outro. - delivery
- One run directory contains the final landscape and vertical MP4s, segmented script JSON, word-level caption timings, per-segment images and voiceover audio (raw + mastered), thumbnail PNG, and a metadata JSON. Customer uploads to their own YouTube channel via YouTube Studio. We never request OAuth; we never touch their credentials.