The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Lumiclip listing page.
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.
Add to your config file — claude_desktop_config.json for Claude, .cursor/mcp.json for Cursor:
For n8n, custom integrations, or any client that supports remote MCP:
https://mcp.lumiclip.ai/mcpAuthorization: Bearer sk_live_...| Tool | What it does |
|---|---|
generate_clips | Start clip generation from a YouTube URL. Returns a project_id right away. |
get_project_status | Check progress and get clips when ready. Clips are sorted by score (best first). |
list_projects | List your projects with status and clip counts. |
get_clip | Get full details for a single clip. |
check_usage | See your plan, remaining credits, and usage. |
generate_clips with a YouTube URLproject_id immediatelyget_project_status every 10–15 seconds (or pass a callback_url for webhook)download_urlProject: 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.
generate_clipsStart clip generation from a YouTube video.
| Field | Type | Required | Description |
|---|---|---|---|
url | string | Yes | Full YouTube video URL |
start_time | number | No | Start time in seconds (to process only a segment) |
end_time | number | No | End time in seconds (to process only a segment) |
callback_url | string | No | Webhook URL to receive results when done |
get_project_statusCheck progress and get clips.
| Field | Type | Required | Description |
|---|---|---|---|
project_id | string | Yes | The project ID from generate_clips |
Clips are sorted by score (highest first).
list_projects| Field | Type | Required | Description |
|---|---|---|---|
limit | number | No | Max projects to return. Default 20, max 100. |
status | string | No | Filter: pending, processing, completed, completed_no_clips, failed |
get_clip| Field | Type | Required | Description |
|---|---|---|---|
clip_id | string | Yes | The clip ID from a project's clips array |
check_usageNo input required.
| HTTP Status | Error | What to do |
|---|---|---|
| 400 | Invalid YouTube URL | Check the URL format |
| 401 | Unauthorized | Check your API key |
| 402 | Insufficient credits | Buy more credits or use a shorter video |
| 429 | Rate limit exceeded | Wait and try again |
| 500 | Internal server error | Try again later |
Pass a callback_url when calling generate_clips to receive a POST when all clips are ready.
Completed:
Failed:
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>).
Option A — Webhook (recommended):
POST https://api.lumiclip.ai/api/v1/clips/generate with Header Auth (Authorization: Bearer sk_live_...) and body:
{{ $json.clips[0].download_url }}Option B — Polling loop:
POST to generate clips (same as above, without callback_url).https://api.lumiclip.ai/api/v1/projects/{{ $json.project_id }} → IF status is not completed, loop back to Wait.For direct HTTP calls without MCP:
| Method | Endpoint | Description |
|---|---|---|
POST | /api/v1/clips/generate | Start clip generation |
GET | /api/v1/projects/:id | Get project status and clips |
GET | /api/v1/projects | List projects |
GET | /api/v1/clips/:id | Get single clip details |
GET | /api/v1/account/usage | Check credits and plan |
Base URL: https://api.lumiclip.ai — All endpoints require Authorization: Bearer sk_live_...
| Variable | Required | Default |
|---|---|---|
LUMICLIP_API_KEY | Yes | — |
LUMICLIP_API_URL | No | https://api.lumiclip.ai |
MIT