Communitygithub.com

cli-anything-shotcut

動画編集のためのステートフルなコマンドラインインターフェース。MLT XML形式に基づき、AIエージェントやパワーユーザーがGUIなしでShotcutプロジェクトを作成・編集できます。

cli-anything-shotcut とは?

cli-anything-shotcutは、Shotcutビデオエディター向けのCLIツールで、AIエージェントやパワーユーザーがGUIなしでプロジェクトを作成、編集、レンダリングできるようにします。このツールはMLT XML形式に基づいており、プロジェクト管理、メディアインポート、タイムライン操作(クリップの追加・トリミング・分割)、フィルター(音量エンベロープやダッキングを含む)、トランジション、合成(ブレンドモード、PIP、不透明度)、プレビュー管理などをサポートします。特筆すべき機能として、最大50ステップのアンドゥ/リドゥ履歴、人間可読とJSON出力の両方のモード、そして `preview live` コマンドによる反復編集レビューのための低解像度プレビューバンドルとライブプレビューセッションがあります。AIエージェント向けに設計されており、`--json` フラグで解析可能な出力、絶対パスの使用、絶対配置(`timeline add-clip --at`)による決定論的なタイムライン再構築が推奨されます。主要な依存関係はPython 3.10+、`melt`、`ffmpeg`/`ffprobe`、およびShotcut自体です。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/HKUDS/CLI-Anything/tree/main/skills/cli-anything-shotcut

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

cli-anything-shotcut は何をしますか?

動画編集のためのステートフルなコマンドラインインターフェース。MLT XML形式に基づき、AIエージェントやパワーユーザーがGUIなしでShotcutプロジェクトを作成・編集できます。

インストール

このCLIはcli-anything-shotcutパッケージの一部としてインストールされます:

pip install cli-anything-shotcut

前提条件:

  • Python 3.10+
  • melt(MLT CLI)— レンダリングと再生に必要
  • ffmpeg / ffprobe — メディアプローブに必要
  • システムに shotcut がインストールされていること

使い方

基本的なコマンド

# ヘルプの表示
cli-anything-shotcut --help

# インタラクティブREPLモードの開始
cli-anything-shotcut

# 新しいプロジェクトの作成
cli-anything-shotcut project new -o project.json

# JSON出力で実行(エージェント向け)
cli-anything-shotcut --json project info -p project.json

REPLモード

サブコマンドなしで呼び出すと、アンドゥ/リドゥ機能を備えたインタラクティブなREPLセッションが開始されます:

cli-anything-shotcut
# またはプロジェクトを指定:
cli-anything-shotcut --project my_project.mlt

REPLコマンド

ワークフロー: 常に最初に media import で clip_id を取得し、次に add-clip でタイムラインに配置します。

プロジェクト&セッション:

  • new [profile] — 新規プロジェクト作成(デフォルト:hd1080p30)
  • open <path> — .mlt ファイルを開く
  • save [path] — プロジェクトを保存
  • info — プロジェクト情報を表示
  • xml — 生のMLT XMLを表示
  • status — セッション状態を表示
  • undo / redo — 操作履歴を移動

メディア(2段階モデル):

  • media import <file> [--caption name] — ファイルをプロジェクトビンにインポート、clip_id(例:clip0)を返す
  • media — インポートしたメディアをすべて一覧表示
  • probe <file> — メディアファイルを解析

タイムライン:

  • add-track <video|audio> [name] — トラックを追加
  • tracks — すべてのトラックを一覧表示
  • show — タイムラインの概要を表示
  • add-clip <clip_id> <track> [in] [out] [--at time] — インポートしたクリップをトラックに配置
  • clips <track> — トラック上のクリップを一覧表示
  • remove-clip <track> <clip> — クリップを削除
  • trim <track> <clip> [--in tc] [--out tc] — クリップをトリミング
  • split <track> <clip> <at> — 指定のタイムコードでクリップを分割

