メインコンテンツへ移動
AIチュートリアル

anything2explainerでナレーション付きモーショングラフィックス解説動画を作成

anything2explainerのインストール方法、エージェントに導かれた制作ワークフローの実行方法、ナレーションと映像のカスタマイズ方法、冒頭シーケンスのプレビュー方法、Remotionで完成動画をレンダリングする方法、定量的な品質チェックの実施方法を学びます。

anything2explainerでナレーション付き解説動画を作成

anything2explainerとは?

anything2explainerは、Claude CodeとCodex向けのスキルで、トピック、記事、ドキュメントをナレーション付きのモーショングラフィックス解説動画に変換します。リサーチ、台本作成、音声合成、フレーム単位で正確な字幕、絵コンテ作成、ショットの並列開発、レンダリング、品質管理を、1つのガイド付きワークフローに統合します。

このプロジェクトは、単独で動作するコマンドラインアプリケーションではありません。代わりに、AIコーディングエージェントに完全な制作手法を提供します。コンパイル可能なRemotion 4テンプレート、ReactおよびTypeScriptのビジュアルプリミティブ、音声とレンダリング用スクリプト、文書化されたスタイル仕様、マルチエージェント向けのビルド手順、QCツール、リファレンス映像が含まれます。

すべてのフレームは、動画モデルで生成したり既存映像からコピーしたりせず、コードで描画されます。アニメーションはフレーム番号の純粋関数であり、乱数にはシードを使用するため、繰り返しレンダリングしても同じ結果を再現できます。

パイプラインの出力

デフォルトの出力は1280×720、30fpsのH.264 MP4です。完成したプロジェクトには、次の要素を含められます。

  • 中国語または英語の音声ナレーションとの同期。
  • 単語境界に合わせた字幕。
  • チャプターカードと画面下部のチャプター進行バー。
  • 画面上部のカプセル型HUDと、オプションのパイプラインレール。
  • ショットごとのRemotionコンポーネント。
  • 出典付きリサーチ文書、ナレーション、絵コンテ、QCレポート、納品メモ。

ビジュアルシステムには、黒いキャンバス、白い線画、紫のアクセント、太字の見出し、霧を伴う星空の背景またはドットフィールドの波が使用されます。現在のテンプレートは横長動画のみを対象としており、縦型9:16出力には対応していません。

対応する長さ

2分から8分までの映像に対応しています。2〜3分の動画では通常、24〜32行またはショットを使用し、所要時間は約1時間です。3〜5分のリファレンス品質の制作では、通常40〜50ショットを使用し、約2時間かかります。5〜8分の長い映像では、60〜80ショットを使用し、約2〜3時間かかる場合があります。

これらは保証値ではなく、実時間の目安です。作業の多くは、複数のビルドエージェントによって並列実行されます。

前提条件

インストール前に、次のものを準備してください。

  • Claude CodeまたはCodex。
  • Node.js 18以降。
  • Python 3。
  • フレーム抽出とトランスコード用のFFmpeg。
  • 複数のビルドエージェントを同時に実行する場合、少なくとも5 GBの空き容量。

付属のシェルスクリプトはzshを使用しており、macOSで開発・検証されています。Linuxでも動作するはずですが、Windowsでは未検証です。RemotionはヘッドレスChromiumをCPU上で実行してレンダリングするため、GPUは必要ありません。

スキルをインストールする

1. リポジトリをクローンする

git clone https://github.com/Vincentwei1021/anything2explainer.git

2. コーディングエージェントにリンクする

Claude Codeの場合は、スキルディレクトリにシンボリックリンクを作成します。

ln -s "$PWD/anything2explainer" ~/.claude/skills/anything2explainer

Codexの場合は、対応するCodexのスキルディレクトリを使用します。

ln -s "$PWD/anything2explainer" ~/.codex/skills/anything2explainer

3. システムとPythonの依存関係をインストールする

macOSでは、Homebrewを使ってFFmpegをインストールします。

brew install ffmpeg

専用のPython環境を作成し、共通の依存関係をインストールします。

python3 -m venv ~/.venvs/a2e
source ~/.venvs/a2e/bin/activate
pip install 'edge-tts==7.2.8' numpy pillow scipy

READMEでは、edge-ttsのバージョンを7.2.8に固定しています。Microsoftのエンドポイントに依存しており、アップグレードによって動作しなくなる可能性があるためです。scipyパッケージは、定量的なQCスクリプトであるframe_metrics.pyだけで必要になります。

4. 英語ナレーションの依存関係を追加する

英語ナレーションでは、デフォルトでローカル実行のkokoro-82mモデルとam_liam音声を使用します。英語動画を制作する場合は、追加の要件をインストールしてください。

pip install kokoro soundfile
brew install espeak-ng

中国語ナレーションでは、デフォルトでクラウドベースのedge-tts音声zh-CN-YunxiNeuralを使用します。

Claude CodeまたはCodexで動画を作成する

最も簡単な方法は、作りたい映像を自然言語で説明することです。エージェントが利用可能な場合、スキルは自動的に有効になるはずです。

ベクトルデータベースについて解説する動画を作って。

中国語で依頼することもできます。

讲一下向量数据库,做成一条讲解视频

入力には、幅広いトピックのほか、既存の記事やドキュメントも使用できます。目標とする長さと言語も指定します。

9つの制作ステージを理解する

  1. スキャフォールド:エージェントがRemotionテンプレートを新しいプロジェクトにコピーします。
  2. リサーチ:リサーチエージェントが、役立つ数値やURL付きの例えを含む、出典付きの文書を作成します。
  3. ナレーションとタイムライン:エージェントが台本を作成し、音声ナレーションを生成または取り込み、単語境界をフレーム単位で正確なタイムラインと字幕テーブルに変換します。
  4. 絵コンテ:すべてのショットに、フレーム範囲、ストーリー上の要点、ビジュアルプラン、動きの方向、主役となる要素、ライティングプランを設定します。
  5. オーバーレイとプリミティブ:プロジェクトにタイトル、チャプターカード、HUD、パイプラインレール、トピック固有のアイコンを2〜5個追加します。
  6. パイロット:1つのエージェントが最初のショットグループを構築し、30秒のプレビューをレンダリングします。
  7. 並列ビルド:追加のエージェントが残りのグループを構築し、通常は各エージェントが5〜7ショットを担当します。
  8. レンダリング:完成した映像をレンダリングし、定量的なフレームメトリクスで分析します。
  9. QCと修正:QCエージェントがチャプターを確認し、修正エージェントが問題に対処します。その後、納品前にプロジェクトを再度検証します。

4つのレビュー・チェックポイントを使用する

このワークフローでは、変更のコストが高くなる前に重要な判断を行えるよう、意図的に4回の一時停止を設けています。

チェックポイント1:長さと言語

脚本執筆を始める前に、映像の長さと中国語または英語のいずれかを選択します。長さは、カバー範囲、ナレーションの分量、ショット数、ディスク使用量、並列エージェント数に影響します。言語は、src/config.tsのlangを通じて、タイポグラフィ、字幕の予算、テンポ、デフォルト音声を変更します。

チェックポイント2:ナレーションの承認

音声生成の前に、ナレーション全体を確認します。ナレーションが確定すると、フレーム番号が個々のショットに埋め込まれます。1語を変更するだけでも映像全体の再タイミングが必要になる場合があるため、ここが編集上の修正を行う最も経済的なタイミングです。

チェックポイント3:音声の選択

デフォルト音声、別のTTSエンジン、または自分で完成させた録音を選択します。代替を指定しない場合、パイプラインは中国語にedge-tts Yunxi、英語にkokoro-82m Liamを使用します。

チェックポイント4:最初の30秒

残りのショットグループを構築する前に、パイロットレンダーを確認します。この時点で映像の方向性を修正すれば最初のグループだけに影響しますが、全体のレンダー後に修正すると、すべてのグループに変更が必要になる場合があります。

テンプレートを手動で操作する

制作プロセスをより細かく管理したい場合は、付属のスクリプトを直接使用できます。テンプレートからプロジェクトを作成し、そのディレクトリに移動します。

template/scripts/new_project.sh ~/work/my-video myslug
cd ~/work/my-video

続いて、次の手順を手動で実行します。

  1. research/调研.mdにリサーチファイルを作成します。
  2. script/narration.txtを作成し、音声のタイムラインを生成します。
  3. script/storyboard_src.mdを作成し、ストーリーボードをレンダーします。
  4. src/config.tsで言語、背景、関連設定を編集します。
  5. src/shots/G1からsrc/shots/Gnの下にショットグループを実装します。
  6. 冒頭プレビューをレンダーします。
  7. バージョン付きの最終動画をレンダーし、フレームメトリクスを実行します。
  8. 確認、修正を行い、v2やv3などの後続バージョンをレンダーします。
python3 scripts/tts_build.py
python3 scripts/render_storyboard.py
scripts/preview.sh 30
VER=v1 scripts/render.sh
python3 scripts/frame_metrics.py

言語と背景をカスタマイズする

主要なプロジェクト設定はsrc/config.tsにあります。langを'zh'または'en'に設定します。中国語の字幕予算は1ブロックあたり16文字、英語は1ブロックあたり48文字です。

対応している背景の切り替えは次のとおりです。

bg: 'stars' | 'dots'

starsオプションは、星空と霧のグラデーションを組み合わせます。dotsオプションは、ドットフィールドの波を使用します。このプロジェクトでは、これら2つの背景から成る1つのビジュアル言語を意図的に提供しています。

より広範な映像変更を行う場合は、reference/style-guide.mdとsrc/ui.tsxを編集します。ショットコンポーネントは共有プリミティブに依存しているため、各ショットを個別にスタイリングするより、これらの中心的な定義を変更する方が適しています。

独自の音声を使用する

付属のTTSデフォルトに限定されることはありません。完成した音声を次の場所に配置します。

public/assets/<slug>/audio.wav

次に、src/common/timeline.tsとsubs.tsに手動でデータを入力します。必要な形式はtts_build.pyの先頭に記載されています。タイムラインと字幕データが用意されていれば、ストーリーボード、ショット構築、レンダリング、QCの各段階は変わりません。

高度な制作のヒント

映像を磨く前に言葉を承認する

ナレーションの承認を確定ロックとして扱います。ショットは固定されたフレーム範囲を使用するため、遅い段階での脚本編集は通常の映像修正より大きな影響を及ぼします。

パイロットをスタイルテストとして使う

最初の30秒のレビューで、タイポグラフィ、構図、モーション速度、照明、字幕の可読性、背景を確認します。正常にレンダーできたという理由だけでパイロットを承認しないでください。

並列作業を慎重に拡張する

長い映像では、10~14個のビルドエージェントを使用する場合があります。複数のエージェントが同時にRemotionをバンドルできるため、ストレージとシステム負荷が増加します。少なくとも5 GBの空き容量を確保し、プロジェクトで説明されているtmuxペインの上限に近づいたら、エージェントを段階的に起動してください。

出典の追跡可能性を保つ

画面に表示するすべての数字、年、組織名、英語用語は、リサーチ文書内のURLにたどれるようにします。検証されていない主張は、ナレーションと映像の両方に含めないでください。

バージョン付きレンダーを使う

VER=v1を設定し、メトリクスとチャプター単位のQC結果を確認してから、v2やv3などの修正版を作成します。これにより、以前の出力を上書きせず、明確なレビュー履歴を保持できます。

リファレンス資料を調べる

examples/rag/ディレクトリには、リファレンス映像の制作記録が含まれています。これには、リサーチ、ナレーション、ストーリーボード、ショットソース、レポート、納品メモが含まれます。examples/contrast/ディレクトリには、構図と照明を評価するための、悪い例と良い例を比較した6組のフレームが含まれています。

reference/ディレクトリには、安全領域、カラーパレット、フォント、モーション式、照明ルール、ストーリーボード規約、エージェントプロトコル、プロンプトテンプレート、過去の映像から得た教訓も記載されています。

重要な制限事項とライセンス

  • 対応言語は中国語と英語です。
  • テンプレートは1280×720の横長動画を想定しており、現在は9:16出力に対応していません。
  • トーキングヘッド形式のプレゼンテーション、実写中心の制作、既存動画の再現を目的としたものではありません。
  • 任意で使用する実写Bロールはロイヤリティフリーのソースから取得し、ソースURL、ライセンス、SHA-256ハッシュ、使用目的を記録したマニフェストに登録する必要があります。
  • このツールキットはPolyForm Noncommercial 1.0.0ライセンスを使用しています。非商用利用は無料ですが、商用利用には作者の事前許可が必要です。
  • このツールキットで作成した動画の権利は制作者に帰属します。
  • 同梱フォントとRemotionには、それぞれ独自のライセンス条件があります。

本番利用や配布の前に、特に商用利用の場合は、リポジトリのプロジェクトページとライセンスファイルを確認してください。

まとめ

anything2explainerは単なる動画テンプレートではありません。調査した資料を、決定論的なRemotionアニメーションへ変換するための構造化された制作システムをClaude CodeやCodexに提供します。焦点を絞ったテーマから始め、4つのチェックポイントで慎重に判断し、TTSの前にナレーションを承認し、30秒のパイロットを検証してください。そのうえで、バージョン管理されたレンダリングと定量的なQCを用いて最終作品を磨き上げます。