説明
短編動画コンテンツを生成するオープンソースの自動動画作成ツールです。Short Video Makerは、音声合成、自動字幕、背景動画、音楽を組み合わせて、シンプルなテキスト入力から魅力的な短編動画を作成します。
このプロジェクトは、GPUを大量に消費する動画生成(および高価なサードパーティAPI呼び出し)の代替となる、無料の代替手段を提供することを目的としています。画像や画像プロンプトに基づいてゼロから動画を生成するものではありません。
このリポジトリは、AI Agents AZ YouTubeチャンネルによってオープンソース化されました。AI関連のコンテンツやチュートリアルをもっとご覧になりたい方は、ぜひこのチャンネルをご覧ください。
サーバーはMCPと REST サーバーを公開します。
MCP サーバーは AI エージェント (n8n など) と一緒に使用できますが、REST エンドポイントを使用するとビデオ生成の柔軟性が高まります。
このリポジトリには、 REST/MCP サーバーで作成された n8n ワークフローの例があります。
目次
はじめる
Related MCP server: Maya MCP
使用法
情報
n8nを使ったチュートリアル

例
特徴
テキストプロンプトから完全な短いビデオを生成する
テキスト音声変換
自動キャプション生成とスタイル設定
Pexels経由の背景ビデオの検索と選択
ジャンル/ムードを選べるBGM
REST APIとモデルコンテキストプロトコル(MCP)サーバーの両方として機能する
仕組み
Shorts Creator は、簡単なテキスト入力と検索キーワードを受け取り、次の操作を行います。
Kokoro TTSを使用してテキストを音声に変換します
Whisperで正確な字幕を生成
Pexelsから関連する背景動画を検索します
すべての要素をRemotionで構成します
完璧なタイミングで字幕を付けたプロフェッショナルなショートビデオをレンダリングします
制限事項
このプロジェクトでは、英語のナレーション付きのビデオのみを生成できます(kokoro-js は現時点では他の言語をサポートしていません)
背景動画はPexelsから取得しました
一般的な要件
インターネット
無料のPexels APIキー
3GB以上の空きRAM、推奨は4GBのRAM
≥ 2 vCPU
5GB以上のディスク容量
国立博物館
プロジェクトの実行にはDockerが推奨されますが、npmまたはnpxでも実行できます。一般的な要件に加えて、サーバーを実行するには以下のものが必要です。
サポートされているプラットフォーム
Ubuntu ≥ 22.04 (Whisper.cpp 用の libc 2.5)
必要なパッケージ:
git wget cmake ffmpeg curl make libsdl2-dev libnss3 libdbus-1-3 libatk1.0-0 libgbm-dev libasound2 libxrandr2 libxkbcommon-dev libxfixes3 libxcomposite1 libxdamage1 libatk-bridge2.0-0 libpango-1.0-0 libcairo2 libcups2
Mac OS
ffmpeg (
brew install ffmpeg)node.js (22以上でテスト済み)
現時点では Windows はサポートされていません(whisper.cpp のインストールが時々失敗します)。
概念
シーン
各ビデオは複数のシーンで構成されています。これらのシーンは
テキスト: ナレーション。TTS が読み取って字幕を作成するテキスト。
検索用語: Pexels APIから動画を検索する際にサーバーが使用するキーワード。該当するものが見つからない場合は、ジョーカー用語(
nature、globe、space、ocean)が使用されます。
はじめる
Docker(推奨)
3つの異なるユースケースに対応する3つのDockerイメージがあります。一般的には、ほとんどの場合、 tinyイメージを起動することになります。
小さい
tiny.enwhisper.cpp モデルを使用しますq4量子化ココロモデルを使用CONCURRENCY=1限られたリソースで Remotion から発生する OOM エラーを克服します。VIDEO_CACHE_SIZE_IN_BYTES=104857600(100mb) 限られたリソースでRemotionから発生するOOMエラーを克服するため
普通
base.enwhisper.cpp モデルを使用しますfp32kokoroモデルを使用CONCURRENCY=1限られたリソースで Remotion から発生する OOM エラーを克服します。VIDEO_CACHE_SIZE_IN_BYTES=104857600(100mb) 限られたリソースでRemotionから発生するOOMエラーを克服するため
クーダ
Nvidia GPU を所有していて、GPU アクセラレーションを備えたより大きなウィスパー モデルを使用したい場合は、CUDA に最適化された Docker イメージを使用できます。
medium.enwhisper.cpp モデルを使用します (GPU アクセラレーション付き)fp32kokoroモデルを使用CONCURRENCY=1限られたリソースで Remotion から発生する OOM エラーを克服します。VIDEO_CACHE_SIZE_IN_BYTES=104857600(100mb) 限られたリソースでRemotionから発生するOOMエラーを克服するため
Dockerコンポーズ
Docker Compose を使用して n8n やその他のサービスを実行し、それらを統合する必要がある場合があります。サービス設定に共有ネットワークを追加してください。
セルフホスト AI スターター キットを使用している場合はnetworks: ['demo'] ** short-video-makerサービスに追加して、n8n でhttp://short-video-maker:3123からアクセスできるようにします。
ウェブUI
@mushitori は、ブラウザからビデオを生成するための Web UI を作成しました。
http://localhost:3123でロードできます。
環境変数
🟢 構成
鍵 | 説明 | デフォルト |
PEXELS_API_KEY | ||
ログレベル | ピノログレベル | 情報 |
ささやき声 | whisper.cppの出力をstdoutに転送するかどうか | 間違い |
ポート | サーバーがリッスンするポート | 3123 |
⚙️ システム構成
鍵 | 説明 | デフォルト |
ココロモデル精度 | 使用するKokoroモデルのサイズ。有効なオプションは
、
、
、
、
です。 | 状況によって異なります。上記の Docker イメージの説明を参照してください ^^ |
同時実行 | 同時実行性とは、レンダリング中に同時に開かれるブラウザタブの数を指します。Chromeの各タブはウェブコンテンツをレンダリングし、スクリーンショットを撮ります。 この値を調整することで、限られたリソースでプロジェクトを実行するのに役立ちます。 | 状況によって異なります。上記の Docker イメージの説明を参照してください ^^ |
ビデオキャッシュサイズ(バイト) | キャッシュ用Remotionのフレーム数。この値を調整すると、限られたリソースでプロジェクトを実行するのに役立ちます。 | 状況によって異なります。上記の Docker イメージの説明を参照してください ^^ |
⚠️ 危険地帯
鍵 | 説明 | デフォルト |
ウィスパーモデル | 使用するwhisper.cppモデル。有効なオプションは
、
、
、
、
、
、
、
、
、
、
、
です。 | 状況によります。上記のDockerイメージの説明をご覧ください。npmの場合、デフォルトオプションは
です。 |
データディレクトリパス | プロジェクトのデータディレクトリ |
npm を使用)、Docker イメージ内の
|
ドッカー | プロジェクトがDockerコンテナ内で実行されているかどうか | docker イメージの場合は
、それ以外の場合は
|
開発 | 推測! :) |
|
設定オプション
鍵 | 説明 | デフォルト |
パディングバック | 終了画面。ナレーションが終了した後、ビデオを再生し続ける時間 (ミリ秒単位)。 | 0 |
音楽 | BGMのムード。利用可能なオプションはGET
エンドポイントから取得できます。 | ランダム |
キャプションの位置 | キャプションを表示する位置。可能なオプション:
、
、
。デフォルト値 |
|
キャプション背景色 | アクティブなキャプション項目の背景色。 |
|
声 | ココロの声。 |
|
オリエンテーション | ビデオの向き。
と
オプションがあります。 |
|
音楽の音量 | BGMの音量を設定します。
、
から選択できます。 |
|
使用法
MCPサーバー
サーバーURL
/mcp/sse
/mcp/messages
利用可能なツール
create-short-videoは短い動画を作成します。LLMが適切な設定を自動的に判断します。特定の設定を使用する場合は、プロンプトで指定する必要があります。get-video-statusあまり役に立たないですが、ビデオのステータスを確認するためのものですが、AI エージェントは時間の概念をあまり理解していないため、結局は REST API を使用することになります。
REST API
GET /health
ヘルスチェックエンドポイント
POST /api/short-video
/api/short-video/{id}/status取得
/api/short-video/{id}を取得する
応答: ビデオのバイナリ データ。
/api/short-videosを取得する
/api/short-video/{id}を削除する
/api/voicesを取得する
/api/music-tagsを取得する
トラブルシューティング
ドッカー
サーバーには少なくとも3GBの空きメモリが必要です。Dockerに十分なRAMを割り当ててください。
Windows から wsl2 経由でサーバーを実行している場合は、 wsl ユーティリティ 2からリソース制限を設定する必要があります。それ以外の場合は、Docker Desktop から設定します。(Ubuntu は、run コマンドで指定しない限り、リソースを制限しません)。
国立博物館
必要なパッケージがすべてインストールされていることを確認してください。
n8n
MCP(またはREST)サーバーの設定は、n8nとサーバーの実行方法によって異なります。以下のマトリックスの例に従ってください。
|n8nはn8n startを使用してローカルで実行されています|n8nはDockerを使ってローカルで実行されています|n8nはクラウドで稼働しています|
|---|---|---|---|
|short-video-maker Dockerでローカルで実行されています|http://localhost:3123|場合によります。技術的にはホストを指すhttp://host.docker.internal:3123を使用できますが、同じネットワークを使用し、サービス名を使用して通信するように設定することもできます(例http://short-video-maker:3123|動作しません - クラウドにshort-video-makerを展開します|
|short-video-maker npm/npx で実行されています|http://localhost:3123|http://host.docker.internal:3123|動作しません - short-video-makerをクラウドにデプロイする|
|short-video-makerクラウドで実行されています|IPアドレスはhttp://{YOUR_IP}:3123使用してください。|IPアドレスはhttp://{YOUR_IP}:3123使用してください。|IPアドレスはhttp://{YOUR_IP}:3123使用してください。|
クラウドへのデプロイ
VPS プロバイダーはそれぞれ異なり、すべてのプロバイダーに設定を提供することは不可能ですが、ここではいくつかのヒントを紹介します。
Ubuntu ≥ 22.04を使用してください
4GB以上のRAM、2vCPU以上、5GB以上のストレージを搭載
pm2を使用してサーバーを実行/管理する
環境変数を
.bashrcファイル(または同様のファイル)に保存します。
よくある質問
他の言語も使えますか?(フランス語、ドイツ語など)
残念ながら、現時点では不可能です。Kokoro-js は英語のみをサポートしています。
画像や動画を渡して、それをつなぎ合わせることができますか?
いいえ
プロジェクトはnpmまたはdockerで実行する必要がありますか?
プロジェクトを実行するには Docker が推奨されます。
ビデオ生成にどれくらいの GPU が使用されていますか?
正直に言うと、それほど多くはありません。高速化できるのは whisper.cpp だけです。
Remotion は CPU を大量に消費しますが、 Kokoro-js はCPU 上で実行されます。
動画を生成するために使用できるUIはありますか?
まだ)
Pexels以外の動画ソースを選択したり、自分の動画を提供したりすることはできますか?
いいえ
このプロジェクトでは画像からビデオを生成できますか?
いいえ
ビデオ生成の依存関係
依存 | バージョン | ライセンス | 目的 |
^4.0.286 | ビデオの合成とレンダリング | ||
バージョン1.5.5 | マサチューセッツ工科大学 | 字幕の音声テキスト変換 | |
^2.1.3 | LGPL/GPL | オーディオ/ビデオ操作 | |
^1.2.0 | マサチューセッツ工科大学 | テキスト読み上げ生成 | |
該当なし | 背景ビデオ |
どのように貢献しますか?
PRは歓迎します。ローカル開発環境の設定手順については、 CONTRIBUTING.mdファイルをご覧ください。
ライセンス
このプロジェクトはMIT ライセンスに基づいてライセンスされています。