FAL Image/Video Server

内容与创意

by RamboRogers

使用 FAL AI 模型生成高质量图像和视频,并自动下载到本地;支持 public URL、data URL 或本地路径,便于集成到 MCP 客户端。

什么是 FAL Image/Video Server

使用 FAL AI 模型生成高质量图像和视频,并自动下载到本地;支持 public URL、data URL 或本地路径,便于集成到 MCP 客户端。

README

FAL Image/Video MCP Server 🎨🎬

High-performance MCP server for FAL AI image and video generation with automatic downloads

Version Platform Support License TypeScript MCP Compatible

Seamless bridge between FAL AI's powerful image and video generation capabilities and MCP-compatible clients like Claude. All generated content is automatically downloaded to your local machine while providing public URLs, data URLs, and local file paths.

Make Images Example of MCP

Make Videos Example of MCP

🚀 Claude Desktop Setup

Quick Setup

  1. Get your FAL API key from fal.ai
  2. Add to Claude Desktop configuration:
json
{
  "mcpServers": {
    "fal-image-video": {
      "command": "npx",
      "args": ["-y", "fal-image-video-mcp"],
      "env": {
        "FAL_KEY": "YOUR-FAL-AI-API-KEY"
      }
    }
  }
}

Configuration File Locations

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%/Claude/claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

Optimized for Claude Desktop

json
{
  "mcpServers": {
    "fal-image-video": {
      "command": "npx",
      "args": ["-y", "fal-image-video-mcp"],
      "env": {
        "FAL_KEY": "YOUR-FAL-AI-API-KEY",
        "DOWNLOAD_PATH": "/custom/download/path",
        "ENABLE_DATA_URLS": "true",
        "MAX_DATA_URL_SIZE": "1048576",
        "AUTOOPEN": "false"
      }
    }
  }
}

Environment Variables:

  • FAL_KEY (required): Your FAL AI API key
  • DOWNLOAD_PATH (optional): Custom download directory (defaults to ~/Downloads)
  • ENABLE_DATA_URLS (optional): Enable/disable data URLs (default: false, optimized for Claude Desktop)
  • MAX_DATA_URL_SIZE (optional): Max file size for data URLs in bytes (default: 2MB)
  • AUTOOPEN (optional): Automatically open generated files with default application (default: true, cross-platform)

Getting Your FAL API Key

  1. Visit fal.ai and create an account
  2. Navigate to your API keys section
  3. Generate a new API key
  4. Replace YOUR-FAL-AI-API-KEY with your actual key
  5. Restart Claude Desktop

📥 Automatic Downloads

All generated content is automatically saved to your local machine!

Default Behavior:

  • Images: Downloaded as .jpg files
  • Videos: Downloaded as .mp4 files
  • Location: ~/Downloads folder (or custom DOWNLOAD_PATH)
  • Naming: fal_{model}_{timestamp}_{index}.{ext}

🎯 Claude Desktop Optimized Response:

json
{
  "images": [
    {
      "url": "https://fal-storage.../image.jpg",
      "localPath": "/Users/you/Downloads/fal_imagen4_2025-01-06T12-30-45-123Z.jpg",
      "width": 1024,
      "height": 1024
    }
  ],
  "download_path": "/Users/you/Downloads",
  "data_url_settings": {
    "enabled": false,
    "max_size_mb": 2,
    "note": "Data URLs disabled by default for Claude Desktop optimization"
  },
  "autoopen_settings": {
    "enabled": true,
    "note": "Files automatically opened with default application"
  }
}

Why this works better for Claude Desktop:

  • Local file paths allow Claude to directly access downloaded images
  • No large data URLs that overwhelm the context
  • Auto-open files instantly display generated content in default applications
  • Public URLs available for sharing if needed
  • Size limits prevent context overflow

✨ Features

