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

Codex SkillでAIプレゼンター解説動画を作成:タスク初期化から品質確認まで

本チュートリアルでは、lanshu-create-ai-presenter-videoのインストールと使用方法を解説します。Codexまたは互換Agentを使い、原稿、ナレーション、AIプレゼンター生成、リップシンク、字幕、編集、レンダリング、品質確認までを実行します。

Codex SkillでAIプレゼンター解説動画を作成:初期化から品質確認まで

プロジェクト概要

lanshu-create-ai-presenter-video は、Codex向けの汎用AIプレゼンター動画制作Skillです。テーマまたは完全な原稿と、権利が確認済みで、成人の人物が鮮明に写った参照画像を1枚用意するだけで、AIプレゼンター動画の主要な制作工程を実行できます。

全体の工程には、原稿整理、ナレーション、人物生成、リップシンク調整、字幕、キーワードアニメーション、編集、レンダリング、品質確認が含まれます。現在の環境で利用可能なツールに応じて機能を選択する方式を採用しており、特定のサービス事業者、モデル名、プライベートAPIにソースコード上で依存しません。

このSkillは独立した動画生成モデルではありません。CodexまたはローカルSkillに対応したAgent環境で実行する必要があり、環境内から呼び出せる動画生成、音声生成、リップシンク機能に依存します。

主な特徴

  • ベンダー中立:特定のモデル、プラットフォーム、プライベートAPIに固定的に依存しないワークフローです。
  • 完全な制作工程:入力確認、原稿、ナレーションから、編集、字幕、カバー画像、書き出し、品質確認まで、各工程に対応しています。
  • 統一された時間基準:完成したナレーションを動画全体のタイムラインとして使用し、人物動画、字幕、ショット、キーワード、トランジションを配置します。
  • 段階的な資料読み込み:Codexは該当する工程に入った時点で関連ドキュメントだけを読み込み、コンテキストの使用量を抑えます。
  • コスト管理:まず低コストの人物テスト動画を作成し、有料生成の説明、再試行上限、中断後の復旧ルールを設定します。
  • 安全性とプライバシー:人物画像やクローン音声をアップロードする前に権利を確認し、リポジトリにはAPIキー、アクセストークン、ユーザー素材を保存しません。
  • 標準化された納品:マスター版、共有版、QAレポートの出力を目標とします。

入力と実行環境の準備

最低限必要な入力

  1. 動画のテーマ、または完全な原稿。
  2. 権利が確認済みで、成人の人物が鮮明に写った参照画像1枚。

音声サンプル、画面録画、画像、B-roll、ブランド素材、対象プラットフォーム、動画の長さ、横向き・縦向きの比率、ビジュアルスタイル、透かし、終了時の誘導も指定できます。音声サンプルは、該当する権利を取得した場合にのみ音声クローンに使用できます。

環境要件

  • CodexまたはローカルSkillに対応したAgent環境。
  • Python 3.9+。
  • FFmpegおよびffprobe。
  • Bash、jq、awk、sed。
  • 現在の環境から呼び出せる動画生成、音声生成、リップシンク機能を少なくとも1種類ずつ。

タスクを開始する前に、これらのコマンドと生成機能が現在の環境で利用できることを確認してください。プロジェクトリポジトリはGitHubで確認できます。

Skillのインストール

次のコマンドを実行し、リポジトリをCodexのSkillディレクトリにクローンします。

git clone https://github.com/cclank/lanshu-create-ai-presenter-video.git \
  ~/.codex/skills/lanshu-create-ai-presenter-video

インストール後のパスは次のようになります。

~/.codex/skills/lanshu-create-ai-presenter-video

ディレクトリ構成

lanshu-create-ai-presenter-video/
├── SKILL.md
├── README.md
├── agents/
│   └── openai.yaml
├── assets/
│   └── job.template.json
├── references/
│   ├── generation.md
│   ├── editing.md
│   └── qa-recovery.md
└── scripts/
    ├── init_job.py
    ├── preflight.py
    └── finalize_delivery.sh

3つの参考ドキュメントは、それぞれ異なる制作段階で使用します。

  • generation.md:入力確認、原稿、音声、機能選択、有料生成、人物プロンプト、一貫性を扱います。
  • editing.md:タイムライン、冒頭と結末、字幕プリセット、人物横のキーワードアニメーション、カバー画像、書き出しを扱います。
  • qa-recovery.md:技術的な品質確認、手動確認、一般的な障害の修復を扱います。

方法1:会話から直接動画を作成する

最も簡単な方法は、Codexの会話でSkillの使用を明示し、原稿、人物画像、完成動画の要件を同時に指定することです。例:

$lanshu-create-ai-presenter-video を使い、この原稿と人物画像から、16:9、30秒、リアルタイム字幕付きのAIプレゼンター解説動画を作成してください。

依頼時には、素材の場所、対象プラットフォーム、長さ、画面比率、字幕形式、スタイル、透かし、終了時の誘導もまとめて指定することをおすすめします。権利が確認済みの音声サンプルがない場合は、勝手に音声をクローンせず、適切なストック音声を使用します。

方法2:標準タスクディレクトリを初期化する

設定の確認、タスク記録の保存、段階的な実行が必要なプロジェクトでは、リポジトリのスクリプトを使って標準タスクディレクトリを先に作成できます。

ステップ1:Skillのパスを設定する

SKILL_DIR=~/.codex/skills/lanshu-create-ai-presenter-video

ステップ2:タスクを初期化する

python3 "$SKILL_DIR/scripts/init_job.py" \
  --job-dir ~/Videos/my-presenter-video \
  --presenter-image ~/Pictures/presenter.png \
  --topic "動画テーマ" \
  --duration 60 \
  --aspect 9:16 \
  --rights-confirmed \
  --adult-presenter-confirmed

