vmake-dynamic-caption について
vmake-dynamic-captionは、vmake-labs-cliで動画にダイナミック字幕を追加したり、スタイルを変更したりするスキルです。元動画を保持しながら、タスクの復旧と字幕付き動画の受け渡しも扱います。
主な機能
- 01動画へのダイナミック字幕の追加
- 02有効なスタイルIDによる字幕スタイルの変更
- 03ローカル動画ファイルのアップロードと処理
- 04タスク完了の追跡と失敗時の復旧
活用シーン
- 01認識可能な音声に基づく動画への字幕付け
- 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 は分けて扱います。 - テキストの編集、翻訳、単語の強調表示、位置指定を行う場合は、現在のコマンドが対応しているか、利用可能なスタイルがあるかを確認します。ユーザーの目的に合致する場合に限り、動画の字幕削除機能を使って焼き込み済みの字幕を削除します。
- 字幕の依頼内容が明確な場合は、そのまま実行します。「表現を改善する」のように、意図する操作が不明な場合に限り確認します。依頼に必要な場合のみ、モンタージュの作成や既存字幕の削除を追加します。
入力の取得
- 実際に提供された動画ファイルまたは URL を使用します。すでに回答済みの質問を繰り返さず、候補が複数あり判断できない場合はユーザーに選択を求めます。
- 読み込み可能なローカル動画を使用します。リモートの元動画はすべて CLI のセットアップ手順に従ってダウンロードし、その後ローカルファイルを送信します。ダウンロードに失敗した場合は、元のローカルファイルを依頼し、届いたら確定済みの字幕依頼を続行します。
- タスクを続行する場合は
-r '<session_id>'を追加し、新規タスクでは省略します。オプションの--lang、--detach、--subtitle-material-idは、現在のヘルプで対応が確認できた場合にのみ渡します。デフォルト値とログインについては CLI のセットアップ手順に従います。 - モンタージュを続行する場合は、そのセッションを維持し、最新の 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 が返された場合は、それも含めます。カバー画像や入力動画は、字幕付きの成果物ではありません。
- 切断、タイムアウト、受け付けられたかどうか不明な場合は、元のタスクを確認します。失敗が確認され、その原因を修正して承認を得た後に限り再試行します。モンタージュの作成には成功したものの字幕に失敗した場合は、モンタージュを納品し、字幕がないことを説明します。成功済みの生成を繰り返さず、失敗したダウンロードを復旧します。詳細は実行時の処理と復旧を参照してください。
コメント
Markdown 対応