OpenClip: 動画編集
edit_video は動画ファイルに対して1回の呼び出しで1つの操作(クロップ、トリム、回転、リサイズ、圧縮、ミュート)を実行します。無料で利用でき、OpenClipアカウントが必要ですが、サブスクリプションやクレジットは不要です。
操作を連鎖させるには、ある呼び出しの出力を次の呼び出しに入力として渡します。
セットアップ(初回のみ)
OpenClip は https://openclip.app/mcp にあるリモートMCPサーバーです。OAuthプロンプトが表示されたらOpenClipアカウントでサインインしてください。コピーするAPIキーはありません。
- Claude Code:
claude mcp add --transport http openclip https://openclip.app/mcpを実行し、/mcpで認可します。 - Claude Desktop / Web: 設定 → コネクタ → 「カスタムコネクタを追加」でURLを貼り付け、サインインします。
- Cursor(
.cursor/mcp.json):{ "mcpServers": { "openclip": { "url": "https://openclip.app/mcp" } } } - ヘッダーのみのクライアント:
openclip.app/settings/connectでMCPトークンを発行し、Authorization: Bearer <トークン>を付けてhttps://openclip.app/mcp/keyに接続します。
動作確認として get_account を呼び出してください。
ファイルの取り込み
create_upload(filename, content_type)でidとupload_urlを取得します。- 生のバイトデータを
upload_urlにPUTします。 - 返ってきた
idをvideo引数として渡します。
complete_upload は呼び出さないでください。 これは有料のクリッピングパイプラインを開始します。無料ツールはアップロードされたファイルを直接読み取ります。list_videos に既にある動画も入力として使用できます。
操作
各呼び出しは edit_video(video, operation, ...params) です。
- crop -
aspect("1:1"、"9:16"、"16:9"、"4:5")または明示的なx、y、width、heightのいずれか。aspect: "9:16"を使うと、横長の映像をTikTok、Reels、Shorts向けにリフレームできます。 - trim -
start_msとend_ms。両方必須。時間はミリ秒です。 - rotate -
degrees(90、180、270)および/またはflip(none、horizontal、vertical)。 - resize - ピクセル単位の
widthとheight。 - compress -
target_mb(ファイルサイズを目標にする)またはcrf(18〜32、低いほど高品質でファイルサイズ大)のいずれか。ユーザーがサイズ制限を指定した場合はtarget_mbを使用します。 - mute - パラメータなし、音声トラックを削除します。
ポーリング
edit_video は status: "queued" の tool_job ハッシュIDを返します。5〜10秒ごとに get_tool_job_status(tool_job) をポーリングします。
queued/processing- まだ処理中。ポーリングを続けます。completed- 恒久的なCDNoutputsURLとresult_metaを返します。failed-errorを返します。
呼び出しが同期的に完了するとは想定しないでください。
ルール
- 1回の呼び出しにつき1つの操作。トリミングしてからリフレームするには、最初にトリムを実行し、その出力をクロップ呼び出しに渡します。
- 時間は常にミリ秒。秒ではありません。
- 出力URLは恒久的なCDNリンクであり、署名付きでも期限付きでもありません。
- 無料利用は1日あたりのレート制限とファイルサイズ上限があります。エラーテキストで制限の解除方法が説明されます。
プロンプト例とアクション
- 「これを最初の30秒にカットして」 -
create_upload、PUTバイトデータ、edit_video(video, operation="trim", start_ms=0, end_ms=30000)、ポーリング。 - 「これをTikTok用に縦長にして」 -
edit_video(video, operation="crop", aspect="9:16")、ポーリング。 - 「このファイルは400MBです。50MB以下にしてください」 -
edit_video(video, operation="compress", target_mb=50)、ポーリング。 - 「音声を削除して」 -
edit_video(video, operation="mute")、ポーリング。 - 「真ん中の1分にトリミングして正方形にして」 - トリムしてポーリング、その後出力を
aspect="1:1"でクロップして再度ポーリング。
関連
フォーマット変換(mp4、gif、mp3)は convert_media で行います。openclip-convert スキルを参照してください。長い動画からランク付けされた短いクリップを作成するのは有料パイプラインです。openclip-clipping を参照してください。