openclip について
OpenClipは、エージェント向けの動画編集MCPサーバーです。長尺動画から短いクリップを抽出・評価して字幕を付けるほか、メディアツールやUGC生成を提供します。
主な機能
- 01動画から短いクリップを抽出・評価
- 02字幕プリセットでクリップをレンダリング
- 03メディアファイルの文字起こしと編集
- 04メディア変換とサムネイル抽出
- 05UGC風動画の生成
- 06再利用可能な処理エージェントの管理
活用シーン
- 01長尺動画から評価順の短編を作成
- 02アップロードした録音を文字起こし
- 03動画や画像のサイズ・形式を変更
- 04クリエイティブブリーフからUGC風動画を作成
MCP 対応
OpenClipはリモートの`/mcp`および`/mcp/key`エンドポイントを通じて、動画クリップ、メディアツール、UGC生成、アカウント、プリセットの各ツールをMCPクライアントに公開します。開発用のローカルstdioサーバーもあります。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ openclip-app/ agent-skills --skill openclipインストール後、Claude Code で/openclipを入力して読み込まれたか確認します。
同梱ファイルreference.md
詳細
OpenClip:エージェントで動画を編集
OpenClip は動画編集用の MCP サーバーです。中心となるパイプラインでは、長い動画を短く、字幕付きで、ランキングされたクリップに変換します。完全な /mcp および /mcp/key エンドポイントでは、以下に示す6つのグループに分かれた31個のツールを利用できます。ChatGPT アプリで利用できるのは、審査済みのクリップパイプラインのサブセットのみです。
- ドキュメント:
search_docsは、OpenClip の製品機能、設定、ワークフロー、連携機能、トラブルシューティングのガイダンスを検索します。製品の動作が不明な場合に呼び出してください。 - クリッピングパイプライン:
submit_video、get_video_status、list_clips、render_clip、get_render_status、list_caption_presets、get_transcript、list_supported_providers、list_videos。 - アップロード:
create_upload、complete_upload(以下の注意点を参照してください。complete_uploadは有料パイプラインを開始します。無料ツールでは実行されません)。 - 無料メディアユーティリティ(アカウントのみで利用可能。サブスクリプション不要):
transcribe、edit_video、convert_media、extract_thumbnails、edit_image、remove_background、get_tool_job_status。 - UGC 生成:
generate_ugc、get_ugc_job_status、list_ugc_creators、list_ugc_jobs。 - アカウントとプリセット:
get_account、get_usage、list_agents、create_agent、update_agent、describe_agent_settings、create_agent_logo_upload、set_agent_logo。
セットアップ(一度だけ)
リモートサーバーでは、主な接続方法としてワンクリック OAuthに対応しています。サーバー URL(https://openclip.app/mcp)をクライアントに貼り付け、OpenClip アカウントでサインインしてください。トークンをコピーする必要はありません。
- エージェントにリモートサーバーを追加します(サーバー URL:
https://openclip.app/mcp)。- Claude Desktop: Settings → Connectors → Add custom connector →
https://openclip.app/mcpを貼り付け → Connect → サインイン。 - Claude Code:
claude mcp add --transport http openclip https://openclip.app/mcpを実行し、その後/mcpを実行してブラウザーで認証します。 - Cursor(
.cursor/mcp.json):{ "mcpServers": { "openclip": { "url": "https://openclip.app/mcp" } } }を設定すると、Cursor が OAuth を実行します。
- Claude Desktop: Settings → Connectors → Add custom connector →
- 手動の Bearer トークン(代替手段、ヘッダーのみのクライアントまたはプログラムから接続するクライアント向け): openclip.app/settings/connect で MCP トークンを生成し(「Generate MCP token」、表示されるのは一度だけ)、Bearer ヘッダーとして指定して
/mcp/keyエンドポイントに接続します。- Claude Code:
claude mcp add --transport http openclip https://openclip.app/mcp/key --header "Authorization: Bearer <token>" - Cursor(
.cursor/mcp.json):{ "mcpServers": { "openclip": { "url": "https://openclip.app/mcp/key", "headers": { "Authorization": "Bearer <token>" } } } } - 任意の MCP クライアント:
Authorization: Bearer <token>ヘッダーを付けて、https://openclip.app/mcp/keyに POST します。
- Claude Code:
- 動作確認として
get_accountを呼び出します。credits_remaining > 0であることを確認してください。
(セルフホスト/開発環境でのみ使用:php artisan mcp:start openclip でローカルの stdio サーバーを実行します。)
処理の流れ(処理は非同期です。必ずポーリングしてください)
- 送信:
submit_video(url)→status:"queued"のjob_idが返されます。認証済みであれば、サブスクリプションやクレジットを事前確認せず、必ず成功してジョブがキューに登録されます。 - ステータスをポーリング:
statusがcompleted(またはfailed)になるまでget_video_status(job_id)を呼び出します。完了する前にlist_clipsを呼び出さないでください。実際の状態はstatusを確認してください。failed(多くの場合、送信後ほぼすぐに発生)は、通常有効なサブスクリプションがないことを意味します。openclip.app でサブスクリプションに登録するようユーザーに案内してください。pending_creditsは、チームのクレジットが不足していることを意味します。クレジットを追加するようユーザーに案内してください。download_failedは、ソース URL を取得できなかったことを意味します。リンクを確認するようユーザーに依頼してください。
- クリップを一覧表示:
list_clips(job_id)→virality_score(0~10)、タイトル/フック、開始・終了時刻(ms)、およびclip/rendered_clipの URL を含む、話題性の高い場面が返されます。 - (任意)字幕付きでレンダリング:
render_clip(moment_id, caption_preset)を呼び出します。これも非同期です。list_clipsをポーリングし、完了した URL が表示されるまで場面のrendered_clipを確認してください。プリセットキーはlist_caption_presetsで取得できます。
サブスクリプション不要の無料メディアユーティリティ
transcribe、edit_video、convert_media、extract_thumbnails、edit_image、remove_background は無料です。必要なのはアカウントのみで、サブスクリプションやクレジットは不要です。
いずれも同じ非同期パターンに従います。
- ファイルを用意します。ローカルファイルの場合は
create_upload(filename, content_type)を呼び出し、返されたupload_urlにバイトデータを PUT して、返されたidをfile/videoとして使用します。 無料ツールではcomplete_uploadを呼び出さないでください。呼び出すと有料のクリッピングパイプラインが開始されます。無料ツールはアップロードされたファイルを直接読み取ります。(list_videosにすでにある動画も入力として使用できます。) - ツールを呼び出します。
status: "queued"のtool_jobハッシュ ID が返されます。 get_tool_job_status(tool_job)を 5〜10 秒ごとにポーリングします。queued/processingは処理中、completed/failedは終了状態です。completedの場合は、永続的な CDNoutputsURL(例:transcribeの json/srt/vtt、extract_thumbnailsのフレームをまとめた zip)が返されます。failedの場合はerrorが返されます。
操作の概要(全パラメーターは reference.md を参照):edit_video は crop、trim、rotate、resize、compress、mute のいずれか 1 つの operation を実行します。convert_media の変換先は mp4/webm/mov/mkv、gif、mp3/aac/wav/flac です。edit_image は compress、resize、crop を実行します。remove_background は透明な PNG を返します。無料利用には、1 日あたりのレート制限とファイルごとのサイズ上限があります。制限の解除方法はエラーテキストに記載されています。
文字起こしの使い分けに注意してください。アップロードしたファイルには無料ツールの transcribe を使用します。get_transcript は、有料のクリッピングパイプラインを経由した動画のタイムコード付き文字起こしを読み取ります(文または単語単位の start_ms/end_ms ウィンドウに対応しています)。
UGC の生成
generate_ugc は、クリエイティブブリーフから短い(約 7〜12 秒)縦型の UGC スタイル動画をレンダリングします(文章形式のプロンプトではなく、character などの構造化フィールド、またはサーバー側の brief_name プリセットを使用します)。無料アカウントでは 1 日 1 回生成できます。有料アカウントでは、レンダリングした秒数に応じてクレジットが消費されます。ugc_job ハッシュ ID が返されます。get_ugc_job_status を 10〜15 秒ごとにポーリングします(queued/rendering は処理中、completed では video_url と result_meta が返され、failed では error が返されます)。レンダリングには時間がかかるため、数分ほどかかると見込んでください。
生成する前に list_ugc_creators を呼び出し、チームで有効な creator と start_frame の値を確認してください(厳選された候補とチーム独自の保存済みクリエイターが、ニッチごとに分類されています)。チームの過去の UGC 動画を確認したり、ポーリングする ugc_job ID を探したりするには、list_ugc_jobs を使用します。
再利用可能なプリセット(エージェント)
ワークフローを繰り返すたびに設定を同じにする(同じトラッカーモデル、キャプションプリセット、ロゴのウォーターマークを使用する)には、create_agent で処理エージェントを一度保存し、submit_video に渡します。describe_agent_settings には、すべてのネストされたフィールドと許可される値が記載されています。update_agent は送信したフィールドのみを更新します。create_agent_logo_upload と set_agent_logo でウォーターマークを追加できます(最大 2 MB)。get_usage では、クレジット残高(処理時間の分数)と最近のアクティビティを確認できます。
ルールと注意点
- 必ずポーリングしてください。送信がすぐに完了すると決めつけず、
get_video_statusをループでポーリングしてください。 - ユーザーが別の指定をしない限り、
virality_scoreが高いクリップほど優先して選択してください。 - 時刻の単位はミリ秒です。
clip.urlは永続的な CDN URL(署名の有効期限が切れることはありません)です。 submit_videoはサブスクリプションやクレジットの状態にかかわらずジョブをキューに追加します。制限は後でget_video_statusに反映されます(failed= サブスクリプションなし、pending_credits= クレジット不足)。ステータスを確認して適切に案内してください。同期的に「サブスクライブ」エラーが返されることを想定しないでください。- この API はプロジェクト/フォルダーに対応していません。対応していると約束しないでください。
エラー処理
これらはMCP ツールであり、REST/HTTP API ではありません。ツール呼び出しが失敗すると、isError: true と短いプレーンテキストのメッセージを含む通常のツール結果が返されます(HTTP 401/402/403/422 ステータスや JSON エラーエンベロープは返されません)。メッセージのテキストを読み、それに応じて対応してください。
"Not authenticated. Reconnect your OpenClip token.":接続に有効な ID が含まれていません → 再接続してください。OAuth の場合は、コネクターのサインインを再実行してください(例:Claude Code で/mcpを実行)。手動の/mcp/keyの場合は、接続ページで MCP トークンを再生成し、新しい Bearer トークンを使ってサーバーを再追加してください。mcp:useスコープ/権限がないトークンは、ツール実行前にトランスポートで拒否されます。同じ方法で修正してください:再接続/トークンの再発行。"Job not found."(get_video_status、list_clips):job_idが間違っている、別のアカウントのもの、または有効期限切れです → 渡した ID を確認してください。以前のセッションの ID の場合は、動画を再送信してください。"Viral moment not found."(render_clip):moment_idが間違っているか、別のアカウントのものです →list_clipsでモーメントを再取得し、その応答に含まれる ID を使用してください。"Video not yet available. Check get_video_status for progress."(list_clips):ジョブの動画レコードがまだ作成されていません(キュー待ち/ダウンロード中です) →get_video_statusのポーリングを続け、statusがcompletedになってからlist_clipsを呼び出してください。- 検証メッセージ(例:不正または未指定の
url、不明なcaption_preset):検証エラーのテキストがツールメッセージとして返されます → 問題のある引数を修正して再試行してください。 - サブスクリプション/クレジットはここではエラーではありません。これらはツールエラーではなく、
get_video_statusのstatus値として表示されます(failed= サブスクリプションなし → サブスクリプションに登録、pending_credits= クレジット不足 → チャージ)。上記の「ループ」を参照してください。
プロンプトの例 → アクション
- 「これをクリップにして:」→
submit_video(url)を実行し、get_video_statusをポーリングしてからlist_clipsを実行します。 - 「job_…から上位 3 つのモーメントを教えて」→
list_clipsを実行し、virality_scoreで並べ替えて 3 つ取得します。 - 「Beast キャプションを使って moment m_…をレンダリングして」→
render_clip(m_…, caption_preset="beast")を実行し、ポーリングします。 - 「この録音を書き起こして」→
create_uploadを実行し、バイトデータを PUT し、transcribe(video)を実行して、get_tool_job_statusをポーリングします(complete_uploadは使用しません)。 - 「これを gif に変換して」/「この動画を圧縮して」→
create_uploadを実行し、バイトデータを PUT してから、convert_media(file, to="gif")/edit_video(file, operation="compress")を実行し、ポーリングします。 - 「この画像の背景を削除して」→
create_uploadを実行し、バイトデータを PUT してから、remove_background(file)を実行し、ポーリングして、背景が透明な PNG を返します。 - 「自分のアプリ用の UGC 広告を作って」→
generate_ugc(brief={...})を実行し、get_ugc_job_statusをポーリングします。
ステータス値、プリセットキー、操作パラメーター、フィールド形式については reference.md を参照してください。
用途別スキル
このスキルはすべての機能をカバーしています。次のいずれかに明確に該当するジョブでは、用途別スキルのほうが詳しい情報を提供しています。
| スキル | 対応内容 | サブスクリプションが必要 |
|---|---|---|
openclip-clipping | 長尺動画からバイラルモーメントをランキング形式で抽出 | はい |
openclip-captions | スタイル付きキャプションをクリップに焼き込む | はい |
openclip-repurpose | 長尺コンテンツから投稿可能な一括コンテンツをエンドツーエンドで作成 | はい |
openclip-ugc-ads | ブリーフから UGC スタイルの広告クリップを作成 | いいえ、1 日 1 回無料 |
openclip-video-editing | トリミング、クロップ、サイズ変更、回転、圧縮、ミュート | いいえ |
openclip-transcription | 文字起こし、SRT、VTT、話者分離 | いいえ |
openclip-convert | mp4、webm、mov、mkv、gif、mp3、aac、wav、flac | いいえ |
openclip-thumbnails | 動画からフレームを抽出し、画像を編集 | いいえ |
openclip-remove-background | 背景が透明な PNG の切り抜き | いいえ |
npx skills add OpenClip-App/agent-skills を実行すると、いずれもインストールできます。