mcpField
O
openshorts

openshorts

リモート
openshorts.appメディア・デザイン7.3k今日更新
リポジトリ公式サイト

openshorts について

OpenShorts はオープンソースの AI 動画プラットフォームで、長い動画を縦型ショート動画に変換し、AI UGC 動画生成と YouTube ツールも備えています。クリエイター、マーケティングチーム、開発者向けで、セルフホストとホスト版のどちらでも利用できます。

主な機能

  1. 01長い動画から 9:16 のクリップを自動生成
  2. 02顔追跡を用いた AI リフレーミング
  3. 03自動字幕と AI ボイスダビング
  4. 04AI UGC マーケティング動画の生成
  5. 05YouTube 向けタイトル・サムネイル・概要の生成
  6. 06TikTok、Instagram、YouTube への投稿

活用シーン

  1. 01ポッドキャストやウェビナーのショート動画化
  2. 02製品 URL からのマーケティング動画作成
  3. 03YouTube 動画のタイトルとサムネイルの生成

MCP 対応

セルフホスト時は AI エージェント向けに /mcp エンドポイントを公開し、ホスト版では常時稼働の mcp.openshorts.app エンドポイントを提供します。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://mcp.openshorts.app/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

すべてのエンドポイント
Streamable HTTPhttps://mcp.openshorts.app/mcp認証が必要

ツール

詳細

OpenShorts.app

License: MIT Open Source PRs Welcome Docker GitHub stars Last Commit

オープンソースの AI 動画プラットフォームです。クリップジェネレーター、AI Shorts(AI アクターによる UGC 動画)、YouTube Studioの3つのツールを1つにまとめています。

ポッドキャストと、OpenShorts が作成した縦型クリップ。2人の話者を上下に並べ、境目に字幕を配置しています

OpenShorts による実際の出力であり、モックアップではありません。出典:Turn the Tables with Dan and Shoshana Jordan、Heritage of Faith、CC BY ライセンス。

カメラに2人が映っている場合、OpenShorts は横長の映像を縮小するのではなく、2人を上下に並べて、誰にもかからない境目に字幕を配置します。1人のショットに切り替わると、顔を追跡するクロップに戻ります。AI が動画ごとにレイアウトを選ぶため、設定は不要です。

実行方法は2通りありますが、どちらも同じソフトウェアです。

セルフホスト(このリポジトリ)openshorts.appでホスト
料金永久に無料、MIT無料プラン、有料プランは月額12ドルから
速度CPUで8分の動画を処理するのに5~8分NVIDIA GPUで約50秒
APIキーGemini、ElevenLabs、fal.ai のAPIキーを用意Geminiが付属、設定不要
ウォーターマーク/制限なし、今後もありません無料プランではウォーターマークと月20分の制限あり。有料プランではどちらもありません
セットアップDocker、8GB以上のRAM、モデルのダウンロードサインインしてリンクを貼り付けるだけ
エージェント向け MCP/API同じ/mcpエンドポイント。ただし、マシンの電源が入っている間のみmcp.openshorts.appの常時稼働エンドポイント、ワンクリックでAPIキーを発行
データの保存先ご自身のサーバー当社のサーバー

セルフホストは正真正銘無料であり、今後も無料です。その代わり、マシンとご自身のAPIキーが必要で、稼働を維持する手間もかかります。ホスト版プランの料金は、機材とAPIキーの費用をまかなうためのもので、機能を利用するためのものではありません。

https://github.com/user-attachments/assets/b45fa983-16b4-48b5-ac5b-a267836b9ad9

動画チュートリアル:仕組み

OpenShorts Tutorial

上の画像をクリックすると、全編の解説をご覧いただけます。


1つのプラットフォームに3つのツール

1. クリップジェネレーター

ポッドキャスト、ウェビナー、ライブ配信、ブログ動画、インタビューなどの長尺動画を、TikTok、Instagram Reels、YouTube Shorts向けの、すぐに公開できる9:16のショート動画に変換します。

クリップの結果

2. AI Shorts(UGC 動画クリエイター)

