video-content-replace について
video-content-replaceは、テキスト指示や参照画像を使って、既存動画の人物、場面、服装などを置き換えるスキルです。元のカメラワークと動作を保ち、新規動画の生成ではなく対象要素を編集します。
主な機能
- 01テキスト指示による動画要素の置換
- 02参照画像に基づく要素の置換
- 03元のカメラワークと動作の維持
- 04MP4ファイルでの出力
活用シーン
- 01動画内の人物や服装の変更
- 02参照画像に沿った場面の置換
- 03元の動作を残した動画要素の編集
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ meitu/ meitu-skills --skill video-content-replaceインストール後、Claude Code で/video-content-replaceを入力して読み込まれたか確認します。
詳細
動画コンテンツの置き換え
概要
既存の動画内の要素(人物/シーン/衣装/衣類/着用アイテム)を置き換えます。元のカメラワークと動作は維持し、次の2種類のシーンに対応します。
- テキスト指示による置き換え:テキスト指示で動画コンテンツを変更します。追加の参照画像は不要です。
- 参照画像による置き換え:ユーザーが参照画像と動画を提供し、参照画像に合わせて動画内の該当要素を置き換えます。
対応しないもの:動画生成、ウォーターマーク/字幕の削除、全体的なスタイルの変換、音声の変更、動画の結合。
API マッピング
| シーン | API 名 | モデル |
|---|---|---|
| テキスト指示による置き換え | video_molasses_edit | molasses |
| 参照画像による置き換え | video_molasses_vidimgs2vid | molasses |
model は任意です:auto(デフォルト。参照画像の有無に応じて自動ルーティング)/molasses(明示的に指定)。
依存関係
- meitu-cli:
>=2.0.6 - 認証情報:CONFIG AKSK →
meitu tools update;EXEC AKSK → コマンドを実行 - 環境変数:
MEITU_OPENAPI_TOOL_TASK_MODE=command
パスエイリアス:
$VISUAL={OPENCLAW_HOME}/workspace/visual/
基本的なワークフロー
Preflight → Execute → Deliver
事前確認
meitu --versionとmeitu auth verify --jsonを実行しますMEITU_OPENAPI_TOOL_TASK_MODE=commandが設定されていることを確認します- output_dir:プロジェクト →
./output/;単発 →$VISUAL/output/video-content-replace/;mkdir -p
実行
トリガーとルーティング
主な判定基準:参照画像が提供されているかどうか。
| シーン | 判定 | ルーティング |
|---|---|---|
| 参照画像あり+要素の置き換え | image_url あり | video_molasses_vidimgs2vid |
| 参照画像なし+テキスト指示 | image_url なし | video_molasses_edit(デフォルト) |
ルーティングの原則:image_url がある場合は、ユーザーが「テキストで変更内容を説明する」と言っていても、参照画像モードの vidimgs2vid を優先します。
パラメーターの定義
| パラメーター | 型 | 必須 | 範囲 | デフォルト | 説明 |
|---|---|---|---|---|---|
video_url | STRING | はい | 下記の制約を参照 | — | 元動画の URL |
prompt | STRING | はい | — | — | 変更内容の説明 |
image_url | STRING | いいえ | — | — | 参照画像の URL。指定されている場合は vidimgs2vid にルーティング |
model | STRING | いいえ | auto/molasses | auto | モデルの選択 |
その他のパラメーター(duration/ratio/character_orientation など)は combo-tool 内部で管理され、外部には公開されません。
video_url の制約(参照画像による置き換えモード専用):
- 形式:
.mp4/.mov;サイズ:≤ 100MB - 辺の長さ:340px ~ 3850px;長さ:3 ~ 30 秒
- 映像:上半身または全身がはっきり映り、人物は1人、ワンカットで、動作が安定していること
video_molasses_edit(テキスト指示モード)の video_url 制限は比較的緩やかで、主に形式とサイズが対象です。
ツールの呼び出し
# 文本指令
meitu video-content-replace --video_url {url} --prompt "{修改描述}" --json --download-dir {output_dir} --skill_name skill_video-content-replace
# 参考图驱动
meitu video-content-replace --video_url {url} --prompt "{修改描述}" --image_url {ref} --json --download-dir {output_dir} --skill_name skill_video-content-replace
エラー時のフォールバック
| シーン | 対応 |
|---|---|
video_url が未指定 | 「動画のリンクを指定してください」と案内し、呼び出しません |
video_url にアクセスできない | エラーをそのまま返し、再試行しません |
prompt が未指定 | 「変更したい内容を説明してください」と案内します |
image_url にアクセスできない | video_molasses_edit にフォールバックし、prompt のみを使用します |
video_url が mp4/mov 以外 | 形式要件を案内し、呼び出しません |
video_url が 100MB 超、または辺の長さが範囲外 | 超過している項目を具体的に案内します |
video_url の長さが 3 秒未満/30 秒超(vidimgs2vid) | 長さの要件を案内します |
| "Video duration can not longer than" が返された場合 | 生成時間ではなく、参照動画の長さの上限超過として判定します。再試行せず、動画をトリミングするようユーザーに案内します |
| API 呼び出しの失敗/タイムアウト | 1回再試行し、それでも失敗する場合はエラーを返します |
| コンテンツがコンプライアンスチェックでブロックされた場合 | コンプライアンスに関する案内をそのまま返し、再試行しません |
出力
mv {file} {output_dir}/{date}_{name}_content-replace.mp4
出力
- 形式:MP4
- ファイル名:
{YYYY-MM-DD}_{descriptive-name}_content-replace.mp4 - 保存先:プロジェクト →
./output/;単発 →$VISUAL/output/video-content-replace/
ベースライン Task ID
t_mt1a3i5n7b82954cc9-d2cb-44cd-a786-cb9fd37244f9