mcpField
V
vibemovie

vibemovie

ローカル
github.com/pooriaarabメディア・デザイン02 週間前に更新

vibemovie について

VibeMovieは、構造化されたコーディングセッションのイベントを、開発者やクリエイター向けの自己完結型アニメーションHTMLにまとめます。オプションのパイプラインではWaveSpeed AIとFFmpegを使い、ナレーション付きMP4を生成できます。標準のレンダラーにAPIキーは不要です。

主な機能

  1. 01イベントからシーンを生成
  2. 023種類のリカップテンプレート
  3. 03HTMLの3種類のアスペクト比
  4. 04再生、字幕、タイムライン操作
  5. 05オプションのホスト生成とMP4組み立て

活用シーン

  1. 01タスクとテストのイベントからオフラインHTMLのリカップを作る
  2. 02プルリクエストの節目をJSONで記述する
  3. 03MCP経由で指定イベントをレンダリングする
  4. 04WaveSpeed AIでシネマティックなリカップを作る

MCP 対応

`vibemovie mcp`はstdioで単一のMCPツール`render`を提供します。イベント配列と任意の設定からHTMLを生成するか、出力ファイルに書き込みます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"pooriaarab-vibemovie": {
"command": "npx",
"args": [
"-y",
"vibemovie"
]
}
}
}
起動コマンドnpx -y vibemovie

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmvibemovie0.2.3

ツール

1

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
outstringいいえHTML(cinematic の場合は mp4)を書き込む任意のパス。
ratioenumいいえプレーヤーのアスペクト比(デフォルト:16:9)。16:9 | 9:16 | 1:1
titlestringいいえタイトルカードに表示するセッション名。
engineenumいいえレンダリングエンジン(デフォルト:hyperframes)。hyperframes | cinematic
eventsarrayはいセッションイベント:[{ "kind": "task-done", "ts": 1720000000000, "payload": { "label": "..." } }, ...]。既知の種類:task-done、tests-pass、tests-fail、error、pr-opened、pr-merged、session-end。使用される payload フィールド:label、durationMin、files、additions、deletions、filesChanged、pr、branch、reviewers、passed。
templateenumいいえキャプションのトーンとテンポ(デフォルト:documentary)。documentary | speedrun | meme

詳細

VibeMovie

npm version Downloads/month License: MIT

パッケージ · セットアップ · API の例 · 比較

VibeMovie は、開発者やクリエイター向けのオープンソースのコーディングセッション振り返り動画ジェネレーターです。 構造化されたイベントを、ローカルの Hyperframes エンジンで自己完結型のアニメーション HTML ストーリーに変換します。 オプションのシネマティックエンジンでは、WaveSpeed AI と FFmpeg を通じてナレーション付きの MP4 を作成します。VibeMovie は Vibe Suite の一部です。

インストール

npm install -g vibemovie

Node.js 18 以降が必要です。TypeScript の型定義と、直接依存するランタイム依存関係が 2 つ含まれています。 デフォルトの Hyperframes エンジンでは、API キー、ブラウザー自動化、FFmpeg のインストールは不要です。

最初の振り返り動画をレンダリングする

入力ファイルを作成します。

cat > session.json <<'JSON'
[
  {"kind":"task-done","ts":1769500000000,"agent":"claude-code","payload":{"label":"Refactor auth","durationMin":18}},
  {"kind":"tests-pass","ts":1769503600000,"payload":{"passed":42}},
  {"kind":"pr-merged","ts":1769505100000,"payload":{"pr":42,"branch":"main"}}
]
JSON
vibemovie render session.json --title "Auth recap" --out recap.html

CLI は recap rendered と出力先のパスを表示します。ブラウザーで recap.html を開くとストーリーを再生でき、タイムラインをスクラブできます。 環境変数や認証情報は不要です。CLI は .env ファイルを読み込みません。 入力にはイベントを記述します。VibeMovie がコーディングエージェントの履歴を自動的に調べることはありません。

