How eanugan/moneyprinterturbo works
MoneyPrinterTurbo turns a topic or keywords into a short video, with WebUI and API entry points and a task-oriented generation workflow. Script and search-term generation lead into material selection, voice, subtitles, background music, and video composition; generated videos and task progress are then available to users. The README also documents social publishing metadata, optional upload-post integration, configurable LLM providers, and video-generation integrations. The tree and sampled excerpts support the entry points, task management, provider registry, and several services; some internal service wiring is inferred only at the documented capability level.
Main entry points: task.py Task Pipeline · Main.py Web UI · base_manager.py Task Scheduler · llm.py Script and Terms
Components 26
User Interfaces
- Web UI
webui/Main.py - HTTP API
app/asgi.py - API Router
app/router.py - Video Endpoints
app/controllers/v1/video.py - LLM Endpoints
app/controllers/v1/llm.py
Generation Workflow
- Script and Terms
app/services/llm.py - Material Search
app/services/material.py - Voice Generation
app/services/voice.py - Subtitle Generation
app/services/subtitle.py - Background Music
app/services/bgm.py - Video Composition
app/services/video.py - Video Effects
app/services/utils/video_effects.py
Task Runtime
- Task Pipeline
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
AI Integrations
- LLM Providers
app/models/llm_provider.py - Video Model Adapters
app/services/volcengine_seedance.py
Outputs and State
- Task Artifacts
app/services/task_artifacts.py - Task State
app/services/state.py - Social Upload
app/services/upload_post.py
Other components
- Creator
- External AI Services
- Media Sources
- Upload-Post Service
- Local Files
Connections 32
- Creator → Web UI: provides topic
- Creator → HTTP API: submits request
- HTTP API → API Router: dispatches
- API Router → Video Endpoints: routes video calls
- API Router → LLM Endpoints: routes LLM calls
- Video Endpoints → Task Scheduler: schedules task
- Task Scheduler → Memory Queue: queues tasks
- Task Scheduler → Redis Queue: queues tasks
- Task Scheduler → Task Pipeline: runs task
- Web UI → Task Pipeline: starts generation
- LLM Endpoints → Script and Terms: generates text
- Task Pipeline → Script and Terms: requests script and terms
- Script and Terms → LLM Providers: resolves provider
- Script and Terms → External AI Services: requests generation
- Task Pipeline → Material Search: finds footage
- Material Search → Media Sources: searches and retrieves
- Task Pipeline → Voice Generation: generates narration
- Voice Generation → External AI Services: requests speech
- Task Pipeline → Subtitle Generation: creates subtitles
- Task Pipeline → Background Music: selects music
- Task Pipeline → Video Composition: composes video
- Video Composition → Video Effects: applies effects
- Task Pipeline → Video Model Adapters: requests generated footage
- Video Model Adapters → External AI Services: submits model task
- Task Pipeline → Task Artifacts: records outputs
- Task Artifacts → Local Files: stores files
- Task Pipeline → Task State: updates progress
- Web UI → Task State: reads task status
- Video Endpoints → Task State: reads task status
- Web UI → Social Upload: configures publishing
- Social Upload → Upload-Post Service: publishes video
- Task Pipeline → Social Upload: optional auto-upload