Luma AI MCP Server

Gere e manipule vídeos e imagens de IA usando a API Dream Machine da Luma AI.

Documentação

Luma AI MCP Server 🎥

Um servidor Model Context Protocol para a API Dream Machine da Luma AI.

Visão Geral

Este servidor MCP integra-se à API Dream Machine (v1) da Luma AI para fornecer ferramentas de geração, gerenciamento e manipulação de vídeos e imagens gerados por IA por meio de Large Language Models. Ele implementa o Model Context Protocol (MCP) para permitir interação perfeita entre assistentes de IA e as ferramentas criativas da Luma.

Recursos ✨

  • Geração de texto para vídeo
  • Geração avançada de vídeo com keyframes
  • Conversão de imagem para vídeo
  • Extensão e interpolação de vídeo
  • Geração de imagens com imagens de referência
  • Adição de áudio a vídeos
  • Upscaling de vídeo
  • Gerenciamento de créditos
  • Acompanhamento de gerações e verificação de status

Ferramentas 🛠️

  1. ping

    • Verifica se a API da Luma está em execução
    • Nenhum parâmetro necessário
  2. create_generation

    • Cria uma nova geração de vídeo
    • Entrada:
      • prompt (string, obrigatório): Descrição em texto do vídeo a ser gerado
      • model (string, opcional): Modelo a ser usado (padrão: "ray-2")
        • Modelos disponíveis: "ray-1-6", "ray-2", "ray-flash-2"
      • resolution (string, opcional): Resolução do vídeo (opções: "540p", "720p", "1080p", "4k")
      • duration (string, opcional): Duração do vídeo (apenas "5s" e "9s" são suportados atualmente)
      • aspect_ratio (string, opcional): Proporção de aspecto do vídeo (ex.: "16:9", "1:1", "9:16", "4:3", "3:4", "21:9", "9:21")
      • loop (booleano, opcional): Se o vídeo deve ser em loop
      • keyframes (objeto, opcional): Quadros inicial e final para geração avançada de vídeo:
        • frame0 e/ou frame1 com um dos seguintes:
          • {"type": "image", "url": "image_url"} para keyframes de imagem
          • {"type": "generation", "id": "generation_id"} para keyframes de vídeo
  3. get_generation

    • Obtém o status de uma geração
    • Entrada:
      • generation_id (string, obrigatório): ID da geração a ser verificada
    • A saída inclui:
      • ID da geração
      • Estado (queued, dreaming, completed, failed)
      • Motivo da falha (se falhou)
      • URL do vídeo (se concluída)
  4. list_generations

    • Lista todas as gerações
    • Entrada:
      • limit (número, opcional): Número máximo de gerações a retornar (padrão: 10)
      • offset (número, opcional): Número de gerações a pular
  5. delete_generation

    • Exclui uma geração
    • Entrada:
      • generation_id (string, obrigatório): ID da geração a ser excluída
  6. upscale_generation

    • Aumenta a resolução de uma geração de vídeo
    • Entrada:
      • generation_id (string, obrigatório): ID da geração a ser ampliada
      • resolution (string, obrigatório): Resolução alvo para o vídeo ampliado (uma de "540p", "720p", "1080p" ou "4k")
    • Observação:
      • A geração deve estar no estado concluído para ser ampliada
      • A resolução alvo deve ser maior que a resolução da geração original
      • Cada geração só pode ser ampliada uma vez
  7. add_audio

    • Adiciona áudio gerado por IA a uma geração de vídeo
    • Entrada:
      • generation_id (obrigatório): O ID da geração à qual adicionar áudio
      • prompt (obrigatório): O prompt para a geração de áudio
      • negative_prompt (opcional): O prompt negativo para a geração de áudio
      • callback_url (opcional): URL para notificação quando o processamento de áudio for concluído
  8. generate_image

    • Gera uma imagem a partir de um prompt de texto com imagens de referência opcionais
    • Entrada:
      • prompt (string, obrigatório): Descrição em texto da imagem a ser gerada
      • model (string, opcional): Modelo a ser usado para geração de imagem (padrão: "photon-1")
        • Modelos disponíveis: "photon-1", "photon-flash-1"
      • aspect_ratio (string, opcional): Proporção de aspecto da imagem (mesmas opções do vídeo)
      • image_ref (array, opcional): Imagens de referência para orientar a geração
        • Cada referência: {"url": "image_url", "weight": optional_float}
      • style_ref (array, opcional): Imagens de referência de estilo
        • Cada referência: {"url": "image_url", "weight": optional_float}
      • character_ref (objeto, opcional): Imagens de referência de personagem
        • Formato: {"identity_name": {"images": ["url1", "url2", ...]}}
      • modify_image_ref (objeto, opcional): Imagem a modificar
        • Formato: {"url": "image_url", "weight": optional_float}
  9. get_credits

    • Obtém informações de crédito do usuário atual
    • Nenhum parâmetro necessário
    • Retorna o saldo de créditos disponível em centavos de USD
  10. get_camera_motions

    • Obtém todos os movimentos de câmera suportados
    • Nenhum parâmetro necessário
    • Retorna: Lista de strings de movimentos de câmera disponíveis

