0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

自然言語から編集可能な動画を生成する:Timeline Studio Agent Skillの設計と仕組み

0
Posted at

一つの指示から、素材解析、編集計画、字幕・音声生成、タイムライン編集、品質検証までを実行し、完成動画と再編集可能なプロジェクトを同時に出力します。

リポジトリ

作例・Handbook:まずはこちら

Timeline Studio Skills Handbook

参照動画の再現、製品プロモーション、多言語ローカライズ、ストーリー型広告、科学解説動画などの作例を公開しています。各ケースには、可能な範囲でプロンプト、完成動画、編集判断、再編集可能な .timeline プロジェクトを含めています。

メインリポジトリ

MartinDelophy/ai-video-editor

ブラウザ動画エディター、Agent Skill、タイムライン操作プロトコル、ローカルAI機能、ビルド・デプロイ設定を公開しています。

npx skills add MartinDelophy/ai-video-editor \
  --skill edit-timeline-studio

はじめに

生成AIを使えば、文章、画像、音声、字幕を個別に作ることは簡単になりました。しかし、一本の動画を完成させるには、素材整理、カット選択、構成設計、ナレーション、字幕同期、BGM、書き出し、品質確認など多くの作業が残っています。

Timeline Studioの edit-timeline-studio Skillは、これらを一つの実行可能なワークフローとしてAgentに提供します。目的は動画ファイルだけを生成することではなく、人間が後から編集できる .timeline プロジェクトも残すことです。

1. 自然言語から編集ワークフローを開始する

ユーザーは編集ソフトの操作手順ではなく、最終目的を伝えます。

製品デモの素材を使い、約40秒の縦型プロモーション動画を作成してください。実際の操作画面を残し、日本語ナレーションと字幕を追加して、動画と編集可能なプロジェクトを出力してください。

Skillは要求を次の処理に分解します。

  1. 素材を検査する
  2. 動画、音声、テキストを解析する
  3. 編集方針を決める
  4. 宣言的な編集計画を作る
  5. タイムラインを変更する
  6. 字幕、音声、エフェクトを生成する
  7. プロジェクトと完成動画を検証する
自然言語による要求
  ↓
素材解析 → 編集判断 → 編集プラン
  ↓
タイムライン実行
  ↓
AI音声・字幕・エフェクト
  ↓
品質検証 → MP4 + .timeline

Skillは単なるプロンプトテンプレートではありません。「何を実行するか」だけでなく、「何を検査するか」「どの状態なら完了と判断できるか」まで定義しています。

2. 編集前に素材を解析する

自動編集でよくある問題は、素材の意味を理解する前にカットを開始することです。無音区間でも、製品の結果を見せる場面、人物の表情、動作前の間である可能性があります。

Timeline Studio Skillでは、必要に応じて次の情報を調べます。

  • 動画の長さ、解像度、フレームレート
  • 音声トラックの有無
  • 音声認識結果とOCRテキスト
  • ショットの切り替わり
  • 主要被写体の位置、サイズ、動き
  • 音声エネルギーの変化
  • 映像の明瞭度

解析結果から、素材の各区間に対する判断記録を作成します。

{
  "assetId": "product-demo",
  "sourceStart": 12.8,
  "sourceEnd": 19.4,
  "decision": "shorten",
  "keepStart": 14.1,
  "keepEnd": 18.2,
  "reason": "操作手順を残し、重複した説明を削除する",
  "confidence": 0.92
}

これにより、カット、短縮、並べ替えの理由を追跡できます。

3. 宣言的なタイムライン操作

解析後、Agentは編集内容を宣言的なコマンドプランへ変換します。画面座標ではなく、プロジェクトID、トラックID、クリップIDを使って対象を指定します。

npm run agent -- project.inspect /path/to/project.timeline
npm run agent -- project.diff /path/to/edit-plan.json
npm run agent -- project.run /path/to/edit-plan.json
  • project.inspect:プロジェクト、トラック、クリップ、字幕を確認
  • project.diff:ファイルを書き換えずに変更内容を検証
  • project.run:検証済みの編集計画を実行

編集プランの簡略例です。

{
  "version": 1,
  "projectRevision": 8,
  "operationId": "update-product-intro-v2",
  "operations": [
    {
      "type": "timed.move",
      "clipId": "voice-intro",
      "start": 2.5
    },
    {
      "type": "caption.update",
      "clipId": "caption-intro",
      "text": "繰り返し作業はAIに任せる。",
      "start": 2.5,
      "end": 5.8
    }
  ]
}

4. Agent編集を安全にする仕組み

動画編集の自動化では、同じ処理の重複実行や、途中まで適用された不完全なプロジェクトが問題になります。そのため、コマンド層には次の仕組みがあります。

  • リビジョン確認: プラン作成後にプロジェクトが変更されていれば、古いプランを拒否する
  • トランザクション: 一つのユーザー意図に含まれる変更をまとめて実行する
  • 冪等性: 同じ operationId が再送されても素材や字幕を重複追加しない
  • 差分確認: project.diff で実行前に変更内容を確認する

