首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >OpenCode 接入 MiniMax Image MCP 图片生成教程

OpenCode 接入 MiniMax Image MCP 图片生成教程

作者头像
夜梦星尘
发布2026-07-31 09:08:09
发布2026-07-31 09:08:09
140
举报

1. 前言

OpenCode本体只支持本文输出,如果想要输出图片就需要配置本地MCP服务器。夜梦这里用MiniMax作演示(小伙伴们也可以使用其他支持多模态的AI)。

一句话省流:在 OpenCode 中接入 MiniMax image-01 图片生成模型,使 OpenCode 具备根据文本生成图片的能力。

最终效果:

  • 在 OpenCode 中输入图片需求
  • OpenCode 自动调用 MCP 工具
  • MCP 调用 MiniMax 图片 API
  • 生成图片并保存到当前项目目录
  • 支持自定义文件名
  • 支持失败自动重试

整体架构:

代码语言:javascript
复制
OpenCode
    |
    | MCP协议
    |
    ↓
MiniMax Image MCP Server
    |
    |
    ↓
MiniMax image-01 API
    |
    |
    ↓
生成 JPG 图片

2. 环境准备

在开始之前,需要确认 Python 已安装,打开 PowerShell:

代码语言:javascript
复制
python --version

如果没有版本信息,可以检查:

代码语言:javascript
复制
where python

正常情况:

代码语言:javascript
复制
F:\python\python.exe

如果没有显示,也可以不用管,只要自己知道python.exe安装在哪里就行,记住这个路径。比如夜梦的python路径就是F:\python\python.exe。

3. 创建 MCP目录 以及 代码文件

建议单独创建 MCP 项目,例如:

代码语言:javascript
复制
F:\OPENCODE_mcp

在这个目录下创建几个文件,如下结构:

代码语言:javascript
复制
F:\OPENCODE_mcp

├── .venv
│
├── minimax_image_mcp.py
│
├── .env
│
└── requirements.txt

然后配置 MiniMax API Key。创建:

代码语言:javascript
复制
.env

内容:

代码语言:javascript
复制
MINIMAX_API_KEY=你的MiniMax_API_Key

例如:

代码语言:javascript
复制
MINIMAX_API_KEY=sk-xxxxxxxx

KEY一定保密!

最后创建 MiniMax 图片 MCP 服务,也就是要用到的代码文件:

代码语言:javascript
复制
minimax_image_mcp.py

代码(直接复制进去):

代码语言:javascript
复制
import os
import base64
import time
import requests
 
from dotenv import load_dotenv
from mcp.server.fastmcp import FastMCP
 
 
load_dotenv()
 
 
mcp = FastMCP(
    "minimax-image"
)
 
 
@mcp.tool()
def generate_image( 
    prompt: str,
    filename: str="minimax_image",
    aspect_ratio: str="16:9",
    retry: int=3
 ):
 
    """
    MiniMax image-01图片生成工具
    """
 
    api_key=os.getenv(
        "MINIMAX_API_KEY"
    )
 
 
    if not api_key:
        return "错误:没有API Key"
 
 
    url="https://api.minimaxi.com/v1/image_generation"
 
 
    headers={
        "Authorization":
        f"Bearer {api_key}",
 
        "Content-Type":
        "application/json"
    }
 
 
    payload={
 
        "model":
        "image-01",
 
        "prompt":
        prompt,
 
        "aspect_ratio":
        aspect_ratio,
 
        "response_format":
        "base64"
    }
 
 
    last_error=None
 
 
    for attempt in range(
        1,
        retry+1
    ):
 
        try:
 
            response=requests.post(
                url,
                headers=headers,
                json=payload,
                timeout=120
            )
 
            response.raise_for_status()
 
            data=response.json()
 
 
            if not data.get("data"):
                raise Exception(
                    "API返回为空"
                )
 
 
            images=data["data"].get(
                "image_base64"
            )
 
 
            if not images:
                raise Exception(
                    "没有图片数据"
                )
 
 
            break
 
 
        except Exception as e:
 
            last_error=e
 
            time.sleep(
                attempt*3
            )
 
 
    else:
 
        return (
            "生成失败:"
            +str(last_error)
        )
 
 
    result=[]
 
 
    for i,img in enumerate(images):
 
        if len(images)==1:
 
            name=f"{filename}.jpg"
 
        else:
 
            name=f"{filename}_{i}.jpg"
 
 
        path=os.path.abspath(name)
 
 
        with open(
            path,
            "wb"
        ) as f:
 
            f.write(
                base64.b64decode(img)
            )
 
 
        result.append(path)
 
 
    return "\n".join(result)
 
 
 
if __name__=="__main__":
 
    mcp.run()

4. 创建 Python 虚拟环境

进入目录:

代码语言:javascript
复制
cd F:\OPENCODE_mcp

创建:

代码语言:javascript
复制
python -m venv .venv

如果where python没有显示,但自己知道python安装位置的,可以用如下命令(把path换成路径):

代码语言:javascript
复制
Path\python.exe -m venv .venv

激活虚拟环境:

PowerShell:

代码语言:javascript
复制
.\.venv\Scripts\Activate.ps1

成功后:

代码语言:javascript
复制
(.venv) PS F:\OPENCODE_mcp>

5. 安装 MCP 依赖

在虚拟环境中:

代码语言:javascript
复制
pip install mcp requests python-dotenv

需要注意MCP版本问题,不同版本 MCP API 有差异。如果出现:

代码语言:javascript
复制
ModuleNotFoundError:
No module named 'mcp.server.fastmcp'

检查:

代码语言:javascript
复制
pip show mcp

如果是:

代码语言:javascript
复制
Version: 2.x

建议:

代码语言:javascript
复制
pip uninstall mcp

重新安装:

代码语言:javascript
复制
pip install "mcp<2.0"

推荐:

代码语言:javascript
复制
mcp 1.x

6. 配置 OpenCode

找到 OpenCode 配置:

常见位置在:

代码语言:javascript
复制
C:\Users\用户名\.config\opencode\opencode.jsonc

或者:

代码语言:javascript
复制
项目目录\.opencode\opencode.jsonc

添加(里面应该是添加的自定义模型提供商以及模型信息):

代码语言:javascript
复制
{
  "$schema":"https://opencode.ai/config.json",

  "mcp":{
    "minimax-image":{
      "type":"local",

      "command":[

        "F:/OPENCODE_mcp/.venv/Scripts/python.exe",

        "F:/OPENCODE_mcp/minimax_image_mcp.py"

      ]
    }
  }
}

不要写只写python,必须指定具体的位置,比如:F:/OPENCODE_mcp/.venv/Scripts/python.exe

7. 使用

为了使配置生效,需要关闭 OpenCode,重新启动。进入后可以在右上角查看 MCP:

开启MCP服务:

生成图片直接输入想要的图片提示词等待即可。OpenCode会自动调用minimax-image_generate_image。完成后会自动保存在项目根目录下。

AI生图只是辅助,不可能替代真正的画师。 夜梦做这个主要是因为自己有一堆角色设定想快速看到“长什么样”,但是一个个约稿周期比较长,所以先用 AI 做一些形象参考,方便自己创作。 如果想要真正精美、有个人风格的作品,还是推荐大家去找喜欢的画师老师约稿!毕竟每位画师的创意和笔触,都是 AI 无法取代的~

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2026-7-30 2,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • 1. 前言
  • 2. 环境准备
  • 3. 创建 MCP目录 以及 代码文件
  • 4. 创建 Python 虚拟环境
  • 5. 安装 MCP 依赖
  • 6. 配置 OpenCode
  • 7. 使用
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档