CategoryFeatures
🎨 Image Generation8 curated models including Imagen 4, FLUX Kontext Pro, Ideogram V3
🎬 Video Generation7 text-to-video models including Veo 3, Kling 2.1 Master, Pixverse V4.5
🔄 Image-to-Video6 image-to-video models for animating static images
📥 Auto DownloadsAll content automatically saved locally with custom path support
🔗 Triple URL SupportPublic URLs, Data URLs, and Local file paths
🚀 Universal ExecutionRun any FAL model beyond the curated registry
🌐 Multi-Transportstdio (Claude Desktop) + HTTP/SSE (Smithery/Web)
🔐 Lazy AuthenticationDiscover tools without API key, authenticate on use
PerformanceTypeScript implementation, async operations, error handling

🚀 Version History

Version 1.0.0

  • ✅ Initial release with FAL AI integration
  • ✅ Image generation with Flux models
  • ✅ Video generation with Minimax
  • ✅ Data URL conversion for MCP compatibility
  • ✅ TypeScript support
  • ✅ NPX deployment ready

Coming Soon

  • 🔜 Additional FAL models
  • 🔜 Batch processing
  • 🔜 Enhanced error handling
  • 🔜 Performance optimizations

🏗️ Technical Architecture

ComponentTechnologyPurpose
BackendTypeScript + Node.jsCore server implementation
AI Client@fal-ai/clientFAL API integration
MCP SDK@modelcontextprotocol/sdkMCP protocol compliance
Transportstdio / HTTP + SSEMulti-transport communication
Build SystemTypeScript CompilerProduction builds
Deploymentnpm / Docker / SmitheryMultiple deployment options

📖 Usage

Available Tools

🎨 Image Generation Models (8 Available)

The server dynamically loads the latest available models from FAL AI. Current models include:

imagen4 - Imagen 4

Google's latest text-to-image model with superior quality.

json
{
  "tool": "imagen4",
  "arguments": {
    "prompt": "A photorealistic mountain landscape at golden hour",
    "image_size": "landscape_16_9"
  }
}

flux_kontext - FLUX Kontext Pro

State-of-the-art prompt adherence and typography generation.

json
{
  "tool": "flux_kontext",
  "arguments": {
    "prompt": "Modern logo design with the text 'AI Studio'",
    "num_inference_steps": 25
  }
}

ideogram_v3 - Ideogram V3

Advanced typography and realistic outputs.

json
{
  "tool": "ideogram_v3",
  "arguments": {
    "prompt": "Vintage poster with text 'Retro Café'",
    "negative_prompt": "blurry, low quality"
  }
}

recraft_v3 - Recraft V3

Professional design and illustration capabilities.

json
{
  "tool": "recraft_v3",
  "arguments": {
    "prompt": "Minimalist icon design for a mobile app",
    "image_size": "square_hd"
  }
}

Other Available Models:

  • stable_diffusion_35 - Stable Diffusion 3.5 Large
  • flux_dev - FLUX Dev (High-quality 12B parameter model)
  • hidream - HiDream I1 (High-resolution generation)
  • janus - Janus (Multimodal understanding)

🎬 Image-to-Video Models (6 Available)

kling_master_image - Kling 2.1 Master I2V

Premium image-to-video conversion with motion fluidity.

json
{
  "tool": "kling_master_image",
  "arguments": {
    "image_url": "https://example.com/landscape.jpg",
    "prompt": "Gentle wind blowing through the trees",
    "duration": 5
  }
}

pixverse_image - Pixverse V4.5 I2V

Advanced image-to-video with high quality output.

json
{
  "tool": "pixverse_image",
  "arguments": {
    "image_url": "https://example.com/portrait.jpg",
    "prompt": "Person looking around and smiling",
    "aspect_ratio": "16:9"
  }
}

wan_pro_image - Wan Pro I2V

Professional image animation with effects.

json
{
  "tool": "wan_pro_image",
  "arguments": {
    "image_url": "https://example.com/scene.jpg",
    "prompt": "Camera slowly panning across the scene"
  }
}

Other Available Models:

  • hunyuan_image - Hunyuan I2V (Open-source)
  • vidu_image - Vidu I2V (High-quality animation)
  • luma_ray2_image - Luma Ray 2 I2V (Latest Luma)

