MoneyPrinterTurbo is a production short-video generation platform. Given a topic or script, it orchestrates LLM-based script/keyword generation, multi-provider TTS (Edge, Azure, Gemini, ElevenLabs, etc.), video material sourcing (Pexels, Pixabay, Coverr, several AI video generators), subtitle generation (Whisper or TTS timestamps), background music, and final video composition via moviepy/FFmpeg. It exposes three consistent interfaces: a FastAPI REST API, a Streamlit WebUI, and a CLI. All three share the same underlying task pipeline in `app/services/task.py`, which manages state, progress, and cross-posting to YouTube/TikTok/Instagram. The architecture is a service-oriented monolith: the core pipeline is a linear sequence of stages (script → terms → audio → subtitles → materials → video → optional BGM/cross-post). External integrations are abstracted behind provider-specific modules (e.g., `voice.py`, `material.py`, `bgm.py`). A Redis-backed or in-memory state manager tracks task progress. The configuration is runtime-editable and stored in a TOML file. The WebUI is a large Streamlit single-page application with dozens of provider-specific controls, billing confirmations, and i18n support for 12+ languages. The codebase demonstrates strong engineering practices: extensive test coverage (200+ test files), structured error handling with per-provider error classes, atomic file writes, path traversal protection, and security-conscious API key handling. However, it also shows signs of rapid growth: the WebUI is a monolithic 1300+ line script, provider integration logic is occasionally duplicated, and the dependency list is large (many third-party APIs). The repository is actively maintained with recent commits and good issue triage. It is not a research project; there are no datasets, model training, or analytical queries.
This repository is an AI-driven story-to-video production platform. It is a full-stack Django 3.2 backend with Vue 2 frontend, Celery task queue, Redis pub/sub, and Docker deployment. The system ingests user story ideas and orchestrates a multi-stage pipeline: rewrite → storyboard → image generation (text2image/image2video) → camera movement → video generation → Jianying (剪映) draft export. All AI capabilities are consumed via external APIs (OpenAI, ComfyUI, Volcano Engine, etc.) through a pluggable AI client abstraction layer. Key entry points include RESTful APIs (DRF), SSE streaming for real-time progress, MCP (Model Context Protocol) JSON-RPC endpoints for agent integration, and a Vue-based canvas UI for visual workflow editing. The architecture follows a modular Django app pattern with clear separation: core infrastructure (pipeline orchestration, AI clients, Redis streaming), domain apps (projects, prompts, models, workflows, content, agent, MCP), and a frontend SPA. External dependencies include Redis, Celery, MySQL/PostgreSQL, external AI vendor APIs, and optional Jianying draft generation. The codebase demonstrates strong engineering practices with reusable patterns for AI client abstraction, Redis pub/sub streaming, MCP tool registration, and pipeline stage processors, but has notable technical debt: Django 3.2 (EOL), mixed async/gevent, Vue 2 (EOL), and some closed-source compiled components.
This repository implements a fully autonomous pipeline that generates, produces, and uploads educational YouTube videos daily. It uses the Gemini 2.5 Flash API to create lesson scripts and curricula, gTTS for narration, Pexels for background imagery, and MoviePy/Pillow for video rendering. The pipeline runs on a GitHub Actions cron schedule, requiring no manual intervention. It produces both a long-form lesson video and a YouTube Short, uploads them with custom thumbnails, and updates the content plan repository. The code is well-structured for its purpose, with proper error handling, retry logic for TTS rate limits, and credential management for YouTube OAuth. While not a reusable library, it demonstrates good software engineering practices for a CI/CD-based content generation system.