lumiclip について
lumiclipは、YouTube動画をAIアシスタント向けの短いクリップに変換するMCPサーバーです。見どころを抽出し、縦型映像に調整して字幕を付け、ダウンロードリンクを提供します。
主な機能
- 01YouTube URLからクリップを生成
- 02開始・終了時刻で動画範囲を指定
- 03クリップを縦型9:16に調整
- 04字幕を追加しスコア順に表示
- 05プロジェクトとクリップの状態を追跡
活用シーン
- 01長いYouTube動画から短いクリップを作成
- 02動画の指定範囲だけを処理
- 03完成したクリップをWebhookワークフローに送信
MCP 対応
MCPサーバーは、クリップ生成の開始、進捗確認、プロジェクト一覧、クリップ詳細の取得、利用状況の確認を行うツールを提供します。stdioとリモートのStreamable HTTP接続に対応しています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
5掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| url | string | はい | YouTube 動画の完全な URL(例:https://www.youtube.com/watch?v=...) |
| end_time | number | いいえ | 動画の一部を切り抜く場合の終了時刻(秒)。省略すると動画全体を処理します。 |
| start_time | number | いいえ | 動画の一部を切り抜く場合の開始時刻(秒)。省略すると動画全体を処理します。 |
| callback_url | string | いいえ | 処理完了時に POST を受信する Webhook URL。ペイロードにはスコア順のクリップ配列が含まれ、各クリップには download_url が含まれます。 |
詳細
@lumiclip/mcp-server
Claude、Cursor、または MCP に対応する AI アシスタントから、長い動画をショートクリップに変換できます。
YouTube のリンクを渡すと、最適な場面を見つけ、縦型動画(9:16)向けに画面を調整し、字幕を追加して、ダウンロード可能なクリップを返します。
クイックスタート
- app.lumiclip.ai/developers で API キーを取得します
- 実行します:
LUMICLIP_API_KEY=sk_live_... npx @lumiclip/mcp-server
セットアップ
Claude Desktop / Cursor
設定ファイルに追加します。Claude では claude_desktop_config.json、Cursor では .cursor/mcp.json を使用します:
{
"mcpServers": {
"lumiclip": {
"command": "npx",
"args": ["@lumiclip/mcp-server"],
"env": {
"LUMICLIP_API_KEY": "sk_live_..."
}
}
}
}
Cursor Directory
Smithery
npx @smithery/cli mcp add lumiclip/lumiclip
リモート(Streamable HTTP)
n8n、カスタム連携、またはリモート MCP に対応するクライアントで使用できます:
- エンドポイント:
https://mcp.lumiclip.ai/mcp - 認証:
Authorization: Bearer sk_live_... - トランスポート: Streamable HTTP(POST)
ツール
| ツール | 機能 |
|---|---|
generate_clips | YouTube URL からクリップ生成を開始します。すぐに project_id を返します。 |
get_project_status | 進行状況を確認し、準備ができたクリップを取得します。クリップはスコア順(高い順)に並びます。 |
list_projects | プロジェクトをステータスとクリップ数とともに一覧表示します。 |
get_clip | 1 つのクリップの詳細を取得します。 |
check_usage | プラン、残りのクレジット、使用状況を確認します。 |
仕組み
- YouTube URL を指定して
generate_clipsを呼び出します - すぐに
project_idが返されます - 10〜15 秒ごとに
get_project_statusをポーリングします(またはcallback_urlを指定して Webhook を使用します) - 処理が完了すると、クリップはスコア順(高い順)に並び、それぞれに
download_urlが付与されます
ステータス
プロジェクト: pending → processing → completed(または completed_no_clips / failed)
処理ステップ: queued → DOWNLOADING_VIDEO → EXTRACTING_AUDIO → TRANSCRIBING → DETECTING_HIGHLIGHTS → CUTTING_CLIPS → EXPORTING_CLIPS → done
クリップ: pending → exporting → completed(または failed)。clip_status が completed になると、download_url を利用できます。
API リファレンス
generate_clips
YouTube 動画からクリップ生成を開始します。
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
url | string | はい | YouTube 動画の完全な URL |
start_time | number | いいえ | 開始時間(秒単位。指定した区間のみ処理します) |
end_time | number | いいえ | 終了時間(秒単位。指定した区間のみ処理します) |
callback_url | string | いいえ | 完了時に結果を受け取る Webhook URL |
{
"project_id": "43dbe622-8ac6-4579-9625-0ad7f0f9db0b",
"status": "processing",
"poll_url": "/api/v1/projects/43dbe622-8ac6-4579-9625-0ad7f0f9db0b",
"estimated_minutes": 5,
"message": "Processing started. Poll with get_project_status every 10-15 seconds until status is 'completed'."
}
get_project_status
進行状況を確認し、クリップを取得します。
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
project_id | string | はい | generate_clips が返したプロジェクト ID |
{
"id": "43dbe622-...",
"name": "Video Title",
"status": "completed",
"step": "done",
"error": null,
"expected_clips": 9,
"duration": 639,
"created_at": "2026-03-15T02:21:46.226Z",
"clips": [
{
"id": "32538b9c-...",
"title": "One Dating Theory Leads to Chaos",
"duration": 41.83,
"score": 90,
"reason": "Sharp universal joke that hooks instantly with strong reactions.",
"clip_status": "completed",
"download_url": "https://cdn.lumiclip.ai/exports/premium/.../clip-32538b9c-....mp4",
"quality": "1080p",
"thumbnail_url": "https://cdn.lumiclip.ai/exports/premium/.../clip-32538b9c-...-thumb.jpg",
"created_at": "2026-03-15T02:29:10.954Z",
"updated_at": "2026-03-15T02:30:43.907Z"
}
]
}
クリップは score の降順(高い順)に並びます。
list_projects
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
limit | number | いいえ | 返すプロジェクトの最大数。デフォルトは 20、最大は 100 です。 |
status | string | いいえ | フィルター:pending、processing、completed、completed_no_clips、failed |
{
"projects": [
{
"id": "43dbe622-...",
"name": "Video Title",
"status": "completed",
"step": "done",
"expected_clips": 9,
"clips_count": 8,
"duration": 639,
"created_at": "2026-03-15T02:21:46.226Z"
}
],
"total": 1,
"limit": 20,
"offset": 0
}
get_clip
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
clip_id | string | はい | プロジェクトのクリップ配列に含まれるクリップ ID |
{
"id": "32538b9c-...",
"project_id": "43dbe622-...",
"title": "One Dating Theory Leads to Chaos",
"duration": 41.83,
"score": 90,
"reason": "Sharp universal joke that hooks instantly.",
"export_status": "completed",
"export_quality": "1080p",
"is_exported": true,
"video_url": "https://cdn.lumiclip.ai/...",
"video_url_720p": "https://cdn.lumiclip.ai/...",
"video_url_1080p": "https://cdn.lumiclip.ai/...",
"thumbnail_url": "https://cdn.lumiclip.ai/...",
"created_at": "2026-03-15T02:29:10.954Z",
"updated_at": "2026-03-15T02:30:43.907Z"
}
check_usage
入力は不要です。
{
"plan": "pro",
"credits_remaining": 450,
"credits_total": 500,
"period_start": "2026-03-01T00:00:00.000Z",
"period_end": "2026-04-01T00:00:00.000Z"
}
エラー
| HTTP ステータス | エラー | 対処方法 |
|---|---|---|
| 400 | 無効な YouTube URL | URL の形式を確認してください |
| 401 | 認証されていません | API キーを確認してください |
| 402 | クレジット不足 | クレジットを追加購入するか、短い動画を使用してください |
| 429 | レート制限を超えました | 待ってから再試行してください |
| 500 | 内部サーバーエラー | 後でもう一度お試しください |
Webhooks
generate_clips の呼び出し時に callback_url を渡すと、すべてのクリップの準備が完了したときに POST を受信できます。
完了時:
{
"event": "project.completed",
"project_id": "43dbe622-...",
"status": "completed",
"source_url": "https://www.youtube.com/watch?v=H51iLa1leOU",
"clips": [
{
"id": "32538b9c-...",
"title": "One Dating Theory Leads to Chaos",
"duration": 41.83,
"score": 90,
"download_url": "https://cdn.lumiclip.ai/exports/premium/.../clip-32538b9c-....mp4",
"thumbnail_url": "https://cdn.lumiclip.ai/exports/premium/.../clip-32538b9c-...-thumb.jpg",
"quality": "1080p"
}
]
}
失敗時:
{
"event": "project.failed",
"project_id": "43dbe622-...",
"status": "failed",
"error": "YouTube video is unavailable",
"clips": []
}
クリップはスコアの高い順に並べ替えられます。サーバーから応答がない場合は、最大 3 回再試行します。
署名の検証(任意): 各コールバックには X-Lumiclip-Signature ヘッダーが含まれます。リクエスト本文の HMAC-SHA256 を、署名キーとして SHA-256(your_api_key) を使用して計算します。ヘッダーの値(sha256=<hex>)と比較します。
n8n での使用
オプション A — Webhook(推奨):
- Webhook トリガーノードを含むワークフローを作成します。その URL をコピーします。
- HTTP Request ノードを追加します。Header Auth(
Authorization: Bearer sk_live_...)と次の本文を使用して、POST https://api.lumiclip.ai/api/v1/clips/generateを実行します。{ "url": "https://www.youtube.com/watch?v=...", "callback_url": "https://your-n8n.com/webhook/abc123" } - クリップの準備が完了すると、Webhook ノードがペイロードを受信します。
- 最良のクリップ:
{{ $json.clips[0].download_url }}
オプション B — ポーリングループ:
- クリップを生成するために
POSTします(上記と同じですが、callback_urlは指定しません)。 - Wait で 15 秒待機 → GET
https://api.lumiclip.ai/api/v1/projects/{{ $json.project_id }}→ ステータスがcompletedでない場合は、IF から Wait に戻ります。
REST API
MCP を使用しない直接の HTTP 呼び出しの場合:
| メソッド | エンドポイント | 説明 |
|---|---|---|
POST | /api/v1/clips/generate | クリップ生成を開始 |
GET | /api/v1/projects/:id | プロジェクトのステータスとクリップを取得 |
GET | /api/v1/projects | プロジェクトの一覧を取得 |
GET | /api/v1/clips/:id | 単一のクリップの詳細を取得 |
GET | /api/v1/account/usage | クレジットとプランを確認 |
ベース URL:https://api.lumiclip.ai — すべてのエンドポイントで Authorization: Bearer sk_live_... が必要です。
環境変数
| 変数 | 必須 | デフォルト |
|---|---|---|
LUMICLIP_API_KEY | はい | — |
LUMICLIP_API_URL | いいえ | https://api.lumiclip.ai |
リンク
- ウェブサイト:lumiclip.ai
- API キー:app.lumiclip.ai/developers
- 料金:lumiclip.ai/pricing
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。