2025–present

Content Automation Platform

A topic goes in; a scripted, narrated, edited and published video comes out.

Problem

Producing video consistently is a pipeline problem, not a creative one. The same stages repeat for every video, each fails differently, and the expensive parts — inference, image generation, speech synthesis — must never re-run without reason.

Approach

Eight-stage pipeline where each stage writes a typed artifact the next one reads, so a failure at stage six costs one stage rather than the whole run. Stages are idempotent and resumable; model output is treated as untrusted input, with a JSON repair heuristic added after a real failure in Spanish narration. Nothing publishes without a human approving it.

Pipeline

Select a stage for what it does, the artifact it writes and how it fails.

Pipeline run

Script

Generates the narration script for the topic, following the channel's configured narrative framework.

Writes
script.json
Failure mode
Model output is treated as untrusted input: a repair heuristic escapes unescaped quotes inside string values and retries once, then raises with an excerpt around the failure position rather than returning a malformed object.

Stack

  • Python
  • FastAPI
  • PostgreSQL
  • Redis + RQ
  • Next.js
  • TypeScript
  • ffmpeg
  • Docker

Links