RunwayML + Luma AI MCP Server

RunwayML + Luma AI MCP Server

提供与 RunwayML 和 Luma AI API 交互的工具,用于视频和图像生成,包括文本到视频、图像到视频、提示增强和生成管理。

Category
访问服务器

README

RunwayML + Luma AI MCP 服务器

此 MCP 服务器提供与 RunwayML 和 Luma AI API 交互的工具,用于视频和图像生成任务。

功能

  • 从文本提示生成视频 (RunwayML 或 Luma AI)。
  • 从图像生成视频 (RunwayML 或 Luma AI)。
  • 从文本提示生成图像 (Luma AI)。
  • 管理 Luma AI 生成 (列表、获取、删除)。
  • 向 Luma AI 生成添加音频。
  • 放大 Luma AI 生成。
  • 在生成之前使用 OpenRouter LLM 增强提示。

前提条件

  • Node.js (推荐 v18 LTS 或更高版本)
  • npm (通常包含在 Node.js 中)
  • API 密钥:
    • RunwayML API Secret
    • Luma AI API Key
    • OpenRouter API Key (用于 enhance_prompt 工具)

安装

  1. 克隆或下载: 获取服务器代码。
  2. 导航到目录: 在服务器的根目录 (runwayml-mcp-server) 中打开一个终端。
  3. 安装依赖项:
    npm install
    

配置

  1. 创建 .env 文件: 在服务器的根目录中,创建一个名为 .env 的文件。
  2. 添加 API 密钥: 将您的 API 密钥添加到 .env 文件:
    RUNWAYML_API_SECRET=your_runwayml_api_secret_here
    LUMAAI_API_KEY=your_luma_api_key_here
    OPENROUTER_API_KEY=your_openrouter_api_key_here
    
    将占位符值替换为您的实际密钥。

运行服务器

  1. 构建服务器: 编译 TypeScript 代码:
    npm run build
    
  2. 启动服务器:
    npm start
    
    您应该在终端的错误输出 (stderr) 中看到类似 RunwayML MCP server running on stdio 的消息。

MCP 客户端设置 (例如,Claude Desktop App, Cline)

配置您的 MCP 客户端以连接到此服务器。 具体步骤取决于客户端,但您通常需要提供:

  • 名称: 一个描述性名称 (例如,runway-luma-server)
  • 命令: node
  • 参数: 编译后的服务器索引文件的完整路径 (例如,/path/to/your/runwayml-mcp-server/build/server-index.js)
  • 环境变量:
    • RUNWAYML_API_SECRET: 您的 RunwayML API Secret
    • LUMAAI_API_KEY: 您的 Luma AI API Key
    • OPENROUTER_API_KEY: 您的 OpenRouter API Key

示例配置 (概念):