これらは、デモ用のAgentから実運用可能なAgentへ移行するための重要な要素です。

5. コマンド層とブラウザ編集の二つの経路

Timeline Studioは、すべての機能を無理にヘッドレスAPI化していません。

経路 主な用途
コマンド層 プロジェクト解析、素材読み込み、時間調整、字幕変更、クリップ操作
ブラウザ編集 AI音声、字幕生成、複雑なエフェクト、アバター、最終プレビュー

安定した操作はコマンド層で実行し、まだコマンド化されていない機能はブラウザエディターで処理します。その後、プロジェクトを再度開き、タイムラインと書き出し結果を検証します。

6. .timelineを中心にした編集可能な設計

多くのAI動画サービスは最終的なMP4だけを出力します。しかし、MP4だけでは字幕の時間を変更したり、一つのカットだけを交換したりすることが困難です。

Timeline Studioでは、.timelineを編集の中心に置いています。

project.timeline
├── project.json
└── media/
    ├── visual-001.mp4
    ├── visual-002.png
    ├── voice-001.wav
    └── music-001.wav

プロジェクトにはメイン映像、ピクチャーインピクチャー、字幕、ナレーション、元音声、BGM、マスク、フィルター、アニメーション、素材と元時間の対応関係を保存できます。

Agentが初稿を作り、その後は人間が通常のタイムラインで細部を調整できます。

7. 字幕と音声の対応を保証する

Timeline Studio Skillでは、次のルールを採用しています。

字幕を有効にした場合、表示される各字幕は、表示区間全体にわたって実際に聞こえる音声と対応しなければならない。

元動画に発話がある場合は、その音声に字幕を関連付けます。Agentが新しく追加した説明文には、対応するナレーションを生成します。

{
  "captionId": "caption-result",
  "audioClipId": "voice-result",
  "start": 18.4,
  "end": 22.8,
  "text": "一つの指示から、編集可能な動画を生成します。"
}

書き出し前には、字幕区間、音声の有無、重複ナレーション、音量差、左右チャンネルのずれなども確認します。

8. ブラウザ内のローカルAI

Timeline Studioはローカルファーストの構成を採用しています。WebGPU、ONNX Runtime Web、Web Worker、WebCodecsなどを利用し、対応する処理をブラウザ内で実行します。

主な機能は次のとおりです。

  • Whisper Small Q8 ONNXによる自動字幕
  • Piper/VITSによる中国語音声
  • Kokoroによる英語音声
  • Stable Audio 3 Small Q4 ONNXによる音楽生成
  • YOLOS Tinyによる被写体検出
  • MODNetによる人物切り抜き
  • MI-GANによる不要物除去
  • NanoVSRによる高解像度化
  • 音声と伴奏の分離
  • JoyVASAとLivePortraitによるデジタルヒューマン

モデルは必要になった時点でダウンロードし、ブラウザキャッシュに保存します。Hugging FaceとModelScopeの固定バージョンミラーを利用でき、可能な限り共通のキャッシュIDを使います。

9. 完了条件は「書き出し成功」だけではない

完全な編集タスクでは、次の二つを出力します。

output/
├── result.mp4
└── result.timeline

さらに、次の項目を検証します。

  • メイン映像が連続しているか
  • クリップの順序と長さが正しいか
  • 字幕と音声が対応しているか
  • オーバーレイの表示時間が正しいか
  • .timelineを再度開けるか
  • 動画を最後までデコードできるか
  • 音声トラックが存在するか
  • 無音、末尾フレームの重複、境界停止がないか

完成動画と編集プロジェクトの両方が確認できて初めて、タスク完了と判断します。

10. 現在の制約

ブラウザエディターは、マルチトラック編集、AI字幕、音声、音楽、各種映像処理に対応しています。

一方、コマンド層のレンダリングは、現在のところVisuals、Voiceover、Musicなど、対応済みの移植可能なサブセットが中心です。複雑なオーバーレイ、エフェクト、AI生成、完全な合成は、ブラウザ編集経路を利用する場合があります。

現在の構成は次のように表現できます。

安定したコマンド層 + ブラウザ互換レイヤー

未実装の機能を完全なヘッドレスAPIとして扱わず、対応範囲を段階的に拡張しています。

まとめ

Timeline Studio Skillの目的は、Agentに動画編集画面を機械的に操作させることではありません。

素材を理解し、編集判断を記録し、安全にタイムラインを変更し、結果を検証するための動画制作プロトコルを作ることです。

主要な要素は次のとおりです。

  • マルチモーダルな素材解析
  • コンテンツ別の編集ワークフロー
  • 宣言的なタイムライン操作
  • リビジョン、トランザクション、冪等性
  • ブラウザ内のローカルAI
  • 移植可能な .timeline
  • 完成動画と編集工程の二重検証

AIは編集の主導権を奪うのではなく、素材整理、字幕、音声、タイムライン操作、確認作業などの反復作業を削減します。

作例と再現可能なプロジェクト:

Timeline Studio Skills Handbook

インストール、ソースコード、デプロイ:

Timeline Studioメインリポジトリ

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?