あらゆる商品やビジネスのマーケティング動画を、AI アクターを使って生成します。カメラもスタジオもインフルエンサーへの予算も不要です。商品を説明するか、URLを貼り付けるだけです。

AI Shorts の設定

  • 2つの料金モード:低コスト(動画1本あたり約0.65ドル)とプレミアム(動画1本あたり約2ドル)
  • SaaS、レストラン、Eコマース、コーチング、地域密着型ビジネスなど、あらゆるビジネスに対応
  • リップシンク、ナレーション、Bロール、TikTok風の字幕を備えたAI生成アクター
  • 共通のアバターギャラリーから選択するか、お持ちの写真をアップロード
  • TikTok、Instagram、YouTubeに直接公開
3. YouTube Studio

完全無料の AI YouTube ツールキット:サムネイル、タイトル、説明文の作成から直接公開まで対応します。

YouTube Studio

  • 顔のオーバーレイに対応した AI サムネイル生成
  • ブラッシュアップ用チャット付きのバズるタイトル候補 10 件
  • チャプターのタイムスタンプを含む説明文を自動生成
  • ワンクリックで YouTube に公開
UGC Video Gallery

生成した動画とアバターはすべて、動画ごとの SEO ページとともに公開ギャラリーに保存されます。

UGC Gallery

  • ホバーすると再生される公開ギャラリーページ(/gallery)
  • og:video メタタグ付きの動画ごとの SEO ページ(/video/{id})
  • 検索エンジン向けの JSON-LD 構造化データ
  • プロンプトの履歴を確認できるアバターギャラリー

主な機能

Clip Generator
  • バズる瞬間を検出:Google Gemini 3.1 Flash-Lite が文字起こしとシーンの境界を分析し、可能性の高い瞬間を 3~15 件検出します
  • 必要に応じて完全ローカルで実行:LLM_BASE_URL を Ollama、LM Studio、vLLM、または OpenAI 互換サーバーに設定すると、Google のキーなしで、ご自身のモデルを使って瞬間を選定できます(Google のキーなしで実行を参照)
  • スマートな 9:16 クロップ:シーンごとに AI がリフレーミングします。TRACK モード(MediaPipe + YOLOv8 による顔追跡)、GENERAL モード(ぼかした背景)、SPLIT モード(2 人の話者を上下に配置し、境目に字幕を表示)、SCREENCAST モード(プレゼンターの上に画面を表示)に対応しています。レイアウトは Gemini が動画ごとに選択するか、ダッシュボードから指定できます
  • 字幕の自動生成:faster-whisper で単語レベルのタイムスタンプを付与し、スタイルを適用してクリップに焼き込みます
  • AI 音声吹き替え:ElevenLabs と連携し、ボイスクローンを使って 30 以上の言語に対応します(クラウドでも、ご自身の ElevenLabs キーを使用できます)
  • フックテキストのオーバーレイ:注目を集めるテキストオーバーレイを AI が生成します
  • AI 動画エフェクト:Gemini がプロ仕様のエフェクト用 FFmpeg フィルターを生成します
AI Shorts Pipeline
  1. 分析:ウェブサイトの URL とウェブ調査から情報を収集するか、手動の説明から生成します
  2. スクリプト:AI がバズるスクリプトを作成します(フック - 課題 - 解決策 - CTA の形式)
  3. 出演者:Flux 2 Pro で AI 出演者を生成するか、共有ギャラリーから選択します
  4. 音声:ElevenLabs の TTS ナレーション(英語/スペイン語、男性/女性)
  5. 動画:トーキングヘッド動画を生成します(Hailuo 2.3 Fast img2video + VEED Lipsync)
  6. B ロール:Ken Burns エフェクト付きのビジュアルを AI が生成します
  7. 合成:字幕とフックのオーバーレイを含め、FFmpeg で最終動画を組み立てます
  8. 公開:Upload-Post を介して TikTok、Instagram Reels、YouTube Shorts に直接投稿します