{
  "mcpServers": {
    "runway-luma-server": {
      "command": "node",
      "args": ["/full/path/to/runwayml-mcp-server/build/server-index.js"],
      "env": {
        "RUNWAYML_API_SECRET": "your_runwayml_api_secret_here",
        "LUMAAI_API_KEY": "your_luma_api_key_here",
        "OPENROUTER_API_KEY": "your_openrouter_api_key_here"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

(请记住将 /full/path/to/ 替换为您系统上的实际路径)

可用工具

  • generate_text_to_video: 从文本生成视频。
    • provider: (可选) runwayml (默认) 或 lumaai.
    • promptText: (必需) 文本提示。
    • runway_model: (可选) Runway 模型 (例如,"gen-2")。
    • runway_resolution: (可选) Runway 分辨率 (1280:768768:1280)。
    • runway_watermark: (可选) 布尔值,默认为 false
    • luma_model: (可选) Luma 模型 (ray-flash-2, ray-2 (默认), ray-1-6)。
    • luma_aspect_ratio: (可选) Luma 宽高比 (例如,16:9 (默认), 1:1)。
    • luma_loop: (可选) 布尔值。
    • duration: (可选) 视频时长,以秒为单位 (数字)。
    • seed: (可选) 生成种子 (数字)。
  • generate_image_to_video: 从图像生成视频。
    • provider: (可选) runwayml (默认) 或 lumaai
    • promptImage: (必需) 输入图像的 URL,或者对于 Runway,一个数组 [{uri: "url", position: "first" | "last"}]
    • promptText: (可选) 伴随图像的文本提示。
    • runway_model: (可选) Runway 模型 (gen3a_turbo (默认))。
    • runway_duration: (可选) Runway 时长 (5 (默认) 或 10)。
    • runway_ratio: (可选) Runway 分辨率 (1280:768768:1280)。
    • runway_watermark: (可选) 布尔值,默认为 false
    • luma_model: (可选) Luma 模型 (ray-flash-2, ray-2 (默认), ray-1-6)。
    • luma_aspect_ratio: (可选) Luma 宽高比 (例如,16:9 (默认))。
    • luma_loop: (可选) 布尔值。
    • seed: (可选) 生成种子 (数字)。
  • enhance_prompt: 使用 OpenRouter 优化提示。
    • original_prompt: (必需) 要增强的提示。
    • model: (可选) OpenRouter 模型名称 (默认为像 anthropic/claude-3.5-sonnet 这样的强大模型)。
    • instructions: (可选) 用于增强的特定说明。
  • luma_generate_image: 使用 Luma AI 生成图像。
    • prompt: (必需) 文本提示。
    • aspect_ratio: (可选) Luma 宽高比 (16:9 (默认))。
    • model: (可选) Luma 图像模型 (photon-1 (默认), photon-flash-1)。
    • image_ref: (可选) 图像参考对象数组 ({url: string, weight?: number})。 最多 4 个。
    • style_ref: (可选) 样式参考对象数组 ({url: string, weight?: number})。 最多 1 个。
    • character_ref: (可选) 角色参考对象 ({ identity0: { images: [url1, ...] } })。
    • modify_image_ref: (可选) 修改图像参考对象 ({url: string, weight?: number})。
  • luma_list_generations: 列出以前的 Luma AI 生成。
    • limit: (可选) 结果数 (默认为 10)。
    • offset: (可选) 分页偏移量 (默认为 0)。
  • luma_get_generation: 获取特定 Luma AI 生成的详细信息。
    • generation_id: (必需) 生成的 UUID。
  • luma_delete_generation: 删除特定的 Luma AI 生成。
    • generation_id: (必需) 生成的 UUID。
  • luma_get_camera_motions: 列出 Luma AI 提示支持的相机运动。 (无参数)。
  • luma_add_audio: 向 Luma 生成添加音频。
    • generation_id: (必需) 生成的 UUID。
    • prompt: (必需) 音频提示。
    • negative_prompt: (可选) 音频的负面提示。
  • luma_upscale: 放大 Luma 生成。
    • generation_id: (必需) 生成的 UUID。
    • resolution: (可选) 目标分辨率 (1080p (默认) 或 4k)。

(注意: 对于涉及生成的工具 (generate_*, luma_upscale),服务器会启动任务并立即返回。 进度更新和最终结果 URL 将通过 MCP 进度通知发送。)

示例工作流程

以下是如何组合服务器工具以用于常见用例的示例:

1. 音乐视频片段 (赛博朋克黑色电影)

目标: 为歌词 "霓虹河流流淌在铬合金城市中" 创建一个 5 秒的赛博朋克黑色电影视频片段。

步骤:

  1. 生成基础图像 (Luma):

    {
      "tool_name": "luma_generate_image",
      "arguments": {
        "prompt": "夜晚黑暗、多雨的赛博朋克城市街道的俯视图。 明亮的霓虹灯标志反射在潮湿的路面上,类似于光之河流在耸立的铬合金摩天大楼之间流动。 黑色电影美学,照片写实。",
        "aspect_ratio": "16:9"
      }
    }
    

    (等待图像生成完成并获取图像 URL)

  2. 动画图像 (Luma):

    {
      "tool_name": "generate_image_to_video",
      "arguments": {
        "provider": "lumaai",
        "promptImage": "{IMAGE_URL_FROM_STEP_1}",
        "promptText": "缓慢向左平移穿过多雨的赛博朋克城市景观,霓虹灯微妙地闪烁。",
        "luma_aspect_ratio": "16:9",
        "duration": 5
      }
    }
    

    (等待视频生成完成)

2. 产品广告概念 (漂浮的耳塞)

目标: 创建一个 5 秒的视频,展示一个未来派的耳塞漂浮在极简主义环境中。

步骤:

  1. 生成带有产品参考的场景 (Luma):

    {
      "tool_name": "luma_generate_image",
      "arguments": {
        "prompt": "一个光滑的未来派无线耳塞在明亮、极简主义的白色房间的中心无重力地漂浮着,房间里有柔和、漫射的环境光。 零重力效果。",
        "aspect_ratio": "1:1",
        "image_ref": [{ "url": "{PRODUCT_IMAGE_URL}", "weight": 0.8 }]
      }
    }
    

    (等待图像生成完成并获取图像 URL)

  2. 动画场景 (Luma):

    {
      "tool_name": "generate_image_to_video",
      "arguments": {
        "provider": "lumaai",
        "promptImage": "{IMAGE_URL_FROM_STEP_1}",
        "promptText": "耳塞缓慢旋转并在零重力下轻轻漂移。",
        "luma_aspect_ratio": "1:1",
        "duration": 5
      }
    }
    

    (等待视频生成完成)

3. 图像动画 (RunwayML Gen3a)

目标: 使用 RunwayML 的 Gen3a 模型为现有图像制作动画。

步骤:

  1. (可选) 生成基础图像 (Luma): 如果您没有图像,请使用 luma_generate_image
  2. 动画图像 (RunwayML):
    {
      "tool_name": "generate_image_to_video",
      "arguments": {
        "provider": "runwayml",
        "promptImage": "{YOUR_IMAGE_URL}",
        "promptText": "微妙的放大,电影照明。",
        "runway_model": "gen3a_turbo",
        "runway_duration": "5",
        "runway_ratio": "1280:768" // 或 "768:1280"
      }
    }
    
    (等待视频生成完成)

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选