フィルター:

  • list-filters [video|audio] — 利用可能なフィルターを参照
  • filter-info <name> — フィルターの詳細を表示
  • add-filter <name> [--track n] [--clip n] [key=val ...] — クリップ、トラック、または全体にフィルターを追加
  • filters [--track n] [--clip n] — アクティブなフィルターを一覧表示
  • remove-filter <idx> [--track n] [--clip n] — インデックスでフィルターを削除
  • set-filter <idx> <param> <value> [--track n] [--clip n] — フィルターパラメータを設定
  • volume-envelope [--track n] [--clip n] TIME=LEVEL ... — キーフレーム付き音量エンベロープ(例:00:00:00.000=1.0 00:00:03.000=0.35)
  • duck [--track n] [--clip n] START..END ... — ダッキングエンベロープ(例:00:00:06.000..00:00:09.000)

エクスポート:

  • presets — エクスポートプリセットを一覧表示
  • render <output> [--preset name] — ビデオファイルにレンダリング

コマンドグループ

プロジェクト

プロジェクト管理:新規作成、開く、保存、情報。

コマンド説明
new新しい空のプロジェクトを作成
open既存の.mltプロジェクトファイルを開く
save現在のプロジェクトを保存
infoプロジェクトの詳細情報を表示
profiles利用可能なビデオプロファイルを一覧表示
xml現在のプロジェクトの生のMLT XMLを表示

タイムライン

タイムライン操作:トラック、クリップ、トリミング。

コマンド説明
showタイムラインの概要を表示
tracksすべてのトラックを一覧表示
add-trackタイムラインに新しいトラックを追加
remove-trackインデックスでトラックを削除
add-clipclip_idでインポートしたクリップをトラックに追加;絶対配置には --at をサポート
remove-clipトラックからクリップを削除
move-clipクリップをトラック間または位置間で移動
trimクリップのイン/アウトポイントをトリミング
split指定のタイムコードでクリップを2つに分割
clipsトラック上のすべてのクリップを一覧表示
add-blankトラックに空白ギャップを追加
set-nameトラックの表示名を設定
muteトラックをミュートまたはミュート解除
hideビデオトラックを非表示または表示

フィルターグループ

フィルター操作:追加、削除、エフェクト設定。

コマンド説明
list-available利用可能なフィルターをすべて一覧表示
infoフィルターとそのパラメータの詳細を表示
addクリップ、トラック、または全体にフィルターを追加
removeインデックスでフィルターを削除
setフィルターのパラメータを設定
listターゲット上のアクティブなフィルターを一覧表示
volume-envelopeトラックまたはクリップにキーフレーム付き音量エンベロープを作成または置換
duck1つ以上の時間ウィンドウで実用的なダッキングエンベロープを構築

メディア

メディア操作:プローブ、一覧表示、ファイル確認。

コマンド説明
importメディアファイルをプロジェクトビンにインポート
probeメディアファイルのプロパティを解析
list現在のプロジェクト内のすべてのメディアクリップを一覧表示
checkすべてのメディアファイルの存在を確認
thumbnailビデオファイルからサムネイルを生成

エクスポート

エクスポート/レンダリング操作。

コマンド説明
presets利用可能なエクスポートプリセットを一覧表示
preset-infoエクスポートプリセットの詳細を表示
renderプロジェクトをビデオファイルにレンダリング

トランジショングループ

トランジション操作:ディゾルブ、ワイプ、その他のトランジション。

コマンド説明
list-available利用可能なトランジションタイプをすべて一覧表示
infoトランジションタイプの詳細を表示
add2つのトラック間にトランジションを追加
removeインデックスでトランジションを削除
setトランジションのパラメータを設定
listタイムライン上のすべてのトランジションを一覧表示

合成グループ

合成:ブレンドモード、PIP、不透明度。

コマンド説明
blend-modes利用可能なブレンドモードをすべて一覧表示
set-blendトラックのブレンドモードを設定
get-blendトラックの現在のブレンドモードを取得
set-opacityトラックの不透明度を設定(0.0〜1.0)
pipクリップのピクチャーインピクチャー位置を設定

セッション

セッション管理:状態、アンドゥ、リドゥ。

