MoneyPrinterTurbo Subtitle Generation Options: Edge vs Whisper

MoneyPrinterTurbo supports two subtitle generation providers—Microsoft Edge TTS and faster-whisper—configurable via the subtitle_provider setting in the application configuration, with automatic Whisper fallback when Edge fails.

MoneyPrinterTurbo is an automated video generation tool that produces synchronized subtitles for AI-generated audio tracks. The application offers two distinct subtitle generation options: Edge TTS, which captures word-boundary timestamps during speech synthesis, and Whisper, which transcribes audio using the open-source speech recognition model. Understanding these providers helps you optimize subtitle accuracy and generation speed based on your specific workflow requirements.

Edge TTS Subtitle Generation (Default)

The Edge provider uses Microsoft Edge TTS to synthesize speech while simultaneously capturing word-boundary events to construct subtitle timestamps.

Implementation Details

In app/services/subtitle.py, the Edge path invokes voice.create_subtitle(...) to generate the subtitle file from word-boundary metadata captured during speech synthesis (lines 40-44). The resulting SRT file undergoes correction via the module’s correct logic to ensure proper formatting and timing alignment.

This provider is selected by default when subtitle_provider is set to "edge" in the configuration, as read from config.app.get("subtitle_provider", "edge") in app/services/task.py (lines 136-149).

Configuration Example

To use Edge TTS for subtitles, set the provider in your configuration file:


# config.toml

[app]
subtitle_provider = "edge"

Whisper Subtitle Generation (Fallback)

The Whisper provider utilizes the faster-whisper open-source model to transcribe generated audio and produce subtitle files independently of the TTS engine.

Implementation Details

When selected, the create function in app/services/subtitle.py loads the Whisper model and processes the audio file to generate transcription segments with timestamps (lines 21-27). The function writes these segments to an SRT file format suitable for video embedding.

Whisper serves as the secondary option, activated either explicitly via configuration or automatically when the Edge provider fails to produce a valid subtitle file.

Explicit Configuration

To force Whisper subtitle generation instead of Edge:


# config.toml

[app]
subtitle_provider = "whisper"

Automatic Fallback Mechanism

MoneyPrinterTurbo implements a resilient fallback system in app/services/task.py to ensure subtitle availability. If the Edge provider fails to write a subtitle file, the system sets subtitle_fallback to True and automatically invokes Whisper as a backup (lines 44-48).

This fallback logic ensures that even when Edge TTS word-boundary data is unavailable or corrupted, the video generation pipeline can still produce accurate subtitles through transcription. The fallback behavior is transparent to the user, with logs indicating the provider switch:

2026-03-23 12:00:00.000 | INFO | generating subtitle, provider: edge
2026-03-23 12:00:01.123 | WARNING | subtitle file not found, fallback to whisper
2026-03-23 12:00:02.456 | INFO | generating subtitle, provider: whisper

Runtime Configuration Override

You can programmatically override the subtitle provider at runtime before executing a task:

from app.config import config

# Switch to Whisper programmatically

config.app["subtitle_provider"] = "whisper"

# The next task execution will use Whisper for subtitle generation

Summary

  • Edge TTS is the default subtitle generation option that captures word-boundary timestamps during speech synthesis in app/services/subtitle.py.
  • Whisper provides transcription-based subtitle generation using the faster-whisper model, implemented in the create function of app/services/subtitle.py.
  • Configure the active provider via the subtitle_provider key in config.toml (options: "edge" or "whisper").
  • Automatic fallback to Whisper occurs when Edge fails to generate a subtitle file, as handled in app/services/task.py.

Frequently Asked Questions

What is the default subtitle provider in MoneyPrinterTurbo?

The default subtitle generation provider is Edge (Microsoft Edge TTS). The application reads the subtitle_provider configuration key in app/services/task.py (lines 136-149) and defaults to "edge" if unspecified, utilizing word-boundary timestamps captured during speech synthesis to generate the SRT file.

When does MoneyPrinterTurbo use Whisper instead of Edge?

MoneyPrinterTurbo uses Whisper in two scenarios: when subtitle_provider is explicitly set to "whisper" in the configuration, or when the Edge provider fails to produce a subtitle file and the automatic fallback mechanism triggers in app/services/task.py (lines 44-48), setting subtitle_fallback to True.

How do I configure subtitle generation options in MoneyPrinterTurbo?

Set the subtitle_provider value in your config.toml file (or config.example.toml as reference) under the [app] section. Valid options are "edge" for Microsoft Edge TTS word-boundary timestamps or "whisper" for transcription-based generation using the faster-whisper model.

What happens if Edge subtitle generation fails?

If Edge fails to write a subtitle file, MoneyPrinterTurbo automatically sets subtitle_fallback to True in app/services/task.py and invokes Whisper to transcribe the audio, ensuring the video generation pipeline completes successfully with accurate subtitles regardless of the initial provider selection.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →