OpenAI GPT Image
Genera y edita imágenes usando las APIs de GPT-4o y DALL-E de OpenAI con control avanzado de indicaciones.
Documentación
openai-gpt-image-mcp
Un servidor de herramientas del Protocolo de Contexto del Modelo (MCP) para las APIs de generación y edición de imágenes GPT-4o/gpt-image-1 de OpenAI.
- Genera imágenes a partir de indicaciones de texto usando los modelos más recientes de OpenAI.
- Edita imágenes (inpainting, outpainting, composición) con control avanzado de indicaciones.
- Compatible con: Claude Desktop, Cursor, VSCode, Windsurf y cualquier cliente compatible con MCP.
✨ Características
- create-image: Genera imágenes a partir de una indicación, con opciones avanzadas (tamaño, calidad, fondo, etc.).
- edit-image: Edita o amplía imágenes usando una indicación y una máscara opcional, compatible con rutas de archivo y entrada base64.
- Salida de archivo: Guarda las imágenes generadas directamente en disco, o recíbelas como base64.
🚀 Instalación
git clone https://github.com/SureScaleAI/openai-gpt-image-mcp.git
cd openai-gpt-image-mcp
yarn install
yarn build
🔑 Configuración
Añade a la configuración de Claude Desktop o VSCode (incluyendo Cursor/Windsurf):
{
"mcpServers": {
"openai-gpt-image-mcp": {
"command": "node",
"args": ["/absolute/path/to/dist/index.js"],
"env": { "OPENAI_API_KEY": "sk-..." }
}
}
}
También es compatible con implementaciones de Azure:
{
"mcpServers": {
"openai-gpt-image-mcp": {
"command": "node",
"args": ["/absolute/path/to/dist/index.js"],
"env": {
"AZURE_OPENAI_API_KEY": "sk-...",
"AZURE_OPENAI_ENDPOINT": "my.endpoint.com",
"OPENAI_API_VERSION": "2024-12-01-preview"
}
}
}
}
También admite proporcionar archivos de entorno:
{
"mcpServers": {
"openai-gpt-image-mcp": {
"command": "node",
"args": ["/absolute/path/to/dist/index.js", "--env-file", "./deployment/.env"]
}
}
}
⚡ Avanzado
- Para
create-image, establecenpara generar hasta 10 imágenes a la vez. - Para
edit-image, proporciona una imagen de máscara (ruta de archivo o base64) para controlar dónde se aplican las ediciones. - Proporciona un archivo de entorno con
--env-file path/to/file/.env. - Consulta
src/index.tspara todas las opciones.
🧑💻 Desarrollo
- Código fuente TypeScript:
src/index.ts - Compilación:
yarn build - Ejecución:
node dist/index.js
📝 Licencia
MIT
🩺 Solución de problemas
- Asegúrate de que tu
OPENAI_API_KEYsea válida y tenga acceso a la API de imágenes. - Debes tener una organización de OpenAI verificada. Después de la verificación, puede tardar entre 15 y 20 minutos en activarse el acceso a la API de imágenes.
- Las rutas de archivo deben ser absolutas.
- Unix/macOS/Linux: Comenzando con
/(p. ej.,/path/to/image.png) - Windows: Letra de unidad seguida de
:(p. ej.,C:/path/to/image.pngoC:\path\to\image.png)
- Unix/macOS/Linux: Comenzando con
- Para la salida de archivos, asegúrate de que el directorio tenga permisos de escritura.
- Si ves errores sobre tipos de archivo, verifica las extensiones y formatos de tus imágenes.
⚠️ Limitaciones y manejo de archivos grandes
- Límite de carga útil de 1 MB: Los clientes MCP (incluido Claude Desktop) tienen un límite estricto de 1 MB para las respuestas de las herramientas. Las imágenes grandes (especialmente de alta resolución o múltiples imágenes) pueden superar fácilmente este límite si se devuelven como base64.
- Cambio automático a salida de archivo: Si el tamaño total de la imagen supera 1 MB, la herramienta guardará automáticamente las imágenes en disco y devolverá las rutas de archivo en lugar de base64. Esto garantiza la compatibilidad y evita errores como
result exceeds maximum length of 1048576. - Ubicación de archivo predeterminada: Si no especificas una ruta de
file_output, las imágenes se guardarán en/tmp(o en el directorio establecido por la variable de entornoMCP_HF_WORK_DIR) con un nombre de archivo único. - Variable de entorno:
MCP_HF_WORK_DIR: Establece esta variable para controlar dónde se guardan las imágenes grandes y las salidas de archivo. Ejemplo:export MCP_HF_WORK_DIR=/your/desired/dir
- Mejores prácticas: Para imágenes grandes o de producción, utiliza siempre la salida de archivo y asegúrate de que tu cliente esté configurado para manejar rutas de archivo.
📚 Referencias
🙏 Créditos
- Construido con @modelcontextprotocol/sdk
- Utiliza el SDK de Node.js de openai
- Creado por SureScale.ai
- Contribuciones de Axle Research and Technology