此MCP服务器提供了与RunwayML和Luma AI API交互的工具,用于视频和图像生成任务。
enhance_prompt工具)runwayml-mcp-server)中打开终端。npm install
.env文件: 在服务器根目录中创建一个名为.env的文件。.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
用实际的密钥替换占位符值。npm run build
npm start
您应该在终端的错误输出(stderr)中看到类似“RunwayML MCP服务器正在stdio上运行”的消息。配置您的MCP客户端以连接到此服务器。具体步骤取决于客户端,但您通常需要提供:
runway-luma-server)node/path/to/your/runwayml-mcp-server/build/server-index.js)RUNWAYML_API_SECRET:您的RunwayML API 密钥LUMAAI_API_KEY:您的Luma AI API 密钥OPENROUTER_API_KEY:您的OpenRouter API 密钥示例配置(概念性):
{
"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:768或768: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:768或768: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进度通知发送。)
这里有一些如何结合服务器工具以实现常见用途的例子:
目标: 创建一段5秒钟的赛博朋克黑色电影风格视频片段,对应歌词“霓虹河流流过铬城”。
步骤:
生成基础图像(Luma):
{
"tool_name": "luma_generate_image",
"arguments": {
"prompt": "俯瞰夜晚的黑暗雨夜赛博朋克城市街道。明亮的霓虹灯在湿漉漉的地面上反射,形成光河,在高耸的铬色摩天大楼之间流淌。具有黑色电影美学,逼真的照片效果。",
"aspect_ratio": "16:9"
}
}
(等待图像生成完成并获取图像URL)
动画化图像(Luma):
{
"tool_name": "generate_image_to_video",
"arguments": {
"provider": "lumaai",
"promptImage": "{IMAGE_URL_FROM_STEP_1}",
"promptText": "缓慢地从左向右平移,穿过雨夜中的赛博朋克城市景观,霓虹灯微妙地闪烁。",
"luma_aspect_ratio": "16:9",
"duration": 5
}
}
(等待视频生成完成)
目标: 创建一段5秒钟的视频,展示一款未来主义耳塞在极简环境中漂浮。
步骤:
生成带有产品参考的场景(Luma):
{
"tool_name": "luma_generate_image",
"arguments": {
"prompt": "单个光滑的未来无线耳塞在明亮的极简白色房间中心无重力地漂浮,周围是柔和的漫射环境光。零重力效果。",
"aspect_ratio": "1:1",
"image_ref": [{ "url": "{PRODUCT_IMAGE_URL}", "weight": 0.8 }]
}
}
(等待图像生成完成并获取图像URL)
动画化场景(Luma):
{
"tool_name": "generate_image_to_video",
"arguments": {
"provider": "lumaai",
"promptImage": "{IMAGE_URL_FROM_STEP_1}",
"promptText": "耳塞缓慢旋转并在零重力下轻轻漂移。",
"luma_aspect_ratio": "1:1",
"duration": 5
}
}
(等待视频生成完成)
目标: 使用RunwayML的Gen3a模型对现有图像进行动画处理。
步骤:
luma_generate_image。{
"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"
}
}
(等待视频生成完成)