コマンド説明
status現在のセッション状態を表示
undo最後の操作を元に戻す
redo最後に元に戻した操作をやり直す
saveセッション状態をディスクに保存
list保存されたセッションをすべて一覧表示

プレビュー

反復編集レビューのためのプレビューバンドルとライブプレビューセッション。

コマンド説明
preview recipesプレビューレシピを一覧表示
preview capture低解像度のプレビューバンドルをレンダリング
preview latest最新の既存バンドルを返す
preview live startライブプレビューセッションを開始し、最初のバンドルを公開
preview live push新しいバンドルをライブセッションに公開
preview live statusレンダリングせずに現在のライブセッション状態を照会
preview live stopアーティファクトを削除せずにライブセッションを停止

典型的な quick バンドルの内容:

  • preview.mp4
  • いくつかのサンプルフレーム
  • 中間点 hero.png
  • プロジェクト情報を含む summary.json

ポーリングモードもサポート:

cli-anything-shotcut --json --project edit.mlt preview live start --recipe quick --mode poll --source-poll-ms 500

preview live status --json にはセッション参照とコンパクトな trajectory_summary が含まれるため、エージェントは最新の数回の公開を低コストで把握できます。

ビューワーコマンド:

cli-hub previews inspect /path/to/bundle-or-session
cli-hub previews html /path/to/bundle-or-session -o page.html
cli-hub previews watch /path/to/session --open
cli-hub previews open /path/to/bundle-or-session

例

新しいプロジェクトの作成

新しいShotcutプロジェクトファイルを作成します。

cli-anything-shotcut project new -o myproject.json
# またはプログラムでの使用のためにJSON出力
cli-anything-shotcut --json project new -o myproject.json

インタラクティブREPLセッション

アンドゥ/リドゥ機能を備えたインタラクティブセッションを開始します。

cli-anything-shotcut
# コマンドを対話的に入力
# 'help' で利用可能なコマンドを表示
# 'undo' と 'redo' で履歴を移動

プロジェクトのエクスポート

プロジェクトを最終出力形式にエクスポートします。

cli-anything-shotcut --project myproject.json export render output.mp4 --overwrite

決定論的なタイムライン再構築

再構築時には、追加専用のクリップ挿入よりも絶対配置を推奨します:

cli-anything-shotcut --project myproject.mlt media import intro.mp4
cli-anything-shotcut --project myproject.mlt timeline add-clip clip0 \
  --track 1 --in 00:00:00.000 --out 00:00:04.000 --at 00:00:00.000

cli-anything-shotcut --project myproject.mlt media import broll.mp4
cli-anything-shotcut --project myproject.mlt timeline add-clip clip1 \
  --track 1 --in 00:00:10.000 --out 00:00:16.000 --at 00:00:08.000
  • --at は、目的の時間が空のスペースにある場合に自動的に空白を挿入します。
  • CLIは既存のクリップとの重なりを拒否します。
  • 後で絶対配置があいまいにならないよう、明示的な --in と --out の値を推奨します。

オーディオオートメーション

cli-anything-shotcut --project myproject.mlt filter volume-envelope \
  --track 2 \
  --point 00:00:00.000=1.0 \
  --point 00:00:03.000=0.35 \
  --point 00:00:05.000=1.0

cli-anything-shotcut --project myproject.mlt filter duck \
  --track 2 \
  --window 00:00:06.000..00:00:09.000 \
  --window 00:00:15.000..00:00:18.000 \
  --normal 1.0 --duck 0.25

CLIは以下のセッション状態を保持します:

  • アンドゥ/リドゥ:最大50レベルの履歴
  • プロジェクトの永続化:プロジェクト状態をJSONとして保存/読み込み
  • セッション追跡:変更内容を追跡

出力形式

すべてのコマンドはデュアル出力モードをサポート:

  • 人間可読(デフォルト):表、色付き、整形済みテキスト
  • 機械可読(--json フラグ):エージェントが消費するための構造化JSON
# 人間向け出力
cli-anything-shotcut project info -p project.json

