はじめまして、もるふぉです。
エンジニアをやりながら、今はほぼコードを書かない開発スタイルに移行しました。
「書けないから書かない」じゃなくて、「書けるから書かなくていい」という話です。
実案件ベースで気づいたことだけ書いています。
よければXもフォローしてもらえると嬉しいです → X(@morphox_ai)
「エンジニアならYouTubeやったほうがいい」って話、もう何年も聞いてますよね。
でも実際やろうとすると、台本書いて、映像素材探して、ナレーション録って、字幕つけて、サムネ作って、アップロードして......正直、本業の合間にやるには工程が多すぎるんですよ。
しかもそれを「コンスタントに」続けないとチャンネルは育たない。
編集スキルも、カメラも、毎週の時間も、全部揃えるのはさすがに無理です。
そこで見つけたのが「YouTube Shorts Pipeline」というOSSです。
ニュース見出しを1行渡すだけで、リサーチからYouTube Shortsの公開まで全自動でやってくれるPython製のパイプラインツール。
しかも1本あたりのコストが約$0.10。
SaaS型ツールだと1本$0.50〜かかるので、コスト効率が5倍違います。
無料構成なら$0.00で回せます。
これ、ちょっと構造を見てみる価値があるなと思ったので、今回はこのツールの設計思想とアーキテクチャを深掘りしていきます。
YouTube Shorts Pipelineとは -- コマンド1行で動画生成から公開まで全自動
トピック1行から公開済みShortsができるまでの流れ
YouTube Shorts Pipelineは、Dr Rushindra Sinha氏が開発したオープンソースのYouTube Shorts自動生成ツールです。
GitHub Stars 1.5k、Forks 382と、この手のOSSとしてはかなりの支持を集めています。
現在はv3にメジャーアップデートされ、「Verticals」という名称に進化しています。
やることはシンプルです。
python -m verticals run --topic "Sam Altman mass-fired 200 safety researchers" --niche techこのコマンド1行を叩くと、以下が全自動で実行されます。
- トピックに関するWeb調査(DuckDuckGo検索)
- 調査結果をもとにしたスクリプト生成(LLM)
- AI映像素材の生成(Ken Burnsエフェクト付き)
- ナレーション音声の生成
- 単語レベルの字幕生成(Whisper)
- BGM選曲と自動ダッキング
- ffmpegで全素材を結合
- YouTube(またはTikTok、Reels)への自動アップロード
トピックを渡してからYouTubeに公開されるまで、人間が介入する工程がゼロです。
つまり、「今まで台本→録音→編集→アップロードで数時間かかっていた作業」が、コマンド1行で完結するんです。
使っているAIスタック(Claude / Gemini / ElevenLabs / Whisper)
このパイプラインが面白いのは、複数のAIサービスを「それぞれ得意なことだけやらせる」設計になっている点です。
いわばチーム開発のようなもので、スクリプト担当・映像担当・音声担当がそれぞれ専門の仕事をして、ffmpegが最後に全部組み上げる構造です。
v3ではマルチプロバイダー対応になっていて、LLMはClaude、Gemini、GPT、Ollama(ローカル)から選べます。
TTSもEdge TTS(無料、300+ボイス)がデフォルトで、ElevenLabsやKokoroも選択可能です。
映像ソースもGemini Imagen、Replicate、Pexels(無料ストック動画)、ComfyUIと幅広いです。
「全部無料で組む」ことも「品質重視で課金する」ことも、ユーザーの判断で決められる設計になっています。
ここが地味にすごいポイントで、コストと品質のトレードオフを自分で調整できるんです。
ではこのパイプラインが内部でどう動いているのか、次で詳しく見ていきます。
3ステージのパイプライン設計 -- Draft、Produce、Upload
パイプライン全体は3つのステージに明確に分割されています。
料理で言うと「仕込み」→「調理」→「配膳」を完全に独立させているようなもので、この設計がかなり合理的です。
エンジニアとして「わかってるな」と感じるポイントなんですよ。
Draft -- DuckDuckGoリサーチからClaudeスクリプト生成
最初のステージはDraftです。
python -m verticals draft --topic "headline" --niche techここではまずDuckDuckGoでトピックに関するWeb検索を行い、リサーチスニペットを収集します。
そのリサーチ結果をLLM(デフォルトはClaude)に渡して、以下を一括生成します。
- YouTube Shorts用のスクリプト(台本)
- 各シーンのB-roll映像プロンプト
- YouTubeのタイトル・説明文・タグ
- サムネイル用のプロンプト
ここで注目してほしいのは、LLMがスクリプトを書く際に「DuckDuckGoのリサーチ結果だけを情報源にする」という制約がかかっている点です。
リサーチスニペットは300文字に切り詰められ、境界マーカーが付与されます。
LLMの出力フィールドには型チェックが走り、スクリプト内のすべての主張はリサーチデータに遡れることが求められます。
つまり、LLMの学習データに基づく「知ったかぶり」を構造的にブロックしているわけです。
これはアンチハルシネーションの仕組みとして、かなり実直なアプローチだと思います。
Produce -- 映像・ナレーション・字幕・BGMの合成
2番目のステージがProduceです。
python -m verticals produce --draft <path> --lang enDraftステージの出力を受け取って、実際の動画を組み立てます。
- 映像生成: B-rollプロンプトからGemini Imagen等で画像を生成し、Ken Burnsエフェクト(ゆっくりズーム&パン)を適用
- ナレーション: スクリプトからEdge TTS / ElevenLabsで音声を合成
- 字幕: Whisperで単語レベルのタイムスタンプを取得し、ASS形式(word-by-wordハイライト)とSRT形式の字幕を生成
- BGM: ロイヤリティフリーの楽曲バンドルから自動選曲し、ナレーション部分で自動的にボリュームを下げる(ダッキング)
- 結合: ffmpegで全素材をアセンブル。字幕はバーンイン(映像に焼き込み)
特に字幕のword-by-wordハイライトは、最近のShorts/Reelsでよく見るスタイルですね。
Whisperの単語レベルタイムスタンプを活用してASS形式で実現しているのは、技術的に筋が通っています。
Upload -- YouTube自動投稿とサムネイル自動生成
最後がUploadステージです。
python -m verticals upload --draft <path> --platform youtubeDraftステージで生成済みのメタデータ(タイトル、説明文、タグ)と、Produceステージで生成した動画ファイルを使って、YouTube Data APIで自動アップロードします。
サムネイルもGemini Imagenで生成した画像にPillowでテキストをオーバーレイして自動作成します。
SRT字幕もアップロード時に添付されます。
v3ではYouTubeに加えて、TikTokとReelsにも対応。
v3.1ではX(旧Twitter)への投稿も予定されているようです。
3ステージが独立しているので、draftだけ回してスクリプトを人間がレビューしてからproduceに進む、という使い方もできます。
また、パイプラインのステート追跡機能があるので、途中でエラーが起きても完了済みステージをスキップして再開できます。
この「レジューム機能」は地味に重要で、API呼び出しが複数サービスにまたがるパイプラインでは、1つのAPIがレート制限に引っかかっただけで全部やり直しになるのを防げます。
複数の外部APIを組み合わせたパイプラインを自分で組もうとすると、このレジューム機能だけでも実装コストがかなりかかるので、これが最初から入っているのは助かります。
次は、実際に使う前に一番気になるコスト構造を見ていきます。
コスト構造の内訳 -- 1本あたり約$0.10で回せる理由
プレミアム構成 vs 無料構成のコスト比較
YouTube Shorts自動化ツールを選ぶ上で、コストは最重要ポイントの一つです。
YouTube Shorts Pipelineのコスト構造は、選択するプロバイダーの組み合わせで大きく変わります。
Premium構成でも1本あたり約$0.11です。
月に100本作っても$11(約1,600円)。
Free構成ならOllamaでローカルLLMを動かし、Edge TTSとPexelsを使うことで、API課金ゼロで回せます。
もちろんFree構成は品質面でトレードオフがありますが、「とりあえず仕組みを試したい」「量を出して反応を見たい」という段階では十分実用的でしょう。
SaaS型ツールとの月間コスト比較
参考として、SaaS型のShorts自動化ツールとの比較も載せておきます。
SaaS型は月額固定で手軽ですが、生成本数に制限があり、スケールするとコストが跳ね上がります。
OSSであるYouTube Shorts Pipelineは、初期セットアップのハードルはありますが、ランニングコストでは圧倒的に有利です。
「月に数百本レベルで回したい」というケースでは、OSSのコスト優位性が際立ちます。
コスト構造がわかったところで、v3で追加された機能を見てみましょう。
v3で進化したニッチインテリジェンス機能
15種のビルトインニッチプロファイル
v3の目玉機能の一つが「ニッチインテリジェンス」です。
tech、gaming、finance、fitness、cookingなど15種類のビルトインニッチプロファイルがYAML形式で用意されています。
python -m verticals run --topic "headline" --niche cooking --provider ollama--nicheパラメータを指定するだけで、そのジャンルに最適化されたスクリプトのトーン、映像スタイル、BGMの選択が自動的に切り替わります。
ここが面白いところなんですが、ニッチプロファイルはYAMLファイルなので、自分でカスタマイズしたり、新しいニッチを追加することも簡単です。
トピックエンジン -- RedditからHacker Newsまでトレンドを自動検出
もう一つ注目なのが、トピック自動検出エンジンです。
python -m verticals topics --niche tech --limit 20このコマンドで、Reddit、RSS、Google Trends、Twitter、TikTok、YouTube Trending、Hacker Newsなど複数ソースからトレンドトピックを自動収集してくれます。
「何を投稿すればいいかわからない」というネタ切れ問題に対して、データドリブンなアプローチで解決策を提示しているのは賢いですね。
トピック検出からShortsの公開まで完全に自動化すれば、理論上は「放置でチャンネル運営」も技術的には可能になります。
ただし、後述しますが、そこには当然リスクもあります。
ここから先は、エンジニアとして「実際に使えるのか」を率直に評価していきます。
エンジニア視点の評価 -- 使えるOSSか、おもちゃか
ハルシネーション防止機能の実効性
先ほど触れたアンチハルシネーションの仕組みは、設計としては堅実です。
- リサーチスニペットを300文字に切り詰めて境界マーカーを付与
- LLM出力フィールドに型チェックを実施
- スクリプト内のすべての主張がリサーチデータに遡れることを要求
- Claudeが使う名前・事実はDuckDuckGoのライブリサーチからのみ取得
ただし、これは「ハルシネーションを完全に排除する」ものではなく、「ハルシネーションのリスクを構造的に下げる」仕組みです。
「完全に防げる」と思ってノーチェックで運用するのは危ないです。
DuckDuckGoの検索結果自体が誤っている可能性もあるし、300文字のスニペットから文脈を取り違えるケースも考えられます。
「自動生成した動画をノーチェックで公開する」運用は、正確性を求めるジャンル(ニュース、金融、医療系)ではリスクが高いですね。
「draftだけ自動で回して、人間がスクリプトを確認してからproduceに進む」というフローが、現実的な落としどころだと思います。
マルチプロバイダー対応とOllama(ローカルLLM)の可能性
v3のマルチプロバイダー対応は、エンジニアにとって嬉しいポイントです。
Claude、Gemini、GPT、Ollamaから選べるので、コスト・品質・プライバシーの要件に応じて柔軟に切り替えられます。
特にOllama対応は大きいです。
ローカルでLLMを動かせるので、APIキー不要、課金ゼロ、データの外部送信なしでパイプラインを回せます。
もちろんローカルLLMの品質はClaude等には劣りますが、「まずは試してみたい」「社内のセンシティブな情報を含むコンテンツを作りたい」といったユースケースでは有力な選択肢です。
運用上の注意点と現実的な限界
エンジニアとして正直に言っておくべき注意点もあります。
YouTubeのポリシーリスク: AI生成コンテンツの大量投稿は、YouTubeのスパムポリシーに抵触する可能性があります。
特に「完全自動で毎日大量投稿」は、チャンネルBANのリスクがあります。
YouTubeは2024年3月からAI生成コンテンツの開示を義務化しており、この領域のポリシーは今後も変わり得ます。
品質の天井: 自動生成Shortsの品質は、人間が作り込んだコンテンツには及びません。
Ken Burnsエフェクトをかけた静止画の連続は、どうしても「AI生成感」が出ます。
差別化されたチャンネルを作るなら、パイプラインの出力を「下書き」として使い、人間が手を入れるフローが現実的です。
API依存のリスク: 複数の外部APIに依存しているため、いずれかのサービスの仕様変更・料金改定で動かなくなる可能性があります。
包括的なテストスイートが整備されているのは安心材料ですが、外部APIのモック次第ではE2Eの信頼性は別問題です。
セットアップのハードル: Google Colabならゼロインストールで試せますが、ローカル環境ではPython、ffmpeg、各APIキーの設定が必要です。
非エンジニアにはGradio Web UIが用意されていますが、それでもAPIキーの取得・設定は避けられません。
まとめ -- YouTube Shorts Pipelineはどんな人に向いているか
YouTube Shorts Pipelineは、「動画コンテンツの自動生成パイプライン」としてかなり完成度の高いOSSです。
3ステージの分離設計、マルチプロバイダー対応、アンチハルシネーション、レジューム機能と、実運用を見据えた設計が随所に見られます。
コスト面でも、Premium構成で1本約$0.11、Free構成なら$0.00と、SaaS型ツールとは比較にならないコスト効率です。
向いている人:
- PythonとCLIに抵抗がないエンジニアで、YouTube Shortsの自動化を試してみたい人
- フェイスレスチャンネル(顔出しなし)の運営を低コストで検証したい人
- 動画パイプラインのアーキテクチャを学びたい人
- 既存のコンテンツ(ブログ、ニュースレター等)を動画に転用する仕組みを作りたい人
向いていない人:
- 動画編集の品質を細かくコントロールしたい人
- プログラミング環境のセットアップに慣れていない人
- YouTubeポリシーのリスクを取りたくない人
まず試すならGoogle Colabが一番楽です。
インストール不要で、ブラウザからすぐ動かせます。
git clone https://github.com/rushindrasinha/verticals.git
cd verticals
pip install -r requirements.txt
python -m verticals ui # localhost:7860でWeb UIが起動ローカルで動かしたい場合は上のコマンドで5分もあれば起動できます。
自分としては、「全自動で量産する」よりも「draftステージでスクリプト生成を自動化して、あとは人間が仕上げる」使い方が一番現実的だと感じています。
OSSなので中身を読んで改造もできるし、自分のワークフローに組み込む余地が大きいのもポイントですね。
AI動画生成の自動化パイプラインに興味があるなら、一度GitHubを覗いてみてください。



💬 コメント
ログイン か 会員登録 するとコメントできます