Integrations
Provides community support and discussions through a Discord server for users seeking help with the Short Video Maker tool.
Offers containerized deployment options for running the Short Video Maker, including specialized images for CPU and NVIDIA GPU acceleration.
Utilizes FFmpeg for audio and video manipulation during the video creation process, enabling professional audio/video processing capabilities.
説明
短編動画コンテンツを生成するオープンソースの自動動画作成ツールです。Short Video Makerは、音声合成、自動字幕、背景動画、音楽を組み合わせて、シンプルなテキスト入力から魅力的な短編動画を作成します。
このプロジェクトは、GPUを大量に消費する動画生成(および高価なサードパーティAPI呼び出し)の代替となる、無料の代替手段を提供することを目的としています。画像や画像プロンプトに基づいてゼロから動画を生成するものではありません。
このリポジトリは、AI Agents AZ YouTubeチャンネルによってオープンソース化されました。AI関連のコンテンツやチュートリアルをもっとご覧になりたい方は、ぜひこのチャンネルをご覧ください。
サーバーはMCPと REST サーバーを公開します。
MCP サーバーは AI エージェント (n8n など) と一緒に使用できますが、REST エンドポイントを使用するとビデオ生成の柔軟性が高まります。
このリポジトリには、 REST/MCP サーバーで作成された n8n ワークフローの例があります。
目次
はじめる
使用法
情報
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以上でテスト済み)
- ffmpeg (
現時点では Windows はサポートされていません(whisper.cpp のインストールが時々失敗します)。
概念
シーン
各ビデオは複数のシーンで構成されています。これらのシーンは
- テキスト: ナレーション。TTS が読み取って字幕を作成するテキスト。
- 検索用語: Pexels APIから動画を検索する際にサーバーが使用するキーワード。該当するものが見つからない場合は、ジョーカー用語(
nature
、globe
、space
、ocean
)が使用されます。
はじめる
Docker(推奨)
3つの異なるユースケースに対応する3つのDockerイメージがあります。一般的には、ほとんどの場合、 tiny
イメージを起動することになります。
小さい
tiny.en
whisper.cpp モデルを使用しますq4
量子化ココロモデルを使用CONCURRENCY=1
限られたリソースで Remotion から発生する OOM エラーを克服します。VIDEO_CACHE_SIZE_IN_BYTES=104857600
(100mb) 限られたリソースでRemotionから発生するOOMエラーを克服するため
普通
base.en
whisper.cpp モデルを使用しますfp32
kokoroモデルを使用CONCURRENCY=1
限られたリソースで Remotion から発生する OOM エラーを克服します。VIDEO_CACHE_SIZE_IN_BYTES=104857600
(100mb) 限られたリソースでRemotionから発生するOOMエラーを克服するため
クーダ
Nvidia GPU を所有していて、GPU アクセラレーションを備えたより大きなウィスパー モデルを使用したい場合は、CUDA に最適化された Docker イメージを使用できます。
medium.en
whisper.cpp モデルを使用します (GPU アクセラレーション付き)fp32
kokoroモデルを使用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 | あなたの(無料の)Pexels APIキー | |
ログレベル | ピノログレベル | 情報 |
ささやき声 | whisper.cppの出力をstdoutに転送するかどうか | 間違い |
ポート | サーバーがリッスンするポート | 3123 |
⚙️ システム構成
鍵 | 説明 | デフォルト |
---|---|---|
ココロモデル精度 | 使用するKokoroモデルのサイズ。有効なオプションはfp32 、 fp16 、 q8 、 q4 、 q4f16 です。 | 状況によって異なります。上記の Docker イメージの説明を参照してください ^^ |
同時実行 | 同時実行性とは、レンダリング中に同時に開かれるブラウザタブの数を指します。Chromeの各タブはウェブコンテンツをレンダリングし、スクリーンショットを撮ります。この値を調整することで、限られたリソースでプロジェクトを実行するのに役立ちます。 | 状況によって異なります。上記の Docker イメージの説明を参照してください ^^ |
ビデオキャッシュサイズ(バイト) | キャッシュ用Remotionのフレーム数。この値を調整すると、限られたリソースでプロジェクトを実行するのに役立ちます。 | 状況によって異なります。上記の Docker イメージの説明を参照してください ^^ |
⚠️ 危険地帯
鍵 | 説明 | デフォルト |
---|---|---|
ウィスパーモデル | 使用するwhisper.cppモデル。有効なオプションはtiny 、 tiny.en 、 base 、 base.en 、 small 、 small.en 、 medium 、 medium.en 、 large-v1 、 large-v2 、 large-v3 、 large-v3-turbo です。 | 状況によります。上記のDockerイメージの説明をご覧ください。npmの場合、デフォルトオプションはmedium.en です。 |
データディレクトリパス | プロジェクトのデータディレクトリ | ~/.ai-agents-az-video-generator npm を使用)、Docker イメージ内の/app/data |
ドッカー | プロジェクトがDockerコンテナ内で実行されているかどうか | docker イメージの場合はtrue 、それ以外の場合はfalse |
開発 | 推測! :) | false |
設定オプション
鍵 | 説明 | デフォルト |
---|---|---|
パディングバック | 終了画面。ナレーションが終了した後、ビデオを再生し続ける時間 (ミリ秒単位)。 | 0 |
音楽 | BGMのムード。利用可能なオプションはGET /api/music-tags エンドポイントから取得できます。 | ランダム |
キャプションの位置 | キャプションを表示する位置。可能なオプション: top 、 center 、 bottom 。デフォルト値 | bottom |
キャプション背景色 | アクティブなキャプション項目の背景色。 | blue |
声 | ココロの声。 | af_heart |
オリエンテーション | ビデオの向き。 portrait とlandscape オプションがあります。 | portrait |
使用法
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 | 降格ライセンス | ビデオの合成とレンダリング |
ウィスパーCPP | バージョン1.5.5 | マサチューセッツ工科大学 | 字幕の音声テキスト変換 |
FFmpeg | ^2.1.3 | LGPL/GPL | オーディオ/ビデオ操作 |
ココロ.js | ^1.2.0 | マサチューセッツ工科大学 | テキスト読み上げ生成 |
ペクセルAPI | 該当なし | Pexels利用規約 | 背景ビデオ |
どのように貢献しますか?
PRは歓迎します。ローカル開発環境の設定手順については、 CONTRIBUTING.mdファイルをご覧ください。
ライセンス
このプロジェクトはMIT ライセンスに基づいてライセンスされています。
謝辞
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
ショートビデオメーカー MCP
Related MCP Servers
- -securityAlicense-qualityA MCP server that creates graphic recordings by converting websites or text input into visual summaries using different prompt styles (standard, elementary, timeline).Last updated -TypeScriptMIT License
- AsecurityAlicenseAqualityAn MCP server providing video processing capabilities through FFmpeg, enabling dialog-based local video search, trimming, concatenation, and playback functionalities.Last updated -79PythonMIT License
- AsecurityAlicenseAqualityMCP server that exposes Google's Veo2 video generation capabilities, allowing clients to generate videos from text prompts or images.Last updated -77TypeScriptMIT License
- Rust