# エージェント向けJSON出力
cli-anything-shotcut --json project info -p project.json

AIエージェント向け

このCLIをプログラム的に使用する場合:

  1. 解析可能な出力のために常に --json フラグを使用
  2. リターンコードを確認 - 0は成功、0以外はエラー
  3. エラー時はstderrを解析してエラーメッセージを取得
  4. すべてのファイル操作には絶対パスを使用
  5. エクスポート操作後に出力の存在を確認
  6. 既知の編集を再現する際は timeline add-clip --at を優先
  7. キーフレーム付き音量またはダッキング変更の後は最終レンダリングを確認
  8. preview capture または preview live ... を使用して、ペーシング、カット、フィルター効果を視覚的に検証
  9. 返されたアーティファクトパス(hero.png や preview.mp4 など)を読み取る;JSONペイロードはディスク上のファイルを参照します
  10. 完全な trajectory.json を読む前に preview live status --json を使用
  11. 既存のバンドルやライブセッションの検査/オープンには cli-hub previews ... のみを使用

詳細情報

  • 完全なドキュメント:パッケージ内のREADME.mdを参照
  • テストカバレッジ:パッケージ内のTEST.mdを参照
  • 方法論:cli-anything-plugin内のHARNESS.mdを参照

バージョン

1.0.0

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

cli-anything-adguardhome

>-

cli-anything-anygen

>-

cli-anything-audacity

>-

cli-anything-blender

>-

cli-anything-browser

Browser automation CLI using DOMShell MCP server. Maps Chrome

cli-anything-calibre

>-

cli-anything-ccswitch

CLI interface for CC Switch — manage AI coding tool configurations from the terminal

cli-anything-chromadb

>-

cli-anything-cloudanalyzer

Command-line interface for CloudAnalyzer — Agent-friendly harness for CloudAnalyzer, a QA platform for mapping, localization, and perception outputs. Supports 27 commands across 8 groups: point cloud evaluation, trajectory evaluation, ground segmentation QA, config-driven quality gates, baseline evolution, processing, visualization, and interactive REPL.

cli-anything-cloudcompare

Command-line interface for CloudCompare — Agent-friendly harness for CloudCompare, the open-source 3D point cloud and mesh processing software. Supports 41 commands across 9 groups: project management, session control, point cloud operations (subsample, filter, segment, analyze), mesh operations, distance computation (C2C, C2M), transformations (ICP, matrix), export (LAS/LAZ/PLY/PCD/OBJ/STL/E57), and interactive REPL.

cli-anything-comfyui

>-

cli-anything-dify-workflow

Wrapper for the Dify workflow DSL CLI. Create, inspect, validate, edit, and export Dify workflow files through a CLI-Anything harness.

cli-anything-drawio

>-

cli-anything-eez-studio

Use EEZ Studio from the command line: inspect and modify native .eez-project files, edit LVGL screens/widgets, manage SCPI commands, and invoke the real EEZ Studio backend for LVGL builds.

cli-anything-eth2-quickstart

>-

cli-anything-exa

>-

cli-anything-firefly-iii

Firefly III CLI - Personal finance management via CLI-Anything

cli-anything-freecad

Complete CLI harness for FreeCAD parametric 3D CAD modeler (258 commands). Covers ALL workbenches: Part (29 primitives + boolean + mirror + loft + sweep), Sketcher (26 cmds: geometry + constraints + editing), PartDesign (38 cmds: pad/pocket/groove/fillet/chamfer/patterns/hole/datum), Assembly (11 cmds), Mesh (16 cmds), TechDraw (15 cmds: views + dimensions + PDF/SVG), Draft (33 cmds: 2D shapes + arrays + transforms), FEM (12 cmds), CAM/CNC (10 cmds), Surface (6 cmds), Spreadsheet (7 cmds), Import (13 formats), Export (17 formats), Measure (12 cmds), Materials (21 presets). Headless FreeCAD export to STEP/IGES/STL/OBJ/DXF/PDF/glTF/3MF.

cli-anything-gimp

>-

cli-anything-godot

>-

関連スキル