Back to Media

Luma AI Video Generation

Integrates with Luma AI's API to enable AI-driven video generation based on textual descriptions or parameters.

Last updated: 1/27/2026

README

<div align="center">
  <img src="assets/header2.svg" alt="Luma MCP Server" width="100%" />

# Luma MCP Server

Luma AIのビデオ生成APIをModel Context Protocol (MCP)として提供するサーバー

</div>

## 🌟 概要

Luma MCP Serverは、Luma AIのビデオ生成機能をMCPサーバーとして提供します。テキストや画像からビデオを生成したり、既存のビデオを拡張・補間したりする機能を提供します。

## 🏗️ プロジェクト構造

```
src/
├── types/          - 型定義
│   ├── schemas.ts  - 入力スキーマ
│   └── types.ts    - 共通型定義
├── services/       - ビジネスロジック
├── handlers/       - リクエストハンドラー
│   └── tool-handlers.ts
├── clients/        - 外部APIクライアント
│   └── luma-client.ts
├── utils/          - ユーティリティ
│   └── error-handler.ts
├── config/         - 設定
│   └── server-config.ts
└── index.ts        - エントリーポイント
```

## 📦 インストール

```bash
npm install @sunwood-ai-labs/luma-mcp-server
```

## ⚙️ 環境設定

1. Luma APIキーの取得
   - [Luma AI Developer Portal](https://lumalabs.ai/dream-machine/api/keys)からAPIキーを取得してください。

2. 環境変数の設定
   ```bash
   export LUMA_API_KEY=your_api_key_here
   ```

## 🛠️ 使用可能なツール

### generate_video
テキストプロンプトからビデオを生成します。

```typescript
{
  name: 'generate_video',
  arguments: {
    prompt: "A teddy bear in sunglasses playing electric guitar and dancing",
    loop: true,  // オプション
    callback_url: "https://your-callback-url.com"  // オプション
  }
}
```

### generate_video_from_image
画像を開始フレームとしてビデオを生成します。

```typescript
{
  name: 'generate_video_from_image',
  arguments: {
    prompt: "Low-angle shot of a majestic tiger prowling through a snowy landscape",
    image_url: "https://your-image-url.com/start-frame.jpg",
    loop: true,  // オプション
    callback_url: "https://your-callback-url.com"  // オプション
  }
}
```

### extend_video
既存のビデオを拡張します。

```typescript
{
  name: 'extend_video',
  arguments: {
    prompt: "Continue the dance sequence",
    source_generation_id: "existing-video-generation-id",
    loop: true,  // オプション
    callback_url: "https://your-callback-url.com"  // オプション
  }
}
```

### interpolate_videos
2つのビデオ間をスムーズに補間します。

```typescript
{
  name: 'interpolate_videos',
  arguments: {
    prompt: "Create a smooth transition between the videos",
    start_generation_id: "first-video-generation-id",
    end_generation_id: "second-video-generation-id",
    callback_url: "https://your-callback-url.com"  // オプション
  }
}
```

## 🔧 開発者向け情報

### アーキテクチャ

- **型定義 (`types/`)**: 
  - `schemas.ts`: Zodを使用した入力バリデーションスキーマ
  - `types.ts`: 共通の型定義とインターフェース

- **ハンドラー (`handlers/`)**: 
  - `tool-handlers.ts`: MCPツールのリクエスト処理

- **クライアント (`clients/`)**: 
  - `luma-client.ts`: Luma AI APIとの通信を担当

- **ユーティリティ (`utils/`)**: 
  - `error-handler.ts`: 統一的なエラー処理

- **設定 (`config/`)**: 
  - `server-config.ts`: サーバー設定の一元管理

### エラーハンドリング

- 統一的なエラー処理システム
- MCPエラーコードへの適切なマッピング
- 詳細なエラーメッセージとロギング

## 📝 注意事項

- プロンプトは英語で記述してください
- ビデオ生成には時間がかかる場合があります
- APIの利用制限に注意してください

## 🤝 コントリビューション

1. このリポジトリをフォーク
2. 新しいブランチを作成 (`git checkout -b feature/amazing-feature`)
3. 変更をコミット (`git commit -m '✨ feat: Add amazing feature'`)
4. ブランチをプッシュ (`git push origin feature/amazing-feature`)
5. プルリクエストを作成

## 📄 ライセンス

MIT License - 詳細は [LICENSE](LICENSE) ファイルを参照してください。

Installation

Add this MCP to your configuration:

{
  "mcpServers": {
    "luma-ai-video-generation": {
      // See GitHub repository for configuration
    }
  }
}

See the GitHub repository for full installation instructions.