📹 Text-to-Video Models (7 Available)

veo3 - Veo 3

Google DeepMind's latest with speech and audio capabilities.

json
{
  "tool": "veo3",
  "arguments": {
    "prompt": "A serene mountain lake with gentle ripples at sunrise",
    "duration": 10,
    "aspect_ratio": "16:9"
  }
}

kling_master_text - Kling 2.1 Master

Premium text-to-video with motion fluidity and cinematic quality.

json
{
  "tool": "kling_master_text",
  "arguments": {
    "prompt": "A cat playing with a ball of yarn in slow motion",
    "duration": 6,
    "aspect_ratio": "16:9"
  }
}

pixverse_text - Pixverse V4.5

Advanced text-to-video generation with precise control.

json
{
  "tool": "pixverse_text",
  "arguments": {
    "prompt": "Ocean waves crashing on a rocky shore at sunset",
    "duration": 8
  }
}

luma_ray2 - Luma Ray 2

Latest Luma Dream Machine with enhanced capabilities.

json
{
  "tool": "luma_ray2",
  "arguments": {
    "prompt": "A field of flowers swaying in the breeze",
    "aspect_ratio": "16:9"
  }
}

Other Available Models:

  • magi - Magi (Creative video generation)
  • wan_pro_text - Wan Pro (Professional video effects)
  • vidu_text - Vidu Q1 (High-quality text-to-video)

🔄 Image-to-Video Workflow

Yes! You can absolutely pass generated images back to Claude and use them for video generation. Here's how:

  1. Generate an image using any image model:
json
{
  "tool": "imagen4",
  "arguments": {
    "prompt": "A majestic mountain landscape at sunset"
  }
}
  1. Use the returned image URL in any image-to-video model:
json
{
  "tool": "kling_master_image",
  "arguments": {
    "image_url": "<URL_FROM_PREVIOUS_GENERATION>",
    "prompt": "Gentle clouds moving across the sky",
    "duration": 5
  }
}

🔧 Advanced Model System

This MCP server features comprehensive model access:

📋 Model Discovery

Use list_available_models to see all models in the registry:

json
{
  "tool": "list_available_models",
  "arguments": {
    "category": "imageGeneration"
  }
}

🚀 Universal Model Execution

Use execute_custom_model to run ANY FAL endpoint beyond our registry:

json
{
  "tool": "execute_custom_model",
  "arguments": {
    "endpoint": "fal-ai/custom-model-name",
    "input_params": {
      "prompt": "Your custom prompt",
      "custom_param": "value"
    },
    "category_hint": "image"
  }
}

✨ Smart Features:

  • 21 curated models from actual FAL AI platform
  • Universal execution for any FAL endpoint
  • Automatic downloading to ~/Downloads (configurable)
  • Triple URL support (public + data + local file URLs)
  • Automatic categorization by type
  • Dynamic tool generation for each model
  • Model-specific parameter handling

🎯 No Limitations:

  • Want to use a model not in our registry? Use execute_custom_model
  • Need to see all available models? Use list_available_models
  • Want both curated experience AND full flexibility? You got it!

The MCP server provides both public URLs and data URLs for maximum compatibility with Claude and other clients.

Response Format

Both tools return structured JSON with:

  • Public URL: Direct link to the generated content
  • Data URL: Base64-encoded data URL for direct embedding
  • Metadata: Generation parameters and dimensions
  • Claude-compatible format: Ready for immediate use in conversations

Example Response:

json
{
  "model": "fal-ai/flux/schnell",
  "prompt": "A majestic dragon...",
  "images": [
    {
      "url": "https://storage.googleapis.com/fal-flux-storage/...",
      "dataUrl": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQ...",
      "width": 1024,
      "height": 768
    }
  ],
  "metadata": {
    "image_size": "landscape_4_3",
    "num_inference_steps": 4,
    "guidance_scale": 3.5
  }
}

🔧 Alternative Installation Methods

🌐 HTTP Server Mode (Standalone Testing)

Start HTTP server for testing or integration:

bash
# Start on auto-detected port (default: 3000)
npx -y fal-image-video-mcp --http

# Or specify port via environment
PORT=8080 npx -y fal-image-video-mcp --http

# With custom transport flag
MCP_TRANSPORT=http npx -y fal-image-video-mcp

HTTP Endpoints:

  • GET /health - Server health check
  • GET /mcp - SSE endpoint for MCP communication
  • POST /mcp - JSON-RPC message handling

Test the server:

bash
# Health check
curl http://localhost:3000/health

# List available tools
curl -X POST http://localhost:3000/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/list", "params": {}}'

🎯 Authentication in HTTP Mode

Lazy Loading Support:

  • ✅ Server starts without FAL_KEY (for tool discovery)
  • ✅ API key validated only when tools are invoked
  • ✅ Clear error messages for missing authentication

Set your FAL_KEY:

bash
# Via environment variable
FAL_KEY=your-api-key npx fal-image-video-mcp --http

# Or configure in your deployment platform
export FAL_KEY=your-api-key
npx fal-image-video-mcp --http

Production deployment example:

dockerfile
# Dockerfile
FROM node:18-slim
ENV FAL_KEY=your-api-key
ENV PORT=3000
RUN npx -y fal-image-video-mcp --http
EXPOSE 3000

📱 NPX (One-time use)

bash
# Stdio mode (Claude Desktop)
npx -y fal-image-video-mcp

# HTTP mode (Testing/Smithery)
npx -y fal-image-video-mcp --http

🔧 Global Installation

bash
npm install -g fal-image-video-mcp

# Run in different modes
fal-image-video-mcp              # Stdio mode
fal-image-video-mcp --http       # HTTP mode

💻 From Source

bash
git clone https://github.com/RamboRogers/fal-image-video-mcp.git
cd fal-image-video-mcp
npm install
npm run build

# Choose your transport
npm start                    # Stdio mode
npm start -- --http         # HTTP mode

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

GPLv3 License


🌐 Connect

GitHub Website Email

Created by Matthew Rogers - Bringing AI creativity to MCP clients everywhere! 🚀

常见问题

FAL Image/Video Server 是什么?

使用 FAL AI 模型生成高质量图像和视频,并自动下载到本地;支持 public URL、data URL 或本地路径,便于集成到 MCP 客户端。

相关 Skills

平面设计

by anthropics

Universal
热门

先生成视觉哲学,再落地成原创海报、艺术画面或其他静态设计,输出 .png/.pdf,强调构图、色彩与空间表达,适合需要高完成度视觉成品的场景。

做海报、插画或静态视觉稿时,用它能快速产出兼顾美感与版式的PNG/PDF成品,原创设计更省心,也更适合规避版权风险。

内容与创意
未扫描175.1k

文档共著

by anthropics

Universal
热门

围绕文档、提案、技术规格、决策记录等写作任务,按上下文收集、结构迭代、读者测试三步协作共创,减少信息遗漏,写出更清晰、经得起他人阅读的内容。

写文档、方案或技术规格时容易思路散、信息漏,它用结构化共著流程帮你高效传递上下文、反复打磨内容,还能从读者视角做验证。

内容与创意
未扫描175.1k

内部沟通

by anthropics

Universal
热门

按公司常用模板和语气快速起草内部沟通内容,覆盖 3P 更新、状态报告、领导汇报、项目进展、事故复盘、FAQ 与 newsletter,适合需要统一格式的团队沟通场景。

按公司偏好的模板快速产出状态汇报、领导更新和 FAQ,既省去反复改稿,也让内部沟通更统一、更专业。

内容与创意
未扫描175.1k

相关 MCP Server

免费的加密新闻聚合 MCP,汇集 Bitcoin、Ethereum、DeFi、Solana 与 altcoins 资讯源。

内容与创意
300

用于Adobe Photoshop自动化的MCP server,让AI assistants直接控制Photoshop。

内容与创意
267

by roomi-fields

热门

Automate Google NotebookLM — Q&A with citations, audio, video, content generation

内容与创意
170

评论