YouTube Studio
  • バズるタイトル候補 10 件を AI で生成
  • タイトルをブラッシュアップするインタラクティブチャット
  • 顔と背景をカスタマイズできる AI サムネイル生成
  • Whisper の文字起こしからチャプターのタイムスタンプ付き説明文を自動生成
  • Upload-Post を介して YouTube に直接公開
ソーシャルメディアへの自動公開
  • ワンクリック投稿で TikTok、Instagram Reels、YouTube Shorts に同時投稿
  • アップロードの予約で任意の日付と時刻に投稿できます。コンテンツカレンダーを計画して、自動公開に任せられます
  • 複数プラットフォームへの配信により、1 つのインターフェースからすべてのソーシャルネットワークに一括公開できます
  • Upload-Post と連携した非同期アップロード
インフラストラクチャ
  • S3 クラウドバックアップ(クリップ用のプライベートバケット、ギャラリー/アバター用のパブリックバケット)
  • FastAPI が提供する JSON-LD 構造化データ付き SEO ギャラリーページ
  • すべてのユーザーが利用できる共有アバターギャラリー
  • 並列実行数を設定できる非同期ジョブキュー

対象ユーザー

  • コンテンツクリエイター — 長尺動画を自動でショート動画に変換し、すべてのプラットフォームに一括公開できます
  • マーケティングエージェンシー — 出演者やスタジオを用意せずに、クライアント向けの UGC 動画を大規模に生成できます
  • SaaS 創業者 — URL だけで製品デモやマーケティング用ショート動画を作成できます
  • E コマースブランド — TikTok Shop、Instagram、YouTube 向けに、AI 出演者を使った製品動画を作成できます
  • 地域の事業者 — レストラン、ジム、不動産、コーチングなど、手頃な動画マーケティングを利用できます
  • 開発者 — セルフホストし、パイプラインをカスタマイズして、API 経由で連携できます

AI Shorts のショーケース

OpenShorts AI Shorts で生成された動画です。カメラもスタジオも俳優も必要ありません。

投資家向けバイオハッキング開発者の秘密兵器AI エージェントの秘密
投資家向けバイオハッキング · LOW COST開発者の秘密兵器 · LOW COSTAI エージェントの秘密 · PREMIUM

すべての動画は openshorts.app/gallery でご覧いただけます。


OpenShorts と競合製品の比較

機能OpenShortsOpus ClipCapCutVizardKlapDescript
価格セルフホストは無料
ホスト版は月額 $12 から
月額 $15-29月額 $8月額 $15-20月額 $23-63月額 $24-65
セルフホストはいいいえいいえいいえいいえいいえ
オープンソースはいいいえいいえいいえいいえいいえ
ウォーターマークセルフホストではなし
ホスト版の無料プランのみあり
無料プラン一部無料プラン無料プラン無料プラン
アップロード制限セルフホストではなし
ホスト版はプランによる
10-30GBクレジット制60分-10時間月10-100本60分-40時間
AI クリップ検出はいはいはいはいはいはい
スマートな 9:16 リフレーミングはいはいはいはいはいいいえ
字幕の自動生成はいはいはいはいはいはい
音声吹き替え(30 以上の言語)はい。お持ちの ElevenLabs キーを使用いいえPro のみいいえPro のみBusiness のみ
AI UGC 俳優はいいいえいいえいいえいいえいいえ
AI 動画エフェクトはいいいえはいいいえいいえいいえ
フックテキストのオーバーレイはいいいえいいえいいえいいえいいえ
YouTube Studio(タイトル、サムネイル)はいいいえいいえいいえいいえいいえ
ソーシャルメディアへの自動投稿はいPro のみTikTok のみ有料プランのみ有料プランのみいいえ
アップロードの予約はいPro のみいいえ有料プランのみ有料プランのみいいえ
データプライバシーお客様のサーバー提供元のクラウド提供元のクラウド提供元のクラウド提供元のクラウド提供元のクラウド
ローカル LLM(Ollama)で動作はいいいえいいえいいえいいえいいえ

費用はいくらですか?

OpenShorts のセルフホストは無料です。マシンはご自身で用意し、使用する AI API の料金のみをお支払いください。多くの API には充実した無料枠があります。

