> 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.

long · Watched or Forgotten? How Napoleon Left Elba

[ watch on YouTube ]

short · Nobody Stopped Napoleon Leaving His Island. Why?

[ watch on YouTube ]

> 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.py runs 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 R128 loudnorm at −16 LUFS to match YouTube's audio spec.
render — Remotion
The videomagician microservice ZIPs the chunks JSON plus voice WAVs and forwards to the remotion_renderer service. 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.
[ see pricing ] [ join waitlist ]