mcpField
O
openclip

openclip

github.com/openclip-appクリエイティブ・メディア145 回インストール12 週間前に更新
リポジトリ

openclip について

OpenClipは、エージェント向けの動画編集MCPサーバーです。長尺動画から短いクリップを抽出・評価して字幕を付けるほか、メディアツールやUGC生成を提供します。

主な機能

  1. 01動画から短いクリップを抽出・評価
  2. 02字幕プリセットでクリップをレンダリング
  3. 03メディアファイルの文字起こしと編集
  4. 04メディア変換とサムネイル抽出
  5. 05UGC風動画の生成
  6. 06再利用可能な処理エージェントの管理

活用シーン

  1. 01長尺動画から評価順の短編を作成
  2. 02アップロードした録音を文字起こし
  3. 03動画や画像のサイズ・形式を変更
  4. 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 アカウントでサインインしてください。トークンをコピーする必要はありません。

  1. エージェントにリモートサーバーを追加します(サーバー 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 を実行します。
  2. 手動の 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 します。
  3. 動作確認として get_account を呼び出します。credits_remaining > 0 であることを確認してください。

(セルフホスト/開発環境でのみ使用:php artisan mcp:start openclip でローカルの stdio サーバーを実行します。)

処理の流れ(処理は非同期です。必ずポーリングしてください)

  1. 送信:submit_video(url) → status:"queued" の job_id が返されます。認証済みであれば、サブスクリプションやクレジットを事前確認せず、必ず成功してジョブがキューに登録されます。
  2. ステータスをポーリング:status が completed(または failed)になるまで get_video_status(job_id) を呼び出します。完了する前に list_clips を呼び出さないでください。実際の状態は status を確認してください。
    • failed(多くの場合、送信後ほぼすぐに発生)は、通常有効なサブスクリプションがないことを意味します。openclip.app でサブスクリプションに登録するようユーザーに案内してください。
    • pending_credits は、チームのクレジットが不足していることを意味します。クレジットを追加するようユーザーに案内してください。
    • download_failed は、ソース URL を取得できなかったことを意味します。リンクを確認するようユーザーに依頼してください。
  3. クリップを一覧表示:list_clips(job_id) → virality_score(0~10)、タイトル/フック、開始・終了時刻(ms)、および clip/rendered_clip の URL を含む、話題性の高い場面が返されます。
  4. (任意)字幕付きでレンダリング: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 は無料です。必要なのはアカウントのみで、サブスクリプションやクレジットは不要です。 いずれも同じ非同期パターンに従います。

  1. ファイルを用意します。ローカルファイルの場合は create_upload(filename, content_type) を呼び出し、返された upload_url にバイトデータを PUT して、返された id を file/video として使用します。 無料ツールでは complete_upload を呼び出さないでください。呼び出すと有料のクリッピングパイプラインが開始されます。無料ツールはアップロードされたファイルを直接読み取ります。(list_videos にすでにある動画も入力として使用できます。)
  2. ツールを呼び出します。status: "queued" の tool_job ハッシュ ID が返されます。
  3. get_tool_job_status(tool_job) を 5〜10 秒ごとにポーリングします。queued/processing は処理中、completed/failed は終了状態です。completed の場合は、永続的な CDN outputs URL(例: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-convertmp4、webm、mov、mkv、gif、mp3、aac、wav、flacいいえ
openclip-thumbnails動画からフレームを抽出し、画像を編集いいえ
openclip-remove-background背景が透明な PNG の切り抜きいいえ

npx skills add OpenClip-App/agent-skills を実行すると、いずれもインストールできます。

コメント