この記事ではLLMに特化して解説します。LLM全般は LLMとは?仕組みからローカル実行まで徹底解説【2026年完全ガイド】 をご覧ください。
MoneyPrinterV2とは:GitHub3万スターの全自動収益化ツール
MoneyPrinterV2は、YouTube Shorts自動生成・Twitter Bot運用・Amazonアフィリエイト投稿・ローカルビジネスへのコールドアウトリーチという4つの収益化モジュールを1つのPythonプロジェクトに統合したオープンソースツールです。開発者はFujiwaraChoki氏で、GitHubスター数は29,600を超えています。
V1からV2へのリライトで、モジュラーアーキテクチャが採用されました。各機能が独立したモジュールとして分離され、中央のオーケストレーター(src/main.py)がメニュー形式でユーザーの操作を受け付けます。LLMバックエンドにはgpt4free(G4F)を採用しており、OpenAI APIキーなしでGPT相当のテキスト生成が可能です。音声合成にはKittenTTSを使い、動画処理はmoviepyとFFmpegが担当します。
このプロジェクトが注目を集めた理由は明確です。「動画を作る」「SNSに投稿する」「アフィリエイトリンクを貼る」「営業メールを送る」といった、オンライン収益化の典型的な作業フローをすべてPythonスクリプトで自動化しようとした点にあります。通常、これらの作業にはそれぞれ別のSaaSツール(動画編集ソフト、SNS管理ツール、メール配信サービス)を組み合わせる必要がありますが、MoneyPrinterV2は1つのリポジトリでカバーします。
V1はシンプルなスクリプト構成で、YouTube Shorts生成に特化していました。V2では「各モジュールが独立して動作し、設定ファイルで制御できる」というアーキテクチャに刷新され、Twitter Bot、アフィリエイト、コールドアウトリーチが新たに追加されました。この設計変更により、YouTube Shorts生成だけを使いたいユーザーは他のモジュールを無効化でき、逆にTwitter Botだけを稼働させたいユーザーは動画関連の依存パッケージをスキップできる構成になっています。リポジトリのsrc/classes/ディレクトリには共通クラスが配置され、各モジュールはこの共通レイヤーを通じてLLMやTTS、設定管理にアクセスします。
ただし、後述するように、この「全自動化」には深刻な倫理的・法的問題が伴います。技術的に「できる」ことと、「やっていい」ことは別問題です。
MoneyPrinterV2の4つのモジュールと自動化パイプライン
MoneyPrinterV2のアーキテクチャは、中央オーケストレーターと4つの独立モジュールで構成されています。各モジュールはconfig.jsonの設定で個別に有効化・無効化でき、CRONスケジューラー(src/cron.py)による定期実行にも対応しています。
python src/main.py"] --> B["中央オーケストレーター
メニュー選択"] B --> C["YouTube Shorts
モジュール"] B --> D["Twitter Bot
モジュール"] B --> E["アフィリエイト
モジュール"] B --> F["コールドアウトリーチ
モジュール"] C --> G["gpt4free
スクリプト生成"] C --> H["KittenTTS
音声合成"] C --> I["moviepy + FFmpeg
動画合成"] C --> J["Selenium
YouTube自動アップロード"] D --> K["gpt4free
ツイート生成"] D --> L["Twitter API
自動投稿"] E --> M["Amazon商品検索
リンク生成"] E --> N["Twitter/SNS
アフィリエイト投稿"] F --> O["Google Maps
ビジネス検索"] F --> P["Go製メーラー
メール自動送信"] style A fill:#4A90D9,color:#fff style B fill:#7B68EE,color:#fff style C fill:#FF6B6B,color:#fff style D fill:#4ECDC4,color:#fff style E fill:#FFD93D,color:#333 style F fill:#95E1D3,color:#333
YouTube Shorts自動生成モジュール
最も人気の高い機能であり、MoneyPrinterV2の中核です。ユーザーがトピック(例:「AIの最新トレンド」「歴史の面白い事実」)を指定すると、以下のパイプラインが自動実行されます。
- スクリプト生成:gpt4freeを通じてLLMがショート動画用のナレーション原稿を作成。60秒以内に収まるよう文字数が調整される
- 画像素材の取得:トピックに関連する画像をWeb検索(Pexels、Pixabayなど)で取得。テーマに合った背景画像を複数枚ダウンロードし、スライドショーの素材とする
- 音声合成:KittenTTSがナレーション原稿を音声ファイル(WAV/MP3)に変換。声のトーンや速度はconfig.jsonで調整可能
- 字幕生成:Whisperベースの音声認識で字幕データ(SRT形式)を自動生成。タイムスタンプ付きで音声と同期する
- 動画合成:moviepyが画像・音声・字幕を結合し、縦型動画(9:16、1080x1920)を出力。字幕のフォント、色、位置もカスタマイズ可能
- 自動アップロード:SeleniumでヘッドレスFirefoxを操作し、YouTubeに直接アップロード。タイトル、説明文、タグも自動入力される
このパイプラインの各ステップは独立しているため、例えば「スクリプト生成と音声合成だけ使い、動画編集は手動で行う」といった部分的な利用も可能です。音声合成の品質をさらに高めたい場合は、RealtimeTTSのようなリアルタイムTTSライブラリとの組み合わせも技術的には可能です。また、字幕生成の高速化にはinsanely-fast-whisperが参考になります。
Twitter Bot モジュール
gpt4freeでツイート文面を自動生成し、Twitter APIを通じて定期投稿を行います。Pythonのscheduleライブラリでcron的なスケジューリングが可能で、「6時間ごとにツイート」「毎日9時と21時に投稿」といった設定ができます。複数のTwitterアカウントをconfig.jsonに登録し、アカウントごとに異なるニッチ(テクノロジー、健康、金融など)のコンテンツを自動生成・投稿できる設計です。
ただし、Twitter(X)はBot行為の検出を強化しており、短期間での大量投稿やAI生成と判別されるテキストパターンは、アカウント凍結の原因になります。
Amazonアフィリエイトモジュール
指定したカテゴリ(ガジェット、書籍、日用品など)の商品リンクを自動生成し、TwitterなどのSNSにアフィリエイト付きの投稿を自動で行います。Amazon Product Advertising APIを使って商品情報を取得し、gpt4freeで推薦文を生成するフローです。
コールドアウトリーチモジュール
Google Maps APIなどで地域ビジネスの連絡先をスクレイピングし、Go言語製のメーラーで営業メールを一括送信します。ターゲットとなるビジネスの業種・地域を指定すると、連絡先情報を自動収集し、gpt4freeでパーソナライズされたメール文面を生成して送信するという流れです。メール送信部分がGoで実装されているのは、Goの並行処理(goroutine)による高スループットの送信が目的です。
技術スタックとgpt4freeの仕組み
- 言語:Python 3.12(必須)、Go(メール送信モジュール)
- LLM:gpt4free(G4F)— 複数プロバイダを抽象化してGPT相当のテキスト生成を無料で提供
- 音声合成:KittenTTS(ローカルTTS)
- 動画処理:moviepy + FFmpeg
- 字幕生成:Whisper / AssemblyAI
- ブラウザ自動化:Selenium + ヘッドレスFirefox
- スケジューリング:Pythonのscheduleライブラリ(cron.py)
- 設定管理:config.json
- ライセンス:AGPL-3.0
- Python依存:Python 3.12限定(3.11以下・3.13以上は非対応の場合あり)
MoneyPrinterV2の最大の技術的特徴は、gpt4free(G4F)をLLMバックエンドに採用している点です。gpt4freeは、複数のWebサービスのAPIを逆引き(リバースエンジニアリング)して、OpenAI GPTモデル相当のテキスト生成を無料で提供するPythonライブラリです。
gpt4freeの動作原理は以下の通りです。
- 複数の「プロバイダ」(ChatGPTのWebインターフェースやBing Chatなど)にリクエストを送信
- プロバイダが応答不能な場合は自動的に別のプロバイダにフォールバック
- ユーザーから見ると、OpenAI API互換のインターフェースでテキスト生成ができる
- プロバイダの追加・削除はコミュニティによって活発にメンテナンスされている
gpt4freeがMoneyPrinterV2で担う役割は多岐にわたります。YouTube Shortsのナレーション原稿生成、Twitterの投稿文面作成、アフィリエイト推薦文の生成、コールドメールの本文作成——つまり、すべてのモジュールでテキスト生成エンジンとして機能しています。これにより、OpenAI APIの月額料金を払わずにプロジェクト全体を動かせるという設計思想が実現されています。
V2のリライトでは、モジュラーアーキテクチャが導入されました。src/ディレクトリ内に各機能がモジュールとして分離されており、新しい収益化手法を追加する場合は独自モジュールを実装してオーケストレーターに登録するだけで拡張できます。この設計は、Pythonプロジェクトにおけるプラグインアーキテクチャの実践例として参考になります。
動画翻訳・字幕処理をさらに本格的に行いたい場合は、pyVideoTransが動画翻訳に特化した選択肢として参考になります。
インストールと設定方法(Python 3.12環境構築)
MoneyPrinterV2のセットアップは、Python 3.12環境の準備が最も重要です。以下の手順でインストールできます。
# 1. リポジトリをクローン
git clone https://github.com/FujiwaraChoki/MoneyPrinterV2.git
cd MoneyPrinterV2
# 2. 設定ファイルを作成(config.example.jsonをコピーして編集)
cp config.example.json config.json
# 3. Python 3.12の仮想環境を作成・有効化
python3.12 -m venv venv
source venv/bin/activate # Linux / macOS
# venv\Scripts\activate # Windows
# 4. 依存パッケージをインストール
pip install -r requirements.txt
# 5. メインメニューを起動
python src/main.py
# 6. CRONスケジューラーで定期実行する場合
python src/cron.py twitter 1 # Twitterアカウント1番でBot実行
python src/cron.py youtube 1 # YouTubeモジュールをスケジュール実行
config.jsonの主要な設定項目は以下の通りです。Twitter APIキー、YouTubeチャンネル情報、LLMプロバイダの選択、TTS設定などを記述します。
{
"twitter": {
"accounts": [
{
"consumer_key": "YOUR_CONSUMER_KEY",
"consumer_secret": "YOUR_CONSUMER_SECRET",
"access_token": "YOUR_ACCESS_TOKEN",
"access_token_secret": "YOUR_ACCESS_TOKEN_SECRET",
"handle": "@your_handle"
}
]
},
"youtube": {
"channel_id": "YOUR_CHANNEL_ID",
"niche": "technology",
"language": "Japanese"
},
"llm_provider": "g4f",
"tts_engine": "KittenTTS",
"headless_browser": true,
"cron_schedule": {
"twitter_bot": "0 */6 * * *",
"youtube_shorts": "0 9 * * 1,3,5"
}
}
pyenv install 3.12.xで3.12系をインストールし、pyenv local 3.12.xでプロジェクトディレクトリに設定するのが確実です。Python 3.13ではdistutils削除などの影響で依存パッケージのインストールに失敗する場合があります。また、moviepyやgpt4freeの特定バージョンがPython 3.11以下で動作しないケースも報告されています。
FFmpegとGo(オプション)のセットアップ
動画処理にはFFmpegが必須です。また、コールドメール機能を使う場合はGoのインストールも必要です。
- FFmpeg:macOSなら
brew install ffmpeg、Ubuntuならsudo apt install ffmpegでインストール。moviepyが内部でFFmpegバイナリを呼び出すため、PATHが通っていることを確認 - Go:コールドメールモジュールを使う場合のみ必要。公式サイトからインストール。メール送信の高速化にgoroutineを利用
CRONスケジューラーの仕組み
MoneyPrinterV2には、各モジュールを定期実行するためのスケジューラー(src/cron.py)が付属しています。Pythonのscheduleライブラリをベースに実装されており、config.jsonのcron_scheduleセクションで各モジュールの実行タイミングを指定します。サーバーやVPS上で nohup python src/cron.py twitter 1 & や systemd のサービスファイルと組み合わせれば、バックグラウンドでの無人運用も技術的には可能です。
MoneyPrinterV2 vs MoneyPrinterTurbo vs 商用ツール比較
MoneyPrinterV2には、中国コミュニティで開発されたフォーク「MoneyPrinterTurbo」が存在します。こちらもGitHubで非常に人気が高く、StreamlitベースのWeb UIを搭載している点が最大の差別化要素です。商用ツールとの比較も含めて整理します。
| 項目 | MoneyPrinterV2 | MoneyPrinterTurbo | Pictory | InVideo | Buffer |
|---|---|---|---|---|---|
| YouTube Shorts生成 | 全自動(生成→アップロード) | 全自動(Web UI付き) | テンプレートベース | テンプレートベース | 非対応 |
| LLMバックエンド | gpt4free(無料) | OpenAI API / ローカルLLM | 独自AI | 独自AI | AI非搭載 |
| Twitter Bot | スケジュール自動投稿 | 非対応 | 非対応 | 非対応 | 予約投稿 |
| アフィリエイト自動化 | Amazon連携 | 非対応 | 非対応 | 非対応 | 非対応 |
| コールドメール | Go製メーラー | 非対応 | 非対応 | 非対応 | 非対応 |
| Web UI | CLIのみ | Streamlit UI | Web App | Web App | Web App |
| 音声合成 | KittenTTS | Edge TTS / 他 | 内蔵 | 内蔵 | N/A |
| 価格 | 無料(AGPL-3.0) | 無料(MIT) | $19〜/月 | $25〜/月 | $5〜/月 |
| セットアップ難易度 | 中〜高 | 中(Web UIで操作) | 低 | 低 | 非常に低 |
| ToSリスク | 高(複数違反) | 中(API利用) | 低(正規API) | 低(正規API) | 低 |
MoneyPrinterV2の独自性は「動画生成・SNS運用・アフィリエイト・営業を1つのツールに統合した」点にあります。商用ツール(Pictory、InVideoなど)は動画生成に特化しており、SNS投稿やアフィリエイトの自動化は別ツールが必要です。一方で、商用ツールはプラットフォームの正規APIを使用しているため、ToS違反のリスクがMoneyPrinterV2と比較して大幅に低いという重要な違いがあります。
また、ライセンス面でもMoneyPrinterTurbo(MIT)とMoneyPrinterV2(AGPL-3.0)では大きな差があります。AGPLはネットワーク経由でサービスを提供する場合にもソースコード公開義務が発生するため、SaaS化やAPIラッパーとしての商用展開にはライセンス上の制約が伴います。
実運用で直面する課題と制約
MoneyPrinterV2を実際に動かす際、公式READMEだけでは把握しにくい課題が複数あります。GitHub Issuesやコミュニティのフィードバックから、主要な問題点を整理します。
gpt4freeの不安定性
gpt4freeは各AIサービスのWeb UIをリバースエンジニアリングしているため、プロバイダ側の変更によって突然動作しなくなることが日常的に発生します。GitHub Issuesを見ると「Provider X is broken」「G4F not working」といった報告が頻繁に上がっています。プロバイダが対策を施すたびにgpt4free側もアップデートが必要で、常に最新版を追いかけ続ける必要があります。安定運用を目指す場合、gpt4freeの代わりにOllama(ローカルLLM)やOpenAI API(正規契約)に切り替える改修が現実的です。
動画品質の限界
自動生成される動画は、Web検索で取得した画像をスライドショー的に並べ、TTS音声を乗せたものです。人間のYouTuberが作成するコンテンツとの品質差は大きく、YouTubeのアルゴリズムが低品質コンテンツを抑制する方向に進化している現状では、再生数・収益化のハードルは高いと考えるべきです。特に2024年以降、YouTubeはAI生成コンテンツの大量投稿に対するペナルティを強化しており、チャンネルの信頼スコアに悪影響を及ぼす可能性があります。
Seleniumの脆弱性
YouTubeのUIが変更されるたびに、Seleniumのセレクタ(CSSセレクタやXPath)が壊れて自動アップロードが失敗します。このメンテナンスコストは無視できません。YouTubeは数週間〜数ヶ月単位でUIを微修正するため、その都度セレクタの更新が必要です。また、ヘッドレスブラウザによるアクセスはbot検知に引っかかりやすく、CAPTCHAやログイン認証の強化によって動作しなくなるケースが増えています。
依存パッケージの互換性問題
moviepy、gpt4free、KittenTTSなど、多数のPythonパッケージに依存しているため、バージョン間の互換性問題が発生しやすい構造です。特にmoviepyはv2.0で大規模なAPI変更があり、MoneyPrinterV2が特定のバージョンに依存している場合、requirements.txtのバージョン固定が重要になります。
- gpt4freeの動作が不安定(プロバイダ依存、突然壊れる)
- 生成動画の品質は「スライドショー+TTS」レベル
- SeleniumベースのアップロードはUI変更で容易に壊れる
- Python 3.12限定(バージョン互換性が狭い)
- AGPL-3.0のため、サービスとして提供する場合はソース公開義務あり
- 各プラットフォームのToS違反リスクが常に存在
- 依存パッケージのバージョン競合が起きやすい
倫理的・法的リスクの詳細分析
MoneyPrinterV2の技術解説記事として、倫理面・法的リスクを明確に整理しておく必要があります。このセクションは、ツールの技術的可能性とは別に、実際に使用する際の判断材料として重要です。
プラットフォーム利用規約違反
| プラットフォーム | 違反の可能性がある行為 | 想定されるペナルティ |
|---|---|---|
| YouTube | Seleniumによる自動アップロード、AI生成コンテンツの未申告 | チャンネル停止、収益化剥奪、Adsense停止 |
| Twitter(X) | Botによる自動投稿、アフィリエイトスパム | アカウント凍結、永久BAN |
| Amazon Associates | 自動生成コンテンツでのアフィリエイトリンク利用 | アソシエイトプログラム除名、未払い報酬の没収 |
| Google Maps | スクレイピングによるビジネス情報取得 | API利用停止、法的措置 |
日本の法律との関係
- 特定電子メール法:同意なしの広告メール送信は違法(1年以下の懲役または100万円以下の罰金)。コールドアウトリーチモジュールを日本国内で使用する場合、事前のオプトイン取得が必須
- 景品表示法(ステマ規制):2023年10月施行のステマ規制により、アフィリエイト投稿でPR表記なしの広告は景表法違反。自動投稿テンプレートへのPR表記追加が必要
- 著作権法:Web検索で取得した画像を動画に組み込む行為は、著作権侵害に該当する可能性がある。フリー素材サイト(Pexels、Pixabay)からの取得でも、ライセンス条件の確認が必要
- 不正アクセス禁止法:gpt4freeのリバースエンジニアリングが不正アクセスに該当する可能性(法解釈が分かれるが、サービス提供者の意図に反するアクセスとして問題視されるリスクあり)
YouTubeの2024年AI開示ポリシー
YouTubeは2024年3月から、AI生成コンテンツに対して作成者に開示を義務付けるポリシーを施行しています。リアルに見える合成コンテンツや改変コンテンツについては、「変更済みまたは合成コンテンツ」ラベルの適用が求められます。MoneyPrinterV2で生成した動画をアップロードする場合、AI生成であることを申告する必要がありますが、Seleniumの自動アップロードフローではこの申告ステップが適切にハンドリングされない可能性があります。
学習・研究としての活用ポイント
MoneyPrinterV2のコードベースには、倫理的問題とは別に、技術的に学べる要素が多くあります。ここでは、このリポジトリから抽出できる設計パターンと学習ポイントを整理します。
Pythonモジュラー設計のリファレンス
V2のリライトで導入されたモジュラーアーキテクチャは、Pythonプロジェクトの設計パターンとして参考になります。各モジュールが独立したディレクトリに分離され、共通のインターフェースでオーケストレーターから呼び出される構造は、自分のプロジェクトに応用できます。
オーケストレーター"] --> B["src/youtube/
動画生成モジュール"] A --> C["src/twitter/
Bot モジュール"] A --> D["src/affiliate/
アフィリエイト"] A --> E["src/outreach/
メール送信"] B --> F["src/classes/
共通クラス"] C --> F D --> F E --> F F --> G["config.json
設定管理"] style A fill:#6C5CE7,color:#fff style F fill:#00B894,color:#fff style G fill:#FDCB6E,color:#333
特に注目すべき設計ポイントは以下の3つです。
- 設定の外部化:すべてのモジュール設定が
config.jsonに集約されており、コードを変更せずに動作をカスタマイズできる - 共通クラスの分離:LLMクライアント、TTS、ファイル操作などの共通機能が
src/classes/に集約され、各モジュールはこれを継承・利用する - エントリーポイントの分離:
main.py(対話的メニュー)とcron.py(スケジュール実行)で異なる起動方法を提供しつつ、内部のモジュール呼び出しは共通
動画生成パイプラインの実装
テキスト→音声→字幕→動画という変換パイプラインの実装は、moviepyとFFmpegの実践的な使い方を学ぶ教材になります。特に、moviepyでの字幕合成(TextClipの配置・タイミング制御)、音声と映像の同期(AudioFileClipとVideoFileClipの結合)、アスペクト比の変換(9:16縦型動画への変換処理)の実装は、独自の動画自動化ツールを作る際に直接参考になるコードです。
gpt4freeのプロバイダ抽象化パターン
gpt4free自体の設計思想——複数のバックエンドを統一インターフェースで抽象化し、フォールバック機能を持たせる——は、LLMアプリケーション開発で広く使えるパターンです。正規APIを使う場合でも、OpenAI / Anthropic / Google などの複数プロバイダを抽象化するアダプターパターンは実用的です。MoneyPrinterV2のコードから、このパターンの実装方法を学び、自分のプロジェクトに正規APIで適用することで、プロバイダロックインを避ける設計が可能になります。
AIツールの活用方法を体系的に学びたい場合は、Claude Codeのベストプラクティスガイドも合わせて参照してください。
- リポジトリをクローンしてコードを読む(実行せずにアーキテクチャを理解する)
- 動画生成パイプライン部分だけをローカルで試す(アップロード・投稿機能はオフにする)
- gpt4freeの代わりにOllama(ローカルLLM)で動作させる改修を試みる
- Seleniumの自動アップロードをYouTube Data API v3に置き換える改修を行う
- 正規APIのみを使った「クリーン版」を自分で実装し、ポートフォリオにする
関連記事: LLMとは?仕組みからローカル実行まで徹底解説【2026年完全ガイド】
まとめ:MoneyPrinterV2が示す自動化の可能性と限界
MoneyPrinterV2は、GitHub3万スターという数字が示す通り、「オンライン収益化の全自動化」というコンセプトに対する市場の強い関心を反映したプロジェクトです。YouTube Shorts生成、Twitter Bot、Amazonアフィリエイト、コールドアウトリーチという4つのモジュールを1つのPythonプロジェクトに統合した設計は、技術的には興味深いものです。
しかし、gpt4freeによるToS違反、Seleniumの自動アップロード、スパム的なコールドメール送信など、実運用では深刻な倫理的・法的リスクを伴います。プラットフォーム各社はAI生成コンテンツとbot行為への規制を年々強化しており、MoneyPrinterV2が想定する「全自動で稼ぐ」というユースケースは、2026年現在ますます困難になっています。
一方で、このプロジェクトのコードベースから学べることは多くあります。Pythonのモジュラー設計、moviepyによる動画パイプライン、LLMプロバイダの抽象化パターンなど、正規の自動化ツールを構築する際に応用できる技術要素が詰まっています。
MoneyPrinterTurbo(中国コミュニティのフォーク、MIT License)が示すように、コミュニティはWeb UI化やより使いやすいインターフェースの方向へ進化を続けています。AI動画生成の自動化自体は正当な技術トレンドであり、重要なのは「正規のAPI」「各プラットフォームのルール」「法律」の範囲内で活用することです。
- GitHub Stars 29,600超のPython製全自動収益化ツール
- YouTube Shorts生成・Twitter Bot・アフィリエイト・コールドメールの4モジュール構成
- gpt4free + KittenTTS + moviepy + Seleniumの技術スタック
- AGPL-3.0ライセンス、Python 3.12必須
- 教育・技術研究目的での利用を推奨。商用利用はToS・法的リスクの十分な検討が必要
参照ソース
- FujiwaraChoki/MoneyPrinterV2 - GitHub — 公式リポジトリ。README、config.example.json、アーキテクチャドキュメントを含む
- MoneyPrinterTurbo - GitHub — 中国コミュニティによるフォーク版。Streamlit Web UI搭載、MITライセンス
- gpt4free - GitHub — MoneyPrinterV2のLLMバックエンド。プロバイダ抽象化ライブラリ
- YouTube API Services Terms of Service — YouTube APIの利用規約。自動化ツールの使用制限を定義
- KittenTTS - GitHub — MoneyPrinterV2で使用されるローカル音声合成エンジン