Lumiclip

io.github.lumiclip由 GitHub 帳號 lumiclip 發布v3.0.0更新於 Oct 24, 2026

Turn YouTube videos into short-form clips from any AI assistant

已驗證STDIO僅桌面效率與工作流媒體與設計

概覽

AI 產生的概覽

讓 AI 助理把 YouTube 影片轉成附字幕的直式短影音片段,並回傳可直接下載的檔案。

可以做什麼
Lumiclip 收到 YouTube 連結後會立刻回傳專案 ID,開始產生片段。助理可透過工具輪詢專案狀態、列出歷史專案、查看單一片段詳情,以及查詢方案與剩餘額度。完成的片段依分數排序,附下載連結、9:16 直式裁切與字幕。也可傳入回呼網址,由 webhook 推送結果而不必輪詢。
適用情境
適合希望助理在對話中把長影片拆成短影音片段的情境,例如擷取精彩片段用於社群發布。也適合把片段產生當成其中一步的工作流程,例如 n8n 自動化或自訂整合。
執行需求
透過 npx @lumiclip/mcp-server 以 stdio 在本機執行,需要 Node.js。必須提供 Lumiclip API 金鑰,放在 LUMICLIP_API_KEY 環境變數中;可用 LUMICLIP_API_URL 覆寫 API 位址。需要連線至 Lumiclip API 與 YouTube 的網路。文件也提供給支援遠端 MCP 用戶端的 Streamable HTTP 端點。
安裝前請注意
LUMICLIP_API_KEY 是機密,會以明文出現在設定檔與 Authorization bearer 標頭中。產生片段會消耗付費額度,額度不足的錯誤代表需要購買更多。產生的片段與縮圖託管在 Lumiclip 的 CDN 上,來源 YouTube 連結會傳送到 Lumiclip 伺服器。Webhook 回呼可用基於該 API 金鑰計算的 X-Lumiclip-Signature 標頭進行簽章驗證。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Lumiclip,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

@lumiclip/mcp-server

Turn long videos into short clips — from Claude, Cursor, or any AI assistant that supports MCP.

Give it a YouTube link. It finds the best moments, reframes for vertical video (9:16), adds subtitles, and returns download-ready clips.

[smithery badge] [Lumiclip MCP server]

Quick Start

  1. Get an API key at app.lumiclip.ai/developers
  2. Run:
bash
LUMICLIP_API_KEY=sk_live_... npx @lumiclip/mcp-server

Setup

Claude Desktop / Cursor

Add to your config file — claude_desktop_config.json for Claude, .cursor/mcp.json for Cursor:

json
{  "mcpServers": {    "lumiclip": {      "command": "npx",      "args": ["@lumiclip/mcp-server"],      "env": {        "LUMICLIP_API_KEY": "sk_live_..."      }    }  }}

Cursor Directory

Install in Cursor

Smithery

bash
npx @smithery/cli mcp add lumiclip/lumiclip

Remote (Streamable HTTP)

For n8n, custom integrations, or any client that supports remote MCP:

  • Endpoint: https://mcp.lumiclip.ai/mcp
  • Auth: Authorization: Bearer sk_live_...
  • Transport: Streamable HTTP (POST)

Tools

ToolWhat it does
generate_clipsStart clip generation from a YouTube URL. Returns a project_id right away.
get_project_statusCheck progress and get clips when ready. Clips are sorted by score (best first).
list_projectsList your projects with status and clip counts.
get_clipGet full details for a single clip.
check_usageSee your plan, remaining credits, and usage.

How It Works

  1. Call generate_clips with a YouTube URL
  2. Get back a project_id immediately
  3. Poll get_project_status every 10–15 seconds (or pass a callback_url for webhook)
  4. When done, clips are sorted by score (best first), each with a download_url

Statuses

Project: pending → processing → completed (or completed_no_clips / failed)

Processing steps: queued → DOWNLOADING_VIDEO → EXTRACTING_AUDIO → TRANSCRIBING → DETECTING_HIGHLIGHTS → CUTTING_CLIPS → EXPORTING_CLIPS → done

Clips: pending → exporting → completed (or failed). The download_url is available when clip_status is completed.

API Reference

generate_clips

Start clip generation from a YouTube video.

FieldTypeRequiredDescription
urlstringYesFull YouTube video URL
start_timenumberNoStart time in seconds (to process only a segment)
end_timenumberNoEnd time in seconds (to process only a segment)
callback_urlstringNoWebhook URL to receive results when done
json
{  "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

Check progress and get clips.

FieldTypeRequiredDescription
project_idstringYesThe project ID from generate_clips
json
{  "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"    }  ]}

Clips are sorted by score (highest first).

list_projects

FieldTypeRequiredDescription
limitnumberNoMax projects to return. Default 20, max 100.
statusstringNoFilter: pending, processing, completed, completed_no_clips, failed
json
{  "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

FieldTypeRequiredDescription
clip_idstringYesThe clip ID from a project's clips array
json
{  "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

No input required.

json
{  "plan": "pro",  "credits_remaining": 450,  "credits_total": 500,  "period_start": "2026-03-01T00:00:00.000Z",  "period_end": "2026-04-01T00:00:00.000Z"}

Errors

HTTP StatusErrorWhat to do
400Invalid YouTube URLCheck the URL format
401UnauthorizedCheck your API key
402Insufficient creditsBuy more credits or use a shorter video
429Rate limit exceededWait and try again
500Internal server errorTry again later

Webhooks

Pass a callback_url when calling generate_clips to receive a POST when all clips are ready.

Completed:

json
{  "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"    }  ]}

Failed:

json
{  "event": "project.failed",  "project_id": "43dbe622-...",  "status": "failed",  "error": "YouTube video is unavailable",  "clips": []}

Clips are sorted by score (highest first). We retry up to 3 times if your server doesn't respond.

Signature verification (optional): Each callback includes an X-Lumiclip-Signature header. Compute HMAC-SHA256 of the request body using SHA-256(your_api_key) as the signing key. Compare with the header value (sha256=<hex>).

Using with n8n

Option A — Webhook (recommended):

  1. Create a workflow with a Webhook trigger node. Copy its URL.
  2. Add an HTTP Request node: POST https://api.lumiclip.ai/api/v1/clips/generate with Header Auth (Authorization: Bearer sk_live_...) and body:
    json
    {  "url": "https://www.youtube.com/watch?v=...",  "callback_url": "https://your-n8n.com/webhook/abc123"}
  3. When clips are ready, the Webhook node receives the payload.
  4. Best clip: {{ $json.clips[0].download_url }}

Option B — Polling loop:

  1. POST to generate clips (same as above, without callback_url).
  2. Wait 15 seconds → GET https://api.lumiclip.ai/api/v1/projects/{{ $json.project_id }} → IF status is not completed, loop back to Wait.

REST API

For direct HTTP calls without MCP:

MethodEndpointDescription
POST/api/v1/clips/generateStart clip generation
GET/api/v1/projects/:idGet project status and clips
GET/api/v1/projectsList projects
GET/api/v1/clips/:idGet single clip details
GET/api/v1/account/usageCheck credits and plan

Base URL: https://api.lumiclip.ai — All endpoints require Authorization: Bearer sk_live_...

Environment Variables

VariableRequiredDefault
LUMICLIP_API_KEYYes—
LUMICLIP_API_URLNohttps://api.lumiclip.ai

Links

License

MIT

來源:README.md,提交 8da27d8

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v3.0.0最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分