Configuração para Claude Desktop 🖥️

  1. Obtenha sua chave de API da Luma em Luma AI (cadastre-se ou faça login para obter sua chave de API)

  2. Adicione isto ao seu arquivo de configuração do Claude Desktop:

    • No macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • No Windows: %APPDATA%\Claude\claude_desktop_config.json
    {
      "mcpServers": {
        "luma": {
          "command": "uv",
          "args": [
            "run",
            "--project",
            "/path/to/your/luma-ai-mcp-server",
            "-m",
            "luma_ai_mcp_server"
          ],
          "env": {
            "LUMA_API_KEY": "your-luma-api-key-here"
          }
        }
      }
    }
    

    Substitua:

    • /path/to/your/luma-ai-mcp-server pelo caminho real do diretório do seu servidor
    • your-luma-api-key-here pela sua chave real da API da Luma
  3. Reinicie o Claude Desktop

  4. Pronto! Agora você pode usar as ferramentas da Luma AI diretamente nas conversas do Claude Desktop.

Solução Rápida de Problemas 🛠️

Se você estiver enfrentando problemas:

  1. Verifique se sua chave de API está correta
  2. Certifique-se de que o caminho para o servidor está correto
  3. Visualize os logs com: tail -n 20 -f ~/Library/Logs/Claude/mcp*.log

Tipos Avançados de Geração de Vídeo 🎬

A API da Luma suporta vários tipos de geração avançada de vídeo por meio de keyframes:

  1. Começando a partir de uma imagem: Forneça frame0 com type: "image" e uma URL de imagem
  2. Terminando com uma imagem: Forneça frame1 com type: "image" e uma URL de imagem
  3. Estendendo um vídeo: Forneça frame0 com type: "generation" e um ID de geração
  4. Estendendo um vídeo ao contrário: Forneça frame1 com type: "generation" e um ID de geração
  5. Interpolando entre vídeos: Forneça frame0 e frame1 com type: "generation" e IDs de geração

Limitações e Observações da API 📝

  • Duração: Atualmente, a API suporta apenas durações de "5s" ou "9s"
  • Resolução: Valores válidos são "540p", "720p", "1080p" e "4k"
  • Modelos:
    • Geração de vídeo:
      • "ray-2" (padrão) - Melhor qualidade, mais lento
      • "ray-flash-2" - Geração mais rápida
      • "ray-1-6" - Modelo legado
    • Geração de imagem:
      • "photon-1" (padrão) - Melhor qualidade, mais lento
      • "photon-flash-1" - Geração mais rápida
  • Tipos de geração: Vídeo, imagem e avançada (com keyframes)
  • Proporções de aspecto: "1:1" (quadrado), "16:9" (paisagem), "9:16" (retrato), "4:3" (padrão), "3:4" (retrato padrão), "21:9" (ultra panorâmico), "9:21" (retrato ultra panorâmico)
  • Estados: "queued", "dreaming", "completed", "failed"
  • Upscaling:
    • Gerações de vídeo só podem ser ampliadas quando estão no estado "complete"
    • A resolução alvo deve ser maior que a resolução da geração original
    • Cada geração só pode ser ampliada uma vez
  • Chave de API: Necessária nas variáveis de ambiente
  • Versão da API: Usa a Dream Machine API v1

Licença 📄

MIT