Media Generator MCP
Enables image and video generation from text, image editing, and text-to-video workflows using AI models via OpenRouter and fal.ai.
README
Media Generator MCP
Un server MCP (Model Context Protocol) per generare immagini e video utilizzando AI all'avanguardia.
Funzionalita
- Generazione Immagini: Crea immagini da descrizioni testuali usando Nano Banana Pro (Gemini 3 Pro Image Preview) via OpenRouter
- Editing Immagini: Modifica immagini esistenti con istruzioni in linguaggio naturale
- Animazione Video: Trasforma immagini statiche in video con Kling 2.6 Pro via fal.ai
- Workflow Completo: Genera video direttamente da testo (text → image → video)
Modelli Utilizzati
| Funzione | Provider | Modello |
|---|---|---|
| Generazione/Editing Immagini | OpenRouter | google/gemini-3-pro-image-preview (Nano Banana Pro) |
| Animazione Video | fal.ai | fal-ai/kling-video/v2.6/pro/image-to-video |
Requisiti
- Python 3.10+
- Account OpenRouter con API key
- Account fal.ai con API key
Installazione
1. Clona o scarica il progetto
cd /path/to/media-generator-mcp
2. Crea ambiente virtuale (consigliato)
python -m venv venv
source venv/bin/activate # Linux/macOS
# oppure
.\venv\Scripts\activate # Windows
3. Installa dipendenze
pip install -r requirements.txt
4. Configura le API keys
cp .env.example .env
# Modifica .env con le tue chiavi API
Oppure esporta le variabili d'ambiente:
export OPENROUTER_API_KEY="sk-or-v1-..."
export FAL_KEY="..."
Configurazione Claude Desktop
Aggiungi al tuo claude_desktop_config.json:
{
"mcpServers": {
"media-generator": {
"command": "python",
"args": ["/path/to/media-generator-mcp/server.py"],
"env": {
"OPENROUTER_API_KEY": "sk-or-v1-...",
"FAL_KEY": "..."
}
}
}
}
Con uv (alternativa)
{
"mcpServers": {
"media-generator": {
"command": "uv",
"args": [
"--directory", "/path/to/media-generator-mcp",
"run", "server.py"
],
"env": {
"OPENROUTER_API_KEY": "sk-or-v1-...",
"FAL_KEY": "..."
}
}
}
}
Tools Disponibili
1. image_generate - Genera Immagine da Testo
Crea un'immagine da una descrizione testuale dettagliata.
Parametri:
prompt(required): Descrizione dell'immagineaspect_ratio:1:1,16:9,9:16,4:3,21:9(default:1:1)image_size:1K,2K,4K(default:2K)style_prompt: Istruzioni di stile aggiuntive
Esempio:
Genera un'immagine di una citta futuristica al tramonto con grattacieli di vetro e macchine volanti
2. image_edit - Modifica Immagine
Modifica un'immagine esistente seguendo istruzioni testuali.
Parametri:
image_urloimage_base64(required): Immagine da modificareedit_instructions(required): Cosa modificareaspect_ratio,image_size: Come sopra
Esempio:
Modifica l'immagine cambiando il cielo in un tramonto drammatico con colori arancioni e viola
3. video_animate - Anima Immagine in Video
Trasforma un'immagine statica in un video animato.
Parametri:
image_url(required): URL dell'immagine da animareprompt(required): Descrizione del movimento desideratoduration:5o10secondi (default:5)generate_audio: Genera audio sincronizzato (default:true)negative_prompt: Cosa evitare
Esempio:
Anima questa immagine con un lento zoom della camera, nuvole che si muovono nel cielo
4. media_generate - Workflow Completo Text-to-Video
Genera un video completo partendo solo da testo.
Parametri:
prompt(required): Descrizione della scenaanimation_prompt: Istruzioni specifiche per l'animazioneduration:5o10secondigenerate_audio: Genera audioaspect_ratio,image_size,style_prompt
Esempio:
Crea un video di un gatto seduto su un davanzale che guarda la pioggia fuori dalla finestra.
Il gatto gira lentamente la testa e sbatte le palpebre.
Costi Stimati
| Operazione | Costo Approssimativo |
|---|---|
| Generazione immagine | ~$0.15 |
| Video 5s senza audio | ~$0.35 |
| Video 5s con audio | ~$0.70 |
| Video 10s senza audio | ~$0.70 |
| Video 10s con audio | ~$1.40 |
Output
Immagini
Le immagini vengono restituite in formato base64 PNG. Puoi salvarle decodificando il base64:
import base64
with open("image.png", "wb") as f:
f.write(base64.b64decode(image_base64))
Video
I video vengono restituiti come URL diretti al file MP4 (ospitati su fal.ai). Gli URL hanno una scadenza temporale.
Troubleshooting
Errore "OPENROUTER_API_KEY not found"
Assicurati di aver configurato la variabile d'ambiente o il file .env.
Errore "FAL_KEY not found"
Verifica la configurazione della chiave fal.ai.
Errore 401/403
Le API keys potrebbero essere invalide o non avere i permessi necessari.
Errore 402
Crediti insufficienti. Ricarica il tuo account OpenRouter o fal.ai.
Timeout durante generazione video
I video possono richiedere 30-120 secondi. Se il timeout persiste, prova:
- Ridurre la durata a 5 secondi
- Disabilitare l'audio
- Usare un'immagine piu semplice
Licenza
MIT License
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。