MoneyPrinterTurboは、動画のテーマやキーワードを1つ与えるだけで、台本生成・素材マッチング・字幕作成・BGM付与・動画合成までを自動で行うAI短尺動画生成ツールです。WebUI(Streamlit)とREST API(FastAPI)、CLIの3つの入口を持ち、TikTokやYouTube Shorts、Instagram Reels向けの縦型動画作成を想定しています。LLM(OpenAI、Kimi、DeepSeekなど多数のプロバイダー)とTTS、FFmpegを組み合わせたワークフロー自動化が中核です。
処理は`app/services/task.py`を中心に、script(台本生成)・terms(検索キーワード抽出)・audio(TTS音声合成)・subtitle(字幕生成)・materials(動画素材収集)・video(FFmpeg合成)という6段階のパイプラインで進みます。台本と検索キーワードは`app/services/llm.py`経由でLLMプロバイダー(`app/models/llm_provider.py`に一覧登録)に問い合わせ、音声は`app/services/voice.py`でedge-tts・Azure・ElevenLabsなど複数のTTSエンジンを切り替えます。素材は`app/services/material.py`や`material_cache.py`で外部ストックサービスから取得しキャッシュし、字幕は`faster-whisper`ベースの`subtitle.py`で生成、最終的に`video.py`がmoviepyとFFmpegで映像・音声・字幕・BGMを結合します。WebUIとCLIはどちらも同じ`app/services/task.py`のパイプラインを呼ぶ設計で、API側は`app/controllers/v1/video.py`がタスクをキューイングし、`memory_manager.py`または`redis_manager.py`で状態管理します。
- STEP 01
`config.example.toml`を`config.toml`にコピーし、LLMプロバイダー(例:OpenAI互換API)のAPIキーと動画素材サービスのキーを設定する作業がまず発生します。
- STEP 02
`webui.sh`(またはDocker Composeの`webui`サービス)を実行すると、ブラウザに8501番ポートでStreamlit画面が開き、テーマ入力欄や言語選択、TTS音声選択のUIが表示されます。
- STEP 03
テーマを入力して生成を実行すると、台本生成→キーワード抽出→素材ダウンロード→音声合成→字幕生成→動画合成の順に進行状況がログとプログレスバーで表示されます。
- STEP 04
FFmpegや外部API(TTSや素材サービス)が未設定・未接続だと、パイプラインの途中段階でエラーが出て停止することが想定されます(テストコードにFFmpeg検出やエラーハンドリングのテストが存在します)。
- STEP 05
完了すると`storage`ディレクトリ配下にMP4形式の縦型動画ファイルが生成され、WebUI上でプレビュー・ダウンロードができます。
- STEP 06
API経由の場合は`main.py`起動後、`/docs`のSwagger UIからタスクを投げ、`app/controllers/v1/video.py`のエンドポイントでタスクIDを受け取って進捗をポーリングする流れになります。
最終的に、指定したテーマに沿った台本・字幕付き・BGM付きの縦型MP4動画ファイルが`storage`配下に生成されます。WebUIならプレビューとダウンロードがその場ででき、API/CLI経由ならタスクIDで進捗管理しつつ成果物パスを取得する形になります。テストスイート(`test/services/`以下に多数)を見る限り、TTS・字幕・動画合成・タスク管理・LLM設定などの各段階が個別にユニットテストでカバーされている点は確認できます。
動作にはLLM APIキー、TTSサービス、動画素材サービス(外部ストック)のキーなど複数の外部サービス契約が前提になっており、無料で完結する構成ではありません。
FFmpegやGitなど環境依存のシステム依存関係が必要で、Dockerfile内でもミラー切り替えやリトライ処理が組まれているほど、インストール時のネットワーク事情に影響を受けやすい設計です。
README冒頭のスポンサー欄にアフィリエイトリンクが多数含まれており、README本文の記述を鵜呑みにせず実際の設定項目や料金は各サービス側で確認する必要があります。
実際の生成品質(台本の自然さ、素材とテーマの一致度、字幕の同期精度など)は使用するLLMやTTSプロバイダーの性能に依存するため、リポジトリのコードだけからは判断できません。
AIで動画の台本から素材収集、字幕、BGM合成までを一気通貫で自動化したい人、特にショート動画量産のワークフローを構築したい制作者向けのツールだと判断できます。パイプライン構成(`task.py`の6段階)、複数TTS/LLMプロバイダー対応、WebUI・API・CLIの3入口設計、そして70%以上のブランチカバレッジを課すCI設定は、ソースツリーとpyproject.tomlの記述から確認できる客観的事実です。ただし実際の生成物の品質や外部サービスとの相性は、各自のAPIキーと環境で試すまでは分からない部分であり、この判断はあくまで「仕組みが整っているか」の評価にとどまります。