Topic in → narrated short video out. Script-driven pipeline with synchronized voice, captions, and visuals. Exports 9:16 and 16:9.
See AGENTS.md for architecture and rules, and docs/mvp-product-spec.md for scope, quality gates, and explicit exclusions.
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
cp .env.example .env # fill LLM_API_KEY at minimum
brew install ffmpeg # or apt-get install ffmpeg
Outputs land in .workspace/jobs/<job_id>/ with the script, voice tracks, captions, timeline, and final MP4s.
uvicorn apps.api.src.api.main:app --reload
# POST /jobs { "topic": "...", "duration_sec": 60, "language": "en" }
# GET /jobs/{job_id}