Generating Videos
MoneyPrinter supports two methods for generating videos: the web UI and the REST API.Using the Web UI
1. Access the Frontend
Ensure all services are running:2. Basic Generation
Select voice
Choose a TikTok TTS voice from the dropdown. Popular options:
| Voice Code | Description |
|---|---|
en_us_001 | English (US) - Male |
en_us_006 | English (US) - Female |
en_uk_001 | English (UK) - Male |
es_mx_002 | Spanish (Mexico) |
fr_001 | French |
Configure advanced options (optional)
Expand the Advanced Options section:
- AI Model: Select from your installed Ollama models
- Paragraphs: Number of paragraphs in the script (1-5)
- Custom Prompt: Override default script generation
- Subtitle Position:
centerorbottom - Text Color: Hex color code (e.g.,
#FFFF00) - Background Music: Toggle on/off
- YouTube Upload: Enable automatic upload
- Threads: CPU threads for rendering (2-16)
Click Generate
Click the Generate button. The UI will:
- Submit the job to the API
- Receive a
jobId - Start polling for status and events
- Display real-time progress logs
3. View Output
When generation completes:- The video is saved as
output.mp4in the project root - A download link appears in the UI
- The final video path is shown in the logs
4. Cancel Generation
To cancel a running job:- Click the Cancel button
- The worker will stop processing at the next checkpoint
- Job state changes to
cancelled
Using the API
1. Queue a Job
Submit a generation request:2. Check Job Status
Query the job state:3. Fetch Job Events
Get real-time progress logs:Use the
after parameter to poll only for new events. Pass the last event ID you received.4. Poll for Completion
Implement polling logic:5. Cancel a Job
Request cancellation:Custom Prompts
Override the default script generation with a custom prompt:Custom prompts completely replace the default system prompt. Ensure your prompt includes formatting instructions.
Advanced Configuration
Subtitle Styling
Customize subtitle appearance:fonts/bold_font.ttf:
Backend/video.py
Video Dimensions
Videos are rendered at 1080x1920 (vertical format) for YouTube Shorts/TikTok:Backend/video.py
Background Music
Enable background music:- Place
.mp3files in theSongs/directory - Music is mixed at 10% volume
- Random song selection
Common Use Cases
Generate a Quick Short
Educational Content
Marketing Video
Troubleshooting
Job stays in 'queued' state
Job stays in 'queued' state
- Ensure the worker is running:
uv run python Backend/worker.py - Check worker logs for errors
- Verify database connectivity
No stock videos found
No stock videos found
- Verify
PEXELS_API_KEYin.env - Try a broader video subject
- Check Pexels API quota (200 requests/hour on free tier)
TTS fails
TTS fails
- Verify
TIKTOK_SESSION_IDis valid - Session IDs expire - refresh if needed
- Check for special characters in script
Subtitle rendering error
Subtitle rendering error
- Ensure ImageMagick is installed
- Set
IMAGEMAGICK_BINARYin.envif not auto-detected - Check font file exists at
fonts/bold_font.ttf
Next Steps
Ollama Models
Choose and configure AI models
Background Music
Add music to your videos
YouTube Upload
Automate YouTube uploads
Pipeline
Understand the video generation process