openclip-thumbnails について
openclip-thumbnailsは、動画からフレームを抽出し、画像を編集するスキルです。サムネイル作成や画像調整に向けた無料ツールで、フレーム抽出のほか、圧縮、リサイズ、切り抜き、形式変換に対応します。
主な機能
- 01動画から複数フレームを抽出
- 02出力フレームの幅を指定
- 03画像を圧縮
- 04画像をリサイズ
- 05比率または座標で切り抜き
- 06画像形式を変換
活用シーン
- 01動画からサムネイル候補を作成
- 02確認用に複数フレームを抽出
- 03画像を正方形のWebPに切り抜き
- 04大きなPNGファイルを圧縮
MCP 対応
OpenClipのリモートMCPサーバーを使い、フレーム抽出、画像編集、非同期ジョブの状態確認を行います。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ openclip-app/ agent-skills --skill openclip-thumbnailsインストール後、Claude Code で/openclip-thumbnailsを入力して読み込まれたか確認します。
詳細
OpenClip:サムネイルと画像編集
通常は一緒に使う、無料のツールが2つあります。
extract_thumbnails- 動画からフレームを抽出します。edit_image- 画像を圧縮、サイズ変更、トリミング、または形式変換します。
どちらも無料です。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: Settings、Connectors、「Add custom connector」の順に開き、URL を貼り付けてサインインします。
- Cursor(
.cursor/mcp.json):{ "mcpServers": { "openclip": { "url": "https://openclip.app/mcp" } } } - ヘッダーのみのクライアント:
openclip.app/settings/connectで MCP トークンを発行し、Authorization: Bearer <token>を付けてhttps://openclip.app/mcp/keyに接続します。
動作確認:get_account を呼び出します。
ファイルの取り込み
create_upload(filename, content_type)はidとupload_urlを返します。- 生のバイトデータを
upload_urlに PUT します。 - 返された
idを、video(サムネイル)またはfile(画像編集)引数に渡します。
complete_upload は呼び出さないでください。 有料のクリッピングパイプラインが開始されます。無料ツールは
アップロードされたファイルを直接読み込みます。list_videos にすでにある動画も入力として使えます。
extract_thumbnails
extract_thumbnails(video, count?, width?)。
count- 1~10。デフォルトは1です。フレームは動画全体にわたって抽出されるため、count: 5にすると 選択用の大まかなコンタクトシートが得られます。width- 出力フレームの幅をピクセル単位で指定する省略可能な値です。
出力はフレームの zip ファイルであり、個別の画像 URL ではありません。zip の URL をユーザーに渡すか、 特定のフレームが必要な場合は解凍してください。
均等に分散したフレームではなく、正確な時点のフレームが必要な場合は、まず edit_video(operation="trim"、
openclip-video-editing を参照)でその時点に動画をトリミングし、その後、トリミングしたクリップからサムネイルを1つ
抽出します。
edit_image
edit_image(file, operation, ...params)。1回の呼び出しにつき操作は1つです。
- compress -
qualityは1~100(デフォルトは80)。format(jpg、png、webp)も省略可能です。 - resize - 幅と高さをピクセル単位で指定します。
formatも省略可能です。 - crop -
aspect("1:1"、"9:16"、"16:9"、"4:5")または明示的なx、y、width、heightを指定します。formatも省略可能です。
画像を Web ページで使う場合は webp を、あらゆる環境で使える必要がある場合は jpg を使用します。
ポーリング
どちらのツールも status: "queued" の tool_job hashid を返します。5~10秒ごとに
get_tool_job_status(tool_job) をポーリングします。
queued/processing- 処理中です。ポーリングを続けてください。completed- 永続的な CDNoutputsURL とresult_metaを返します。failed-errorを返します。
ルール
- 必ずポーリングしてください。どちらのツールも非同期です。
edit_imageは1回の呼び出しにつき1つの操作を行います。サイズ変更後に圧縮するには、順番に2回呼び出してください。extract_thumbnailsは必ず zip を返します。個別のフレーム URL をユーザーに約束しないでください。- 出力 URL は永続的な CDN リンクであり、署名付きでも期限付きでもありません。
- 無料利用には、1日あたりのレート制限とファイルごとのサイズ上限があります。
プロンプトからアクションへの例
- 「この動画からサムネイルを取得して」-
create_upload、バイトデータを PUT、extract_thumbnails(video)、ポーリングし、zip URL を返します。 - 「選べるように5フレームください」-
extract_thumbnails(video, count=5)を実行し、ポーリングします。 - 「1:30のフレームが欲しい」-
edit_video(video, operation="trim", start_ms=90000, end_ms=91000)を実行し、 ポーリングした後、その出力に対してextract_thumbnailsを実行し、ポーリングします。 - 「この画像を正方形の webp にして」-
edit_image(file, operation="crop", aspect="1:1", format="webp")を実行し、ポーリングします。 - 「この PNG は大きすぎるので、小さくして」-
edit_image(file, operation="compress", quality=75, format="webp")を実行し、ポーリングします。
関連項目
被写体を切り抜いて透過 PNG にするには openclip-remove-background を使います。動画のトリミングとクロップには
openclip-video-editing を使います。