Servidor MCP RunwayML + Luma AI
Este servidor MCP proporciona herramientas para interactuar con las API RunwayML y Luma AI para tareas de generación de videos e imágenes.
Características
Genere videos a partir de indicaciones de texto (RunwayML o Luma AI).
Generar vídeos a partir de imágenes (RunwayML o Luma AI).
Generar imágenes a partir de indicaciones de texto (Luma AI).
Administrar generaciones de Luma AI (enumerar, obtener, eliminar).
Añade audio a las generaciones de Luma AI.
Generaciones de IA de Luma de gama alta.
Mejore las indicaciones utilizando LLM de OpenRouter antes de su generación.
Prerrequisitos
Node.js (se recomienda v18 LTS o posterior)
npm (generalmente incluido con Node.js)
Claves API:
Secreto de la API de RunwayML
Clave API de Luma AI
Clave API de OpenRouter (para la herramienta
enhance_prompt)
Instalación
Clonar o descargar: Obtener el código del servidor.
Navegar al directorio: abra una terminal en el directorio raíz del servidor (
runwayml-mcp-server).Dependencias de instalación:
npm install
Configuración
Crear un archivo en el directorio raíz del servidor, cree un archivo llamado
.env.Agregar claves API: agregue sus claves API al archivo
.env:RUNWAYML_API_SECRET=your_runwayml_api_secret_here LUMAAI_API_KEY=your_luma_api_key_here OPENROUTER_API_KEY=your_openrouter_api_key_hereReemplace los valores de marcador de posición con sus claves reales.
Ejecución del servidor
Construya el servidor: compile el código TypeScript:
npm run buildIniciar el servidor:
npm startDebería ver un mensaje como
RunwayML MCP server running on stdioen la salida de error de su terminal (stderr).
Configuración del cliente MCP (por ejemplo, aplicación de escritorio Claude, Cline)
Configure su cliente MCP para conectarse a este servidor. Los pasos exactos dependen del cliente, pero normalmente necesitará proporcionar:
Nombre: Un nombre descriptivo (por ejemplo,
runway-luma-server)Comando:
nodeArgumentos: La ruta completa al archivo de índice del servidor compilado (por ejemplo,
/path/to/your/runwayml-mcp-server/build/server-index.js)Variables de entorno:
RUNWAYML_API_SECRET: Su secreto de API de RunwayMLLUMAAI_API_KEY: Su clave API de Luma AIOPENROUTER_API_KEY: Su clave API de OpenRouter
Ejemplo de configuración (conceptual):
(Recuerde reemplazar
Herramientas disponibles
generate_text_to_video: genera video a partir de texto.provider: (opcional)runwayml(predeterminado) olumaai.promptText: (Obligatorio) El texto del mensaje.runway_model: (opcional) Modelo de pista (por ejemplo, "gen-2").runway_resolution: (opcional) Resolución de pista (1280:768o768:1280).runway_watermark: (opcional) Booleano, predeterminadofalse.luma_model: (opcional) Modelo Luma (ray-flash-2,ray-2(predeterminado),ray-1-6).luma_aspect_ratio: (opcional) Relación de aspecto de Luma (por ejemplo,16:9(predeterminado),1:1).luma_loop: (opcional) Booleano.duration: (opcional) Duración del vídeo en segundos (número).seed: (Opcional) Semilla de generación (número).
generate_image_to_video: genera un vídeo a partir de una imagen.provider: (opcional)runwayml(predeterminado) olumaai.promptImage: (Obligatorio) URL de la imagen de entrada o, para Runway, una matriz[{uri: "url", position: "first" | "last"}].promptText: (opcional) Texto indicativo para acompañar la imagen.runway_model: (opcional) Modelo de pista (gen3a_turbo(predeterminado)).runway_duration: (opcional) Duración de la pista (5(predeterminado) o10).runway_ratio: (opcional) Resolución de pista (1280:768o768:1280).runway_watermark: (opcional) Booleano, predeterminadofalse.luma_model: (opcional) Modelo Luma (ray-flash-2,ray-2(predeterminado),ray-1-6).luma_aspect_ratio: (opcional) Relación de aspecto de Luma (por ejemplo,16:9(predeterminado)).luma_loop: (opcional) Booleano.seed: (Opcional) Semilla de generación (número).
enhance_prompt: refina un mensaje usando OpenRouter.original_prompt: (Obligatorio) El mensaje a mejorar.model: (opcional) nombre del modelo OpenRouter (por defecto, un modelo capaz comoanthropic/claude-3.5-sonnet).instructions: (Opcional) Instrucciones específicas para la mejora.
luma_generate_image: genera una imagen utilizando Luma AI.prompt: (obligatorio) mensaje de texto.aspect_ratio: (opcional) Relación de aspecto Luma (16:9(predeterminado)).model: (opcional) Modelo de imagen Luma (photon-1(predeterminado),photon-flash-1).image_ref: (Opcional) Matriz de objetos de referencia de imagen ({url: string, weight?: number}). Máximo 4.style_ref: (Opcional) Matriz de objetos de referencia de estilo ({url: string, weight?: number}). Máximo 1.character_ref: (Opcional) Objeto de referencia de personaje ({ identity0: { images: [url1, ...] } }).modify_image_ref: (Opcional) Modifica el objeto de referencia de la imagen ({url: string, weight?: number}).
luma_list_generations: enumera las generaciones anteriores de Luma AI.limit: (opcional) Número de resultados (predeterminado 10).offset: (opcional) Desplazamiento para paginación (predeterminado 0).
luma_get_generation: obtiene detalles para una generación específica de Luma AI.generation_id: (Obligatorio) UUID de la generación.
luma_delete_generation: elimina una generación específica de Luma AI.generation_id: (Obligatorio) UUID de la generación.
luma_get_camera_motions: Enumera los movimientos de cámara compatibles con las indicaciones de Luma AI. (Sin parámetros).luma_add_audio: agrega audio a una generación de Luma.generation_id: (Obligatorio) UUID de la generación.prompt: (Obligatorio) Aviso para el audio.negative_prompt: (opcional) Indicación negativa para audio.
luma_upscale: aumenta la escala de una generación de Luma.generation_id: (Obligatorio) UUID de la generación.resolution: (opcional) Resolución de destino (1080p(predeterminado) o4k).
(Nota: Para las herramientas que implican generación (
Flujos de trabajo de ejemplo
A continuación se muestran ejemplos de cómo combinar las herramientas del servidor para casos de uso comunes:
1. Fragmento de vídeo musical (Cyberpunk Noir)
Objetivo: crear un videoclip cyberpunk noir de 5 segundos para la letra "Ríos de neón que fluyen a través de una ciudad de cromo".
Pasos:
Generar imagen base (Luma):
{ "tool_name": "luma_generate_image", "arguments": { "prompt": "Overhead shot of a dark, rainy cyberpunk city street at night. Bright neon signs reflect on wet pavement, resembling rivers of light flowing between towering chrome skyscrapers. Film noir aesthetic, photorealistic.", "aspect_ratio": "16:9" } }(Espere a que se complete la generación de la imagen y obtenga la URL de la imagen)
Imagen animada (Luma):
{ "tool_name": "generate_image_to_video", "arguments": { "provider": "lumaai", "promptImage": "{IMAGE_URL_FROM_STEP_1}", "promptText": "Slow pan left across the rainy cyberpunk cityscape, neon lights flickering subtly.", "luma_aspect_ratio": "16:9", "duration": 5 } }(Espere a que se complete la generación del video)
2. Concepto de anuncio de producto (auricular flotante)
Objetivo: crear un vídeo de 5 segundos que muestre un auricular futurista flotando en un entorno minimalista.
Pasos:
Generar escena con referencia de producto (Luma):
{ "tool_name": "luma_generate_image", "arguments": { "prompt": "A single, sleek futuristic wireless earbud floats weightlessly in the center of a bright, minimalist white room with soft, diffused ambient light. Zero gravity effect.", "aspect_ratio": "1:1", "image_ref": [{ "url": "{PRODUCT_IMAGE_URL}", "weight": 0.8 }] } }(Espere a que se complete la generación de la imagen y obtenga la URL de la imagen)
Animar escena (Luma):
{ "tool_name": "generate_image_to_video", "arguments": { "provider": "lumaai", "promptImage": "{IMAGE_URL_FROM_STEP_1}", "promptText": "The earbud slowly rotates and drifts gently in zero gravity.", "luma_aspect_ratio": "1:1", "duration": 5 } }(Espere a que se complete la generación del video)
3. Animación de imágenes (RunwayML Gen3a)
Objetivo: animar una imagen existente utilizando el modelo Gen3a de RunwayML.
Pasos:
(Opcional) Generar imagen base (Luma): use
luma_generate_imagesi no tiene una imagen.Imagen animada (RunwayML):
{ "tool_name": "generate_image_to_video", "arguments": { "provider": "runwayml", "promptImage": "{YOUR_IMAGE_URL}", "promptText": "Subtle zoom in, cinematic lighting.", "runway_model": "gen3a_turbo", "runway_duration": "5", "runway_ratio": "1280:768" // Or "768:1280" } }(Espere a que se complete la generación del video)
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Proporciona herramientas para interactuar con las API de RunwayML y Luma AI para la generación de videos e imágenes, incluidos texto a video, imagen a video, mejora de indicaciones y administración de generaciones.
Related MCP Servers
- -security-license-qualityA server that provides Luma AI's video generation API as the Model Context Protocol (MCP)Last updated -3
- -security-license-qualityGives AI-powered coding tools like Cursor, Windsurf, and Cline access to Figma design files, enabling more accurate code generation directly from Figma designs.Last updated -63,839MIT License
- Asecurity-licenseAqualityCreate videos and images using Luma AI, this MCP server handles all API functionality for Luma Dream Machine from Claude Desktop.Last updated -103
- Asecurity-licenseAqualityEnables AI tools to interact with browsers for enhanced frontend development, providing context to LLMs through tools like API call analysis, screenshots, element selection, and documentation ingestion.Last updated -82410MIT License