mushigaite/short-video-maker

A free open-source project designed to turn youtube-videos into viral short videos. Highlight detection, subtitles, translation, voiceover, all in one for your content: no pre-clip credits or any watermarks. Designed for creators who want an alternative to short-video SaaS tools like OpusClip or Vidyo.ai for free.

short-video-maker – AI搭載のYouTubeショート動画生成ツール

概要 – YouTubeのフル動画(またはローカル動画ファイル)から、1つ以上の縦型ショート動画(例:TikTok/Reels用の9:16)を自動作成するオープンソースのPythonツールです。以下の機能で面倒な作業を自動化します:

  • 音声認識(Speech-to-text):ローカルの faster-whisper モデルを使用。
  • コンテンツ分類とハイライトのランク付け:大規模言語モデル(OpenAI、Gemini、またはMuAPI)を使用。
  • AI生成フック(オプション):各ショート動画にキャッチーな導入部を追加。
  • エクスポート:選択したハイライトを、CLIまたは軽量なローカルWeb UI経由で投稿可能な動画ファイルとして出力。

主な機能

機能 内容
ワンクリック動画入力 YouTubeのURLを貼り付けるか、ローカルパスを指定。
自動文字起こし faster-whisper がローカルで動作するため、外部サービス不要。
スマートなハイライト検出 LLMが文字起こしセグメントを「バイラル性」(フック、感情のピーク、名言など)に基づいてスコアリングし、上位N個のクリップを抽出。
AI生成フック(オプション) 同じLLMによって生成される、文脈を考慮した短い導入部。
カスタマイズ可能な出力 クリップ数 (--n)、アスペクト比 (--ratio)、解像度、言語、フックの有無を選択可能。
APIモード 提供されているAPIモジュールを使用して、他のPythonコードからパイプラインを呼び出し可能。
ローカルWeb UI 最小限のHTML/JSフロントエンドにより、ターミナルを操作せずに動画のキューイングやフラグ設定が可能。
透かし/クレジットなし すべてのレンダリングがローカルで行われるため、クリーンな動画が出力され、すぐに投稿可能。

仕組み(ステップバイステップ)

  1. 動画のダウンロード/読み込み – スクリプトがYouTubeからソース動画を取得(またはローカルファイルを読み込み)。
  2. 文字起こし – faster-whisper がユーザーのPC上でタイムスタンプ付きの文字起こしを作成。
  3. コンテンツタイプの分類 – 選択したLLM (OpenAI/Gemini/MuAPI) が動画を分類(ポッドキャスト、インタビュー、チュートリアルなど)し、ハイライト抽出のプロンプトを最適化。
  4. ハイライトのランク付け – LLMが「バイラルフレームワーク」(フック、感情のピーク、驚きなど)に基づいて文字起こしをスキャンし、0〜100のスコアで候補クリップを返却。
  5. 重複排除 – 重複する候補をマージし、スコアが最も高いセグメントを保持。
  6. 上位N個の選択 – ユーザーが指定した数のクリップを選択。
  7. レンダリング – 各セグメントを指定されたアスペクト比にクロップし、オプションでAI生成フックを先頭に追加して、縦型ショート動画として保存。

はじめ方(クイックスタート)

# 1. クローン
git clone https://github.com/mushigaite/short-video-generator-AI.git
cd short-video-generator-AI

# 2. 仮想環境
python -m venv venv && source venv/bin/activate   # Windowsの場合は venv\Scripts\activate

# 3. 依存関係のインストール
pip install -r requirements.txt

# 4. LLM APIキーとWhisper設定を含む .env ファイルを作成
cat > .env <<EOF
LLM_PROVIDER=openai
OPENAI_API_KEY=your_key_here
LOCAL_WHISPER_MODEL=base
LOCAL_WHISPER_DEVICE=auto
EOF

# 5. 単一動画の実行
python main.py "https://www.youtube.com/watch?v=VIDEO_ID" \
    --n 3 --ratio 9:16 --resolution 720

生成されたクリップは output/ フォルダに保存されます。

Webインターフェース(オプション)

python3 server.py          # バックエンドの起動
cd web && python3 -m http.server 8000
# その後 http://localhost:8000/shorts-generator-ui.html を開く

UIはCLIフラグを反映しており、複数の動画をキューに入れることができます。

想定ユーザー

  • コンテンツクリエイター:SaaS料金を払わずに、長尺のYouTube動画をTikTok/Reels用のショート動画に再利用したい方。
  • マーケター:SNS用に、透かしのないハイライト動画を素早く作成したい方。
  • 開発者:独自のパイプラインにショート動画生成機能を組み込むためのAPIが必要な方。

制限事項と考慮事項

  • LLMコスト – ハイライトのスコアリングとフック生成は外部のLLM APIに依存するため、プロバイダーの料金が発生します。
  • ローカルWhisperモデルのサイズ – より大きなWhisperモデル(例:large-v3)は文字起こしの精度を向上させますが、より多くのRAM/VRAMを必要とします。
  • バイラルスコアリングはヒューリスティック – 「バイラル」ランキングはプロンプト駆動のフレームワークに基づいており、必ずしも最も魅力的な瞬間を選択するとは限りません。
  • 動画編集機能は限定的 – このツールはクロップと結合のみを行います。高度なトランジションやエフェクトは別途追加する必要があります。

ライセンス

MIT – 自由に使用、変更、再配布が可能です。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト