Multi-channel content pipeline with AI images, reels, and auto-posting
Astro-based news CMS with a fully automated daily pipeline: RSS ingestion, Claude-based review batching, fal.ai image generation, ffmpeg reels with TTS voiceover, auto-posting to Bluesky. Runs for months without operator touch.
Kontext / Context
Ein Content-Betrieb, der News für ein Nischen-Publikum aggregiert und täglich über mehrere Kanäle ausspielt. Der Engpass war nicht die Themenfindung, sondern der Produktions-Overhead pro Artikel: Recherche verifizieren, Hero-Bild, Zusammenfassung, Social-Caption, ggf. Video-Reel. Pro Tag gingen 4-6 Stunden dafür drauf.
Architektur
- Astro 5 + Tailwind v4 als statisches CMS mit Pagefind-Suche und Content-Collections
- RSS-Ingestion mit
rss-parserüber eine kuratierte Quellen-Liste, inkrementell per Cron - Review-Batch über die Anthropic-Batch-API mit Claude als Kurator: Relevanz-Score, Dubletten-Erkennung, geo-filter, Content-Safety-Check
- Bild-Generierung via
@fal-ai/clientfür Hero-Images pro Artikel, prompt-template aus Artikelmetadaten - Video-Reels über
ffmpeg-staticmit Stock-Footage-Mix,msedge-ttsfür deutschsprachiges Voiceover, Zeitleiste prozedural aus Headline und Summary - Bluesky-Auto-Posting über
@atproto/api, mit Catchup-Modus falls das System Tage lang stand - Playwright-extra mit Stealth-Plugin für Scrape-Quellen, die kein offizielles RSS bieten
- 2captcha-ts als Fallback für anti-bot-geschützte Seiten
Eval + Guardrails
- Content-Safety-Layer vor Bild-Generierung (Prompt-Filter) und vor Post (Text-Filter). Keine Themen aus Block-Liste kommen durch.
- Relevanz-Gate: jeder Artikel braucht ≥ 0.72 Relevanz-Score, sonst landet er im Reject-Pool mit Grund.
- Daily-Log als JSON mit pro-Artikel-Metriken für Regression-Debugging
- Cost-Budget auf fal.ai und Claude-Tokens mit Alert-Threshold
Deliverable
- Produktives System, das in CI/CD deployt wird
- Admin-Dashboard für manuelle Overrides und Inspection
- Runbook für Fehlerszenarien (fal.ai-Quota, TTS-Rate-Limit, Bluesky-Auth-Expiry)
- Handover mit Onboarding-Video
Take-Aways
- Batch-API (Claude, auch OpenAI) kostet deutlich weniger als synchrone Calls, wenn die Latenz egal ist. Bei Daily-Pipelines ist sie das.
- Prompt-Template-Versionierung zahlt sich aus, sobald man die ersten zwei Regressions sieht. Jeder Template-Change mit Eval gegen einen fixen Ground-Truth.
- Stealth-Scraping ist rechtlich grau, aber technisch gelöst. Entscheidend ist, ob die Quelle es explizit verbietet.