サービス無料枠有料料金用途
Google Gemini上限に余裕のある無料トライアル10 分の動画あたり $0.01 未満バイラルな瞬間の検出、スクリプト生成、ウェブ調査
ローカル LLM(Ollama、LM Studio、vLLM...)無料、ご自身のハードウェアを使用$0Gemini の代わりにバイラルな瞬間を検出(LLM_BASE_URL)
fal.ai従量課金AI Short 1 本あたり約 $0.50-1.50俳優の生成、トーキングヘッド動画、リップシンク
ElevenLabs無料枠あり従量課金ナレーション、音声吹き替え
Upload-Postすべてのネットワークに月10回まで無料でアップロード(クレジットカード不要)従量課金TikTok、Instagram、YouTube への自動投稿
AWS S3オプション約 $0.023/GBクリップとギャラリーのクラウドバックアップ

結論: Gemini を使えば、ほぼ無料で動画をクリップできます。また、Upload-Post を使えば、すべてのソーシャルネットワークに月10本の動画を無料で投稿できます。

こうした作業を一切自分で実行したくない場合は? openshorts.app では、同じソフトウェアを当社のハードウェアでご利用いただけます。当社の NVIDIA GPU なら、8 分の動画を約 50 秒でクリップできます。一般的な CPU では 5~8 分かかります。Gemini キーが付属し、自動投稿も設定済みです。無料プランは月20分で、ウォーターマークが付き、クレジットカードは不要です。有料プランは、ウォーターマークなしで100分利用できる月額 $12 からです。


要件

  • Docker と Docker Compose
  • Google Gemini API キー(無料 — こちらから取得)— すべての AI 機能で必要です
  • fal.ai API キー(従量課金制)— AI Shorts(アクター生成、動画、リップシンク)で必要です
  • ElevenLabs API キー(無料プラン)— ナレーション/吹き替えで必要です
  • Upload-Post API キー(無料プラン)— SNS への直接投稿で必要です

はじめに

1. クローン
git clone https://github.com/mutonby/openshorts.git
cd openshorts
2. 設定(任意)
cp .env.example .env
# Edit .env with your AWS keys for S3 backup
3. 起動
docker compose up --build
4. ダッシュボードを開く

http://localhost:5175 にアクセスします

  1. Settings に移動し、API キー(Gemini、fal.ai、ElevenLabs、Upload-Post)を入力します
  2. Clip Generator:長尺動画をアップロードして、バイラルショート動画を生成します
  3. AI Shorts:商品を説明するか URL を貼り付けて、UGC マーケティング動画を生成します
  4. YouTube Studio:YouTube 用のサムネイル、タイトル、説明を生成します
  5. UGC Gallery:生成されたすべての動画とアバターを閲覧します
5. GPU アクセラレーション(任意、NVIDIA)

デフォルトのイメージは CPU 専用です。NVIDIA カード(RTX 4060 など、NVENC 対応カード)を使用すると、8 分の動画のクリップ作成にかかる時間は、5〜8 分から約 1 分に短縮されます。VM のように何かをパススルーするわけではなく、コンテナからホストの GPU にアクセスできるようにするだけです。

ホスト: NVIDIA ドライバー(nvidia-smi が動作する必要があります)と NVIDIA Container Toolkit をインストールします。

sudo nvidia-ctk runtime configure --runtime=docker && sudo systemctl restart docker
docker run --rm --gpus all nvidia/cuda:12.4.0-base-ubuntu22.04 nvidia-smi   # sanity check

Windows では WSL2 バックエンドを使用する Docker Desktop と Windows NVIDIA ドライバーを使います。WSL 内にドライバーをインストールする必要はありません。

Compose: docker-compose.yml と同じ場所に docker-compose.override.yml を作成します(自動的に読み込まれます)。GPU: "1" を指定すると、cuBLAS/cuDNN と onnxruntime-gpu がイメージに追加されます(約 2 GB)。NVENC には video が必要です。

services:
  backend:
    build:
      context: .
      args:
        GPU: "1"
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [gpu, video]

.env:

WHISPER_MODEL=large-v3-turbo
WHISPER_DEVICE=cuda
WHISPER_COMPUTE=float16
FFMPEG_ENCODER=auto           # probes h264_nvenc at startup, falls back to x264
TRANSCRIBE_BACKEND=parakeet   # optional: ~2x faster than whisper, 25 European languages, auto-falls back to whisper
ASR_GPU_CONCURRENCY=1

確認:

docker compose up --build -d
docker exec openshorts-backend nvidia-smi -L
docker exec openshorts-backend ffmpeg -hide_banner -f lavfi -i testsrc=size=256x256:rate=1 -frames:v 1 -c:v h264_nvenc -f null -

最初のジョブでは、バックエンドのログに選択されたエンコーダーと文字起こしデバイスが表示されます。whisper で CUDA エラー(VRAM 不足など)が発生した場合は、自動的に CPU で 1 回再試行します。large-v3-turbo fp16 と検出モデルには、8 GB の VRAM で十分です。


6. Google キーなしで実行(ローカル LLM、任意)

クリップのパイプラインでクラウドを呼び出すのは、モーメント選択のときだけです。文字起こし結果(動画は送信されません)を Gemini に送ります。代わりに、OpenAI 互換サーバーを指定すれば、パイプライン全体をローカルで実行できます。

# .env
LLM_BASE_URL=http://host.docker.internal:11434/v1   # Ollama on the host
LLM_MODEL=qwen2.5:14b                                # any chat model that follows instructions
# LLM_API_KEY=...                                    # only if your server checks one (vLLM --api-key, OpenRouter)

Ollama、LM Studio、vLLM、llama.cpp server、LocalAI、OpenRouter で動作します。これを設定すると、ダッシュボードで Gemini キーを求められなくなります。次の 2 点に注意してください。

  • コンテキスト長。 スコアリング呼び出しでは 3 つの文字起こしウィンドウ(約 2〜3k トークン)が渡され、詳細呼び出しでは最大 10 個(長いポッドキャストでは約 5k)が渡されます。Ollama のデフォルトのコンテキスト長は 4096 トークンで、通知なく切り捨てられるため、OLLAMA_CONTEXT_LENGTH=16384 を指定して実行するか、Modelfile で num_ctx を設定してください。コンテキスト長に余裕がある場合に限り、LLM_SCORE_BATCH を 3 より大きくしてください。7〜8B モデルは安定して有効な JSON を返しますが、3B モデルでは安定しません。
  • Gemini が引き続き必要な機能。 フレームを確認する必要がある機能(自動レイアウト選択機能(AUTO_LAYOUT)、画面上のコンテンツ検出、無音動画(クリップに使える音声がない場合))です。Gemini キーがない場合、これらの機能は通常の顔追跡クロップにフォールバックし、無音動画はその旨を示すメッセージとともに失敗します。LLM_BASE_URL と一緒にキーを追加すれば、両方を利用できます。

技術パイプライン

Clip Generator
  1. 取り込み — ローカル動画のアップロード(または yt-dlp を使ったセルフホスト URL からの取り込み)
  2. 文字起こし — faster-whisper による単語レベルのタイムスタンプ付き文字起こし
  3. 検出 — PySceneDetect によるシーン境界の検出
  4. 分析 — Gemini が 3〜15 個のバイラルな瞬間(各 15〜60 秒)を特定
  5. 抽出 — FFmpeg による高精度なクリップ切り出し
  6. リフレーム — 被写体追跡を使った AI による縦型クロップ
  7. エフェクト — 字幕、フック、AI 動画エフェクト
  8. 公開 — S3 へのバックアップと Upload-Post による SNS 配信
AI Shorts
  1. 分析 — ウェブサイトのスクレイピング+Gemini によるウェブ調査(または手動での説明)
  2. スクリプト — Gemini がセグメント付きのバイラル動画用スクリプトを生成
  3. アクター — Flux 2 Pro によるポートレート生成(またはギャラリー/アップロード)
  4. 音声 — ElevenLabs による TTS ナレーション
  5. 動画 — Hailuo 2.3 Fast による画像から動画への変換+VEED Lipsync(低コスト)、または Kling Avatar v2(プレミアム)
  6. Bロール — Flux 2 Pro による画像生成+ケン・バーンズ効果
  7. 合成 — FFmpeg による、ASS 字幕とフックのオーバーレイを使った組み立て
  8. ギャラリー — SEO ページ用のメタデータを付けてパブリック S3 にアップロード
  9. 公開 — Upload-Post で TikTok、Instagram、YouTube にアップロード

自動化:MCP サーバー、REST API、Webhook

ダッシュボードを使う必要はありません。パイプライン全体を AI エージェントやスクリプトから呼び出せます。

MCP サーバー(/mcp)

OpenShorts には組み込みの MCP サーバーが用意されているため、Claude、ChatGPT、Cursor、その他の MCP クライアントで動画を切り抜いて公開できます。

claude.ai と ChatGPT:https://mcp.openshorts.app/mcp をカスタムコネクターとして貼り付け(Settings → Connectors)、openshorts.app でアクセスを承認します。サーバーは動的クライアント登録を使った OAuth 2.1 を実行するため、コピーするキーはありません。接続は Account → API keys に表示され、ここで取り消すとアプリとの接続が解除されます。

# Claude Code / Cursor / n8n (hosted): create an API key in your account page
claude mcp add --transport http openshorts https://mcp.openshorts.app/mcp \
  --header "Authorization: Bearer osk_..."

# Self-hosted (no key needed, BYOK rules apply):
claude mcp add --transport http openshorts http://localhost:8000/mcp

# Self-hosted without running the web server: same tools over stdio
claude mcp add openshorts -- python mcp_stdio.py

ツール:process_video(URL または upload_id。ソースにすでに字幕がある場合は captions: false、フックの行を省略する場合は auto_hook: false。デフォルトではダッシュボードと同様に焼き付けられます)、create_upload(エージェントにローカルファイルを渡す場合に使用:バイト列を PUT してから処理)、get_job_status、list_clips、get_quota、add_subtitles、recut_clip、publish_clip。*「このポッドキャストを切り抜いて、最適な 3 本を TikTok に予約投稿して」*のような指示を、好みのエージェントで一行だけで実行できます。

REST API+API キー

ホスト型アカウントでは、アカウントページから osk_... API キーを発行できます。キーを使うと、どこでも自分として認証され、プラン、利用時間、ジョブの所有権は通常と同じです。

curl -X POST https://api.openshorts.app/api/process \
  -H "Authorization: Bearer osk_..." -H "Content-Type: application/json" \
  -d '{"url": "https://youtube.com/watch?v=...", "acknowledged": true,
       "webhook_url": "https://your-server.com/hooks/openshorts"}'

どのインスタンスでも、/docs からインタラクティブなドキュメント(OpenAPI)を利用できます。

完了 Webhook

POST /api/process に webhook_url(および必要に応じて webhook_secret)を渡すと、ジョブが終端状態に達したときに POST がちょうど 1 回送信されます。n8n/Zapier/cron のパイプラインでポーリングを繰り返す必要はありません。

{"event": "job.completed", "job_id": "…",
 "clips": [{"index": 0, "title": "…", "video_url": "…", "download_url": "…"}]}

シークレットを指定すると、本文に署名が付与されます:X-OpenShorts-Signature: sha256=<hmac-sha256(body)>。

CLI

依存関係なしで、ターミナルから同じ API を利用できます(cli/)。

pip install openshorts   # or: uvx openshorts

export OPENSHORTS_API_KEY=osk_...              # hosted
# export OPENSHORTS_API_URL=http://localhost:8000   # self-hosted, no key

openshorts process "https://youtube.com/watch?v=..." --wait
openshorts clips <job_id>
openshorts publish <job_id> 0 --platforms tiktok,youtube
エージェントスキル

skills/openshorts/SKILL.md はオープンな Agent Skills 標準に準拠しているため、対応するあらゆるスキル対応エージェントで利用できます。

# Claude Code (and most agents): copy the folder into the skills directory
cp -r skills/openshorts ~/.claude/skills/

# Hermes Agent: install straight from this repo
hermes skills install mutonby/openshorts/skills/openshorts

# OpenClaw: from ClawHub
openclaw skills install @mutonby/openshorts
n8n

インポート可能なワークフロー(動画 URL を入力すると、公開可能なクリップが出力され、ポーリング不要)は examples/n8n/ にあります。


技術スタック

レイヤー技術
バックエンドPython 3.11、FastAPI、google-genai、faster-whisper、ultralytics(YOLOv8)、mediapipe、opencv-python、yt-dlp、FFmpeg、httpx
フロントエンドReact 18、Vite 4、Tailwind CSS 3.4
AI APIGoogle Gemini、fal.ai(Flux、Hailuo、VEED、Kling)、ElevenLabs
インフラストラクチャDocker+Docker Compose、AWS S3
公開Upload-Post API(TikTok、Instagram、YouTube)

環境変数

サーバー側(.env):

変数説明
AWS_ACCESS_KEY_IDS3 用の AWS アクセスキー
AWS_SECRET_ACCESS_KEYAWS シークレットキー
AWS_REGIONAWS リージョン(デフォルト:us-east-1)
AWS_S3_BUCKETクリップのバックアップ用プライベートバケット
AWS_S3_PUBLIC_BUCKETギャラリー/アバター用パブリックバケット
MAX_CONCURRENT_JOBS同時処理の上限(デフォルト:5)
LLM_BASE_URL現時点でモーメント選択に使用する OpenAI 互換サーバー(Ollama、vLLM、LM Studio など)。これを設定すると、Gemini キーは任意になります
LLM_MODELそのサーバー上のモデル名(デフォルト llama3.1:8b)
LLM_API_KEYサーバーが認証を要求する場合に使用するベアラートークン
LLM_SCORE_BATCH1 回のスコアリング呼び出しあたりの文字起こしウィンドウ数(デフォルト:ローカルでは 3、Gemini では 8)

クライアント側(localStorage に暗号化して保存):

キー説明
GEMINI_API_KEYGoogle Gemini — LLM_BASE_URL が設定されていない場合は必須(設定されている場合は、レイアウト選択と無音動画にのみ必要)
FAL_KEYfal.ai — AI Shorts に必要
ELEVENLABS_API_KEYElevenLabs — ナレーション/吹き替えに必要
UPLOAD_POST_API_KEYUpload-Post — SNS 投稿に必要

セキュリティとパフォーマンス

  • 非 root での実行:コンテナは専用の appuser として実行されます
  • 同時実行の制御:セマフォベースのジョブキュー(MAX_CONCURRENT_JOBS)
  • 自動クリーンアップ:古いジョブを自動削除します(保持期間:1 時間)
  • キーの暗号化:API キーはクライアント側で暗号化され、サーバー側には保存されません
  • アップロードの検証:画像アップロードの形式と最小サイズを検証します
  • ファイルの上限:2GB のアップロード上限による保護

SNS の設定(Upload-Post)

  1. 登録:app.upload-post.com/login
  2. プロフィールを作成:Manage Users に移動します
  3. アカウントを接続:TikTok、Instagram、YouTube のいずれか、または複数を連携します
  4. API キーを取得:API Keys に移動します
  5. OpenShorts で使用:キーを Settings に貼り付けます

スター履歴

スター履歴グラフ

コントリビューション

コントリビューションを歓迎します!新しい AI モデルの追加、リップシンクパイプラインの改善、新機能の開発など、お気軽に PR を作成してください。

ライセンス

コアアプリケーションは MIT License のもとで提供されます。OpenShorts は自由に使用、変更、拡張できます。

例外: cloud/ ディレクトリ(課金、管理対象キー、および任意の BILLING_ENABLED フラグを支えるホストサービスのインフラストラクチャ)は、OpenShorts Commercial License のもとでソースコードが公開されています。コードの閲覧、変更、個人利用または社内利用のためのセルフホストは可能ですが、有料サービスまたはホストサービスとして第三者に提供することはできません。コアアプリをセルフホストする場合、このディレクトリは必要ありません。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。