mcpField
L
lumiclip

lumiclip

本地服务
github.com/lumiclip媒体与设计022 周前更新

关于 lumiclip

lumiclip 是一个 MCP 服务,可将 YouTube 视频转为供 AI 助手使用的短片。它会识别精彩片段、调整为竖屏画面、添加字幕并提供下载链接。

主要功能

  1. 01从 YouTube URL 生成短片
  2. 02按起止时间选择视频片段
  3. 03将短片调整为 9:16 竖屏
  4. 04添加字幕并按评分排序
  5. 05跟踪项目与短片状态

适用场景

  1. 01从长篇 YouTube 视频制作短片
  2. 02仅处理视频中的指定片段
  3. 03将完成的短片发送到 Webhook 工作流

MCP 相关

MCP 服务提供启动短片生成、检查项目进度、列出项目、获取短片详情和查看用量的工具。支持 stdio 和远程 Streamable HTTP 连接。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"lumiclip-lumiclip": {
"command": "npx",
"args": [
"-y",
"@lumiclip/mcp-server"
],
"env": {
"LUMICLIP_API_KEY": "<LUMICLIP_API_KEY>"
}
}
}
}
启动命令npx -y @lumiclip/mcp-server
需要配置的环境变量
LUMICLIP_API_KEY密钥Your Lumiclip API key from app.lumiclip.ai/developers

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@lumiclip/mcp-server3.0.0

工具

5

收录的工具列表 · 更新于 2 周前

参数类型必填说明
urlstring是完整的 YouTube 视频 URL(例如 https://www.youtube.com/watch?v=...)
end_timenumber否剪辑视频片段的结束时间(秒)。省略此参数可处理完整视频。
start_timenumber否剪辑视频片段的开始时间(秒)。省略此参数可处理完整视频。
callback_urlstring否处理完成时接收 POST 请求的 Webhook URL。负载包含按评分排序的片段数组,每个片段都包含 download_url。

详细介绍

@lumiclip/mcp-server

通过 Claude、Cursor 或任何支持 MCP 的 AI 助手,将长视频剪辑成短片段。

提供一个 YouTube 链接。它会找出最佳片段,调整画面以适配竖屏视频(9:16),添加字幕,并返回可直接下载的片段。

smithery badge Lumiclip MCP server

快速开始

  1. 在 app.lumiclip.ai/developers 获取 API 密钥
  2. 运行:
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

在 Cursor 中安装

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获取单个片段的完整详情。
check_usage查看套餐、剩余额度和使用情况。

工作原理

  1. 使用 YouTube URL 调用 generate_clips
  2. 立即获得 project_id
  3. 每隔 10–15 秒轮询 get_project_status(或传入 callback_url 以使用 webhook)
  4. 完成后,片段将按评分排序(最佳在前),每个片段都带有 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 视频开始生成片段。

字段类型必填描述
urlstring是完整的 YouTube 视频 URL
start_timenumber否开始时间,单位为秒(仅处理某个片段时使用)
end_timenumber否结束时间,单位为秒(仅处理某个片段时使用)
callback_urlstring否用于在完成后接收结果的 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_idstring是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
字段类型必填描述
limitnumber否返回项目的最大数量。默认值为 20,最大值为 100。
statusstring否筛选条件: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_idstring是项目片段数组中的片段 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 状态错误处理方法
400YouTube URL 无效检查 URL 格式
401未授权检查 API 密钥
402额度不足购买更多额度或使用较短的视频
429超出速率限制等待后重试
500服务器内部错误稍后重试

Webhook

调用 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 标头。使用 SHA-256(your_api_key) 作为签名密钥,对请求正文计算 HMAC-SHA256。将计算结果与标头值(sha256=<hex>)进行比较。

在 n8n 中使用

选项 A — Webhook(推荐):

  1. 创建一个带有 Webhook 触发器节点的工作流。复制其 URL。
  2. 添加一个 HTTP Request 节点:POST https://api.lumiclip.ai/api/v1/clips/generate,使用 Header Auth(Authorization: Bearer sk_live_...)并填写以下请求正文:
    {
      "url": "https://www.youtube.com/watch?v=...",
      "callback_url": "https://your-n8n.com/webhook/abc123"
    }
    
  3. 片段准备就绪后,Webhook 节点会收到载荷。
  4. 最佳片段:{{ $json.clips[0].download_url }}

选项 B — 轮询循环:

  1. 发送 POST 请求以生成片段(同上,但不包含 callback_url)。
  2. Wait 15 秒 → GET https://api.lumiclip.ai/api/v1/projects/{{ $json.project_id }} → 如果状态不是 completed,则循环返回 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

链接

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。