How asad-ismail/moneyprinterturbo-extended works
MoneyPrinterTurbo is a web-backed video-generation application: users configure a topic or script, speech, visuals, and subtitle styling, then produce a finished video. The documented workflow includes LLM-assisted scripts and search terms, semantic matching of visuals, voice synthesis with word timing, and video composition. The tree and excerpts identify the API, services, and task managers; several service implementations and API wiring were not sampled, so those orchestration links are shown only at a high level.
Main entry points: task.py Generation workflow · video.py Video composition · router.py API router · base_manager.py Task scheduler
Components 25
User interfaces
- Streamlit interface
webui/Main.py
API and tasks
- ASGI application
app/asgi.py - API router
app/router.py - Video endpoints
app/controllers/v1/video.py - Script endpoints
app/controllers/v1/llm.py - Request schemas
app/models/schema.py - Generation workflow
app/services/task.py - Task scheduler
app/controllers/manager/base_manager.py - Memory queue
app/controllers/manager/memory_manager.py - Redis queue
app/controllers/manager/redis_manager.py
Media production
- LLM generation
app/services/llm.py - Visual sourcing
app/services/material.py - Semantic matching
app/services/semantic_video.py - Speech and timing
app/services/voice.py - Subtitle rendering
app/services/subtitle.py - Video composition
app/services/video.py - Video effects
app/services/utils/video_effects.py - Task state
app/services/state.py
Models and sources
- LLM providers
- Stock video sources
- Chatterbox and WhisperX
- Azure speech
- Redis service
Other components
- Video creator
- Generated video
Connections 24
- Video creator → Streamlit interface: configures
- Video creator → ASGI application: submits requests
- ASGI application → API router: serves routes
- API router → Video endpoints: dispatches
- API router → Script endpoints: dispatches
- Script endpoints → LLM generation: requests generation
- LLM generation → LLM providers: queries
- Video endpoints → Generation workflow: starts generation
- Generation workflow → Task scheduler: schedules
- Task scheduler → Memory queue: uses queue
- Task scheduler → Redis queue: uses queue
- Redis queue → Redis service: stores queued tasks
- Generation workflow → LLM generation: generates content
- Generation workflow → Visual sourcing: sources visuals
- Visual sourcing → Semantic matching: matches script meaning
- Visual sourcing → Stock video sources: searches
- Generation workflow → Speech and timing: synthesizes narration
- Speech and timing → Chatterbox and WhisperX: synthesizes and aligns
- Speech and timing → Azure speech: synthesizes
- Generation workflow → Video composition: composes video
- Video composition → Subtitle rendering: renders captions
- Video composition → Video effects: applies effects
- Generation workflow → Task state: tracks progress
- Video composition → Generated video: produces