mcpField
V
vmake-dynamic-caption

vmake-dynamic-caption

github.com/meituクリエイティブ・メディア0268 回インストール7 週間前に更新
リポジトリ

vmake-dynamic-caption について

vmake-dynamic-captionは、vmake-labs-cliで動画にダイナミック字幕を追加したり、スタイルを変更したりするスキルです。元動画を保持しながら、タスクの復旧と字幕付き動画の受け渡しも扱います。

主な機能

  1. 01動画へのダイナミック字幕の追加
  2. 02有効なスタイルIDによる字幕スタイルの変更
  3. 03ローカル動画ファイルのアップロードと処理
  4. 04タスク完了の追跡と失敗時の復旧

活用シーン

  1. 01認識可能な音声に基づく動画への字幕付け
  2. 02設定済み字幕スタイルの動画への適用

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/meitu/vmake-skills --skill vmake-dynamic-caption

インストール後、Claude Code で/vmake-dynamic-captionを入力して読み込まれたか確認します。

同梱ファイルreferences/platform.mdreferences/runtime.md

詳細

動的字幕

機能と準備

subtitle を使用すると、元の動画を保持したまま、動的字幕を追加したりスタイルを変更したりして、新しい動画を作成できます。vmake-labs-cli が必要です。対象バージョンは 0.1.11、互換バージョンは >=0.1.11 <0.2.0 です。

初回の呼び出し前に、CLI のセットアップを読み、実行ファイルを特定して、そのバージョンと subtitle --help に記載されたファイルパラメーターを確認します。不明な JSON フィールドやメディアの制限については、vmake contracts の subtitle エントリーを確認します。出力、やり取り、エラーについては、実行時の処理と復旧を読みます。

  • 字幕の内容には、認識可能な音声、または利用可能な字幕タイムラインを使用する必要があります。どちらも利用できない場合は、適切な入力を入手してください。
  • 実際に設定済みの有効なスタイル ID には --subtitle-material-id を使用します。そうでない場合は、ランダムなスタイルが使用されることを説明し、このオプションを省略します。スタイル ID とセッションのメディア ID は分けて扱います。
  • テキストの編集、翻訳、単語の強調表示、位置指定を行う場合は、現在のコマンドが対応しているか、利用可能なスタイルがあるかを確認します。ユーザーの目的に合致する場合に限り、動画の字幕削除機能を使って焼き込み済みの字幕を削除します。
  • 字幕の依頼内容が明確な場合は、そのまま実行します。「表現を改善する」のように、意図する操作が不明な場合に限り確認します。依頼に必要な場合のみ、モンタージュの作成や既存字幕の削除を追加します。

入力の取得

  1. 実際に提供された動画ファイルまたは URL を使用します。すでに回答済みの質問を繰り返さず、候補が複数あり判断できない場合はユーザーに選択を求めます。
  2. 読み込み可能なローカル動画を使用します。リモートの元動画はすべて CLI のセットアップ手順に従ってダウンロードし、その後ローカルファイルを送信します。ダウンロードに失敗した場合は、元のローカルファイルを依頼し、届いたら確定済みの字幕依頼を続行します。
  3. タスクを続行する場合は -r '<session_id>' を追加し、新規タスクでは省略します。オプションの --lang、--detach、--subtitle-material-id は、現在のヘルプで対応が確認できた場合にのみ渡します。デフォルト値とログインについては CLI のセットアップ手順に従います。
  4. モンタージュを続行する場合は、そのセッションを維持し、最新の Artifact または Message Part の動画 URL 全体を取得します。まずダウンロードし、その後 CLI に CDN へアップロードさせます。URL が見つからない、期限切れ、またはメディア ID としてしか表されていない場合は、Task/history を確認します。ソースとファイルの対応関係を維持します。最初に create-room、add-media、--item-id を使用してはいけません。

アップロードと送信

特定した実行ファイルと準備済みのローカル動画を使用します。

vmake subtitle --video-file '<local-video-path>'

CLI は動画を検証し、アップロードして CDN URL を取得した後、字幕処理を送信して状態を確認します。パラメーターファイルの使用と個別の検証は任意です。復旧に備えて元の動画とセッションを保持し、引数の処理と一時ファイルのクリーンアップについては CLI のセットアップ手順に従います。

進行状況の確認と納品

  • 実際の session_id、room_url、すべての Task ID、アーティファクトの viva.short_id、URL 全体を保持します。stdout と stderr は、2つ目の監視を開始せず、それぞれ別に読み取ります。
  • TASK_STATE_COMPLETED となり、このタスクから使用可能な動画 URL が得られた後に限り納品します。HTTP 200、ストリームの終了、終了コード 0、Session のアイドル状態、end.reason=result だけでは完了の証明になりません。不明な状態は成功ではありません。
  • 再生可能な動画、またはクエリパラメーターを含むクリック可能な完全なリンクを優先します。実際のセッション URL が返された場合は、それも含めます。カバー画像や入力動画は、字幕付きの成果物ではありません。
  • 切断、タイムアウト、受け付けられたかどうか不明な場合は、元のタスクを確認します。失敗が確認され、その原因を修正して承認を得た後に限り再試行します。モンタージュの作成には成功したものの字幕に失敗した場合は、モンタージュを納品し、字幕がないことを説明します。成功済みの生成を繰り返さず、失敗したダウンロードを復旧します。詳細は実行時の処理と復旧を参照してください。

コメント