仕組み

JSON events -> normalize and sort -> scene compiler
                                       |
                 +---------------------+---------------------+
                 v                                           v
          Hyperframes (default)                    cinematic (explicit)
       embedded HTML/CSS/JavaScript             WaveSpeed images + video + voice
                 |                                           |
        offline browser player                         FFmpeg -> MP4

Hyperframes によるレンダリングでは、外部への通信を無効にしたローカルの vibe-core ランナーを使用します。 シネマティックレンダリングでは、派生したプロンプト、ナレーションテキスト、中間メディアが WaveSpeed AI に送信されます。

開発の背景

ターミナルの録画では作業の様子を残せます。振り返り動画では、タスク、テスト結果、差分の合計、プルリクエストの節目を選んで、短いストーリーにまとめます。 VibeMovie は、提供されたイベントを固定テンプレートでコンパイルします。デフォルトの振り返り動画を作成するために言語モデルは必要ありません。 Remotion と asciinema は、異なる入力を用いて、関連する動画およびターミナルのワークフローに対応しています。

比較

2026-10-14 に、Remotion および asciinema CLI と比較しました。

プロパティVibeMovieRemotionasciinema
入力構造化されたコーディングイベントReact の動画コンポジションターミナルセッションの出力
対象範囲テンプレートベースの振り返りストーリープログラムによる動画とモーショングラフィックスターミナルの録画とストリーミング
デフォルトの成果物自己完結型 HTMLレンダリング済みコンポジションまたは埋め込みプレーヤーAsciicast 録画
作成方法JSON、Node.js API、エージェントツールReact コンポーネント録画用 CLI

対応範囲

統合またはインターフェースステータスソースの動作
Hyperframes実装済み;ローカル埋め込み HTML、CSS、JavaScript、シーンデータ
WaveSpeed AI実装済み;ライブ API は未対応ホスト型生成オーケストレーション
ByteDance Seedream v4WaveSpeed 経由で実装済み;ライブ API は未対応ヒーロー画像と顔の参照画像
FLUX Kontext MaxWaveSpeed 経由で実装済み;ライブ API は未対応キーフレーム画像の編集
Kling v2.5 Turbo ProWaveSpeed 経由で実装済み;ライブ API は未対応画像から動画へのクリップ生成
ElevenLabs Eleven v3WaveSpeed 経由で実装済み;ライブ API は未対応ナレーション合成
WaveSpeed 動画フェイススワップ実装済み;ベストエフォート任意の中間顔一貫性ステップ
FFmpeg実装済み;外部実行ファイル映像出力の正規化、連結、カラーグレーディング、マルチプレクス
Claude Code / OpenAI Codex / Google Gemini CLIイベント入力のみ正規化済み JSON をご自身で用意してください。ハーネス固有のログリーダーはありません
MCP実装済みstdio レンダーツール 1 つ
OpenAI Sora / Replicate—プロバイダーアダプターは同梱されていません

ソースでは、1 つの API サービスを通じて、2 つのエンジン、3 つのアスペクト比、3 つのテンプレート、6 種類のシーン、5 つのホスト型モデルエンドポイントを宣言しています。 ここでの検証対象は、ソースと、シネマティック依存関係を注入したローカルテストです。有料 API リクエストや認証情報の確認は行っていません。 エンドポイントが実装済みであっても、プロバイダーモデルが引き続き利用可能であることを保証するものではありません。

一般的なユースケース

  1. Claude Code の開発者:タスクとテストのイベントをオフラインの HTML リキャップに出力します。
  2. Codex のメンテナー:リリースストーリー用にプルリクエストのマイルストーンを JSON で記述します。
  3. Gemini CLI のクリエイター:--ratio 9:16 でポートレート形式の Hyperframes 出力を選択します。
  4. Node.js チーム:既存のイベントパイプライン内で buildScenes と renderHyperframes を呼び出します。
  5. MCP エージェント:単一の render ツールで指定されたイベントをレンダリングします。
  6. WaveSpeed ユーザー:自身のキーと FFmpeg のインストールを使って、ホスト型シネマティック生成を任意で利用します。