この例では、長さ60秒、比率9:16のタスクを作成します。--rights-confirmedは人物画像の使用権を確認済みであることを示し、--adult-presenter-confirmedは参照画像の人物が成人であることを確認済みであることを示します。

権利と人物の状態を実際に確認した場合にのみ、対応する確認パラメータを使用してください。リモートアップロードの前にも、タスク設定の許諾情報を確認する必要があります。

ステップ3:job.jsonを完成させる

初期化後、タスクディレクトリに移動し、生成されたjob.jsonを確認します。実際のタスクに応じて、手動確認項目とリモートアップロードの許可情報を補完してください。権利が確認されていない人物画像、音声サンプル、その他の素材をリモートサービスに送信しないでください。

ステップ4:事前チェックを実行する

python3 "$SKILL_DIR/scripts/preflight.py" ~/Videos/my-presenter-video/job.json

事前チェックは、本生成の前にタスク設定を確認するために使用します。事前チェックで見つかった問題を先に解決してから、料金が発生する可能性のある動画、音声、リップシンクの工程に進んでください。

完全な制作フローを理解する

  1. テーマまたは原稿と人物画像を受け取る:素材が使用可能であることを確認し、画像の権利と人物が成人であることを確認します。
  2. 原稿と完全なナレーションを確定する:最終的な内容を先に確定し、その後で動画全体のナレーションを生成します。
  3. 低コストの人物テスト動画を作成する:大規模な有料生成の前に、人物の見た目と技術的な方針を検証します。
  4. 連続したAIプレゼンター素材を生成する:確定したナレーションと人物設定に基づき、主要な映像を生成します。
  5. 同じ音声タイムラインに沿って編集する:人物映像、字幕、ショット、キーワード、トランジションで時間基準を共有します。
  6. 字幕、キーワードアニメーション、カバー画像を追加する:情報の強化と公開用の仕上げを行います。
  7. 品質確認を実施する:リップシンク、人物の一貫性、音声、映像品質を確認します。
  8. 納品を完了する:マスター版、共有版、QAレポートを出力します。

完全なナレーションが工程の重要な基準になります。先に音声を確定し、それを中心に映像と字幕を配置することで、リップシンクのずれや異なるクリップ間の接続問題を減らせます。

デフォルトの出力設定

より具体的な要件がない場合、ワークフローでは次の設定を使用します。

  • 縦向き9:16、解像度1080×1920、フレームレート30fps。
  • テーマから生成する動画の長さは通常45~75秒。
  • 権利が確認済みの音声サンプルがない場合は、適切なストック音声を使用。
  • 構成は通常、明確な冒頭、2~4個の内容ビート、簡潔な結末。
  • 音楽と商用誘導は要件に応じて追加。
  • 公開時のラウドネス目標は約-16 LUFS。

横向き動画を作成する場合は、会話の例と同じように16:9を明示してください。ショート動画プラットフォーム向けの場合は、デフォルトの9:16を維持するか、タスク初期化時に--aspect 9:16で明示的に設定できます。

応用テクニック

まずナレーションを確定し、すべての視覚要素を配置する

字幕、ショット、人物クリップごとに、互いに関連しないタイムラインを作成しないでください。完全なナレーションを先に生成して確認し、字幕、人物映像、キーワードアニメーション、トランジションを同じ音声に合わせることで、全体の同期性を高められます。

有料生成の前にテスト動画を作成する

初めて有料生成に進む前に、アップロード内容、生成時間、料金の根拠、テスト動画の方針、再試行上限を明確にします。低コストのテスト動画によって、人物の外観、リップシンク、ツールの互換性に関する問題を早期に発見でき、完成動画を直接生成して無駄になる事態を避けられます。

中断後は既存タスクの復旧を優先する

リモートタスクが中断した場合、すぐに再送信しないでください。まず既存のタスクIDを照会し、タスクがまだ実行中か、結果がすでに生成されているかを確認して、重複課金を避けます。有料候補が3回連続で失敗した場合は、生成を続けず、問題をまとめてください。

技術的な確認と手動確認を分ける

技術チェックではファイルとメディアレイヤーの異常を確認できます。手動確認では、リップシンクが自然か、人物が一貫しているか、音声が適切か、字幕が読みやすいか、映像が公開要件を満たしているかを確認します。関連する確認ルールと障害復旧ルールはreferences/qa-recovery.mdにあります。

タスク記録と素材のプライバシーを保護する

  • APIキー、アクセストークン、署名付きダウンロードURLをリポジトリに記載しない。
  • タスク単位のリクエスト記録を提出する前に、認証情報と一時URLを削除する。
  • 事前チェックと納品レポートにはファイル名だけを残し、開発者のマシン上の絶対パスを記載しない。
  • 人物画像の使用権を確認してからリモートにアップロードする。
  • 音声の権利を確認してから音声クローン機能を使用する。

まとめ

lanshu-create-ai-presenter-videoは、AIプレゼンター動画の制作を確認・復旧可能な標準工程に分解し、統一されたナレーションのタイムラインによってリップシンクや編集時の接続問題を軽減します。Skillをインストールした後は、Codexの会話から直接タスクを開始できます。また、job.jsonを初期化して事前チェックを実行すれば、権利、コスト、生成工程、最終品質をより厳密に管理できます。

このプロジェクトはMIT Licenseを採用しており、自由な使用、変更、配布が認められています。使用感に関するフィードバックはGitHub Issueから送信できます。ワークフロー、互換性、品質チェックの改善はPull Requestで貢献できます。