機能

  • シーン: タイトル、タスク、差分、ターミナル、マージ、終了。任意のシーンは、指定されたデータに応じて表示されます。
  • テンプレート: documentary、speedrun、meme によってキャプションとペースを制御します。
  • HTML のアスペクト比: 16:9、9:16、1:1。
  • プレーヤー: 再生/一時停止、タイムラインのスクラブ、キャプション、埋め込みシーンデータ。
  • 決定論的コンパイル: 同じイベントとシーンオプションを指定すると、同じローカルシーンが生成されます。
  • シネマティックパイプライン: 参照画像、キーフレーム、クリップ、ナレーションを生成し、ローカルで MP4 を組み立てます。
  • ショットレシピ: カスタム呼び出し元向けにレシピデータと決定論的セレクターをエクスポートします。自動 CLI ストーリーボードセレクターではありません。
  • スイート通知: レンダリング時に、vibe-core を通じてベストエフォートで render-done イベントを送信します。

ランタイムインターフェース

vibemovie render [file.json|-] [--ratio 16:9|9:16|1:1]
  [--template documentary|speedrun|meme] [--engine hyperframes|cinematic]
  [--out path] [--title name]
vibemovie mcp
vibemovie help
vibemovie --help / -h
vibemovie --version / -v / -V

render はファイルまたは stdin を読み込みます。入力にはイベント配列または { "events": [...] } を指定できます。 デフォルトは hyperframes、documentary、16:9、./vibe-recap.html です。 シネマティック出力のデフォルトは ./vibe-recap.mp4 です。

vibemovie mcp は、次のツール 1 つを備えた stdio の Model Context Protocol(MCP)サーバーを起動します。

ツール必須入力任意入力結果
renderevents 配列ratio、template、engine、title、outHTML テキスト、または書き込み先の出力パス
ライブラリの使用例

npm install vibemovie でインストールします。これを recap.mjs として保存し、node recap.mjs を実行します。

import { renderMovie } from 'vibemovie';
const result = await renderMovie([
  { kind: 'task-done', ts: 1769500000000, payload: { label: 'Ship auth' } }
], { title: 'Auth recap', out: 'recap.html' });
console.log(result.engine, result.path); // hyperframes recap.html

buildScenes(events, options) と renderHyperframes(scenes, options) も、カスタムパイプライン向けにエクスポートされています。

配信と動作の制限

Hyperframes が生成するのはアニメーション付き HTML であり、MP4 や GIF ではありません。画面を録画したり、エージェントの動作をライブ配信したりすることはありません。 CLI に --session や --repo のインポーターはありません。外部の録画をレンダリングする前に、イベントスキーマに変換してください。 シーンコンパイラーが表示するタスク行は最大 5 行、差分ファイル名は最大 4 件、ターミナル行は最大 5 行です。 ターミナル行は提供されたイベントの要約であり、記録されたターミナルトランスクリプトではありません。 差分の合計とテスト結果は入力された内容を反映するものであり、Git やテスト実行による独立した検証は行われません。 シネマティック出力は、24 フレーム/秒の 1280×720 に正規化されます。HTML の比率オプションを変更しても、このシネマティック出力サイズは変わりません。 シネマティックプロンプトでは、固定のキャラクターと設定を使用します。ユーザーアバターの選択や動的なサウンドトラックエンジンはありません。 WAVESPEED_API_KEY が設定されていない場合、または FFmpeg がない場合は HTML にフォールバックし、動画ファイルとして認識される拡張子は .html に変わります。 実行時にプロバイダーで障害が発生しても、一般的な HTML へのフォールバックは行われません。失敗したクリップはスキップされる場合があり、すべてのクリップが失敗するとレンダリングは中止されます。 予測のポーリング回数には上限があります。通常は 95 回、ナレーションは 60 回、フェイススワップは 140 回です。リクエストに明示的なネットワークタイムアウトはありません。 フェイススワップのステップでは、元のカットにフォールバックすることがあります。一時的なシネマティック作業ファイルはディスク上に残ります。 レンダリング前に入力を確認してください。ホスト型ナレーションには、タスクラベル、セッション名、要約値が含まれる場合があります。

統合ガイド

  • ポートレート形式の HTML リキャップ:vibemovie render session.json --ratio 9:16 --template speedrun --out portrait.html。
  • イベントパイプライン:JSON 配列を vibemovie render --out recap.html にパイプします。
  • ホスト型シネマティックリキャップ:FFmpeg をインストールし、WAVESPEED_API_KEY をエクスポートしてから、vibemovie render session.json --engine cinematic を実行します。
  • 環境ファイル:CLI を起動する前に、シェルまたはランチャーで変数を読み込みます。VibeMovie は .env を自動的に読み込みません。
  • エージェントのセットアップ:MCP ホストを設定し、stdio 経由で vibemovie mcp を起動します。

ホスト型レンダリングでは https://api.wavespeed.ai/api/v3 を使用します。このパイプラインに別途 ElevenLabs キーは必要ありません。

ステータス

バージョン 0.2.4 は 1.0 以前のため、API と生成動作は変更される可能性があります。 公開事例はまだありません。公開ドキュメントサイトは設定されていません。セットアップ手順はここにまとめられています。 ソースのみのプロトタイプは追加の制御機能を示すものであり、Web アプリケーションとして配布されているものではありません。 サポートには GitHub issues をご利用ください。リポジトリへのアクセスが必要な場合があります。 コントリビューションを行う場合は、npm ci、npm run build、npm run typecheck、npm test、git diff --check を実行してください。

よくある質問

どの統合が検証済みですか?

VibeMovie は、依存関係を注入した状態でローカルレンダリングとシネマティックオーケストレーションをテストしています。この書き換えでは、ホスト型エンドポイントの認証情報を用いた検証は行っていません。

VibeMovie はマネージド動画サービスを提供しますか?

VibeMovie はローカルパッケージとして動作します。オプションのホスト型生成では、WaveSpeed API キーとプロバイダーアカウントを使用します。

VibeMovie は Remotion とどう違いますか?

VibeMovie は、構造化されたセッションイベントをプリセットシーンでコンパイルします。Remotion は、カスタム動画コンポジション向けの React ベースのツールを提供します。

VibeMovie は asciinema とどう違いますか?

VibeMovie は提供されたイベントから要約をレンダリングします。asciinema はターミナル出力を記録し、配信します。

VibeMovie はオフラインで動作しますか?

VibeMovie は、リモートアセットや API キーなしで Hyperframes HTML をレンダリングします。シネマティックエンジンには、ホスト型 API へのアクセスが必要です。

VibeMovie は認証情報なしで MP4 をエクスポートできますか?

シネマティック生成の認証情報がない場合、VibeMovie はデフォルトで HTML を出力します。MP4 の生成には WaveSpeed キーと FFmpeg が必要です。

VibeMovie は Claude Code や Codex のログを自動的に読み取りますか?

VibeMovie はハーネスのログをスキャンするのではなく、JSON イベント入力を受け付けます。ファイル、stdin、ライブラリ、または MCP を通じてイベント配列を渡してください。

VibeMovie は既存の Sora または Replicate アカウントを使用できますか?

このバージョンの VibeMovie に Sora または Replicate のアダプターはありません。シネマティックパイプラインは固定された WaveSpeed モデルのエンドポイントを呼び出します。

シネマティック MP4 では、すべての出力比率を利用できますか?

VibeMovie は Hyperframes HTML で 3 つの比率をサポートしています。シネマティックアセンブリでは、現在、動画を 1280×720 に正規化します。

ライセンス

MIT。

コメント

MCP は初めてですか?

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

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