
OpenCode本体只支持本文输出,如果想要输出图片就需要配置本地MCP服务器。夜梦这里用MiniMax作演示(小伙伴们也可以使用其他支持多模态的AI)。
一句话省流:在 OpenCode 中接入 MiniMax image-01 图片生成模型,使 OpenCode 具备根据文本生成图片的能力。
最终效果:
整体架构:
OpenCode
|
| MCP协议
|
↓
MiniMax Image MCP Server
|
|
↓
MiniMax image-01 API
|
|
↓
生成 JPG 图片在开始之前,需要确认 Python 已安装,打开 PowerShell:
python --version如果没有版本信息,可以检查:
where python正常情况:
F:\python\python.exe如果没有显示,也可以不用管,只要自己知道python.exe安装在哪里就行,记住这个路径。比如夜梦的python路径就是F:\python\python.exe。
建议单独创建 MCP 项目,例如:
F:\OPENCODE_mcp在这个目录下创建几个文件,如下结构:
F:\OPENCODE_mcp
├── .venv
│
├── minimax_image_mcp.py
│
├── .env
│
└── requirements.txt
然后配置 MiniMax API Key。创建:
.env内容:
MINIMAX_API_KEY=你的MiniMax_API_Key例如:
MINIMAX_API_KEY=sk-xxxxxxxxKEY一定保密!

最后创建 MiniMax 图片 MCP 服务,也就是要用到的代码文件:
minimax_image_mcp.py代码(直接复制进去):
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()进入目录:
cd F:\OPENCODE_mcp创建:
python -m venv .venv如果where python没有显示,但自己知道python安装位置的,可以用如下命令(把path换成路径):
Path\python.exe -m venv .venv激活虚拟环境:
PowerShell:
.\.venv\Scripts\Activate.ps1成功后:
(.venv) PS F:\OPENCODE_mcp>在虚拟环境中:
pip install mcp requests python-dotenv需要注意MCP版本问题,不同版本 MCP API 有差异。如果出现:
ModuleNotFoundError:
No module named 'mcp.server.fastmcp'检查:
pip show mcp如果是:
Version: 2.x建议:
pip uninstall mcp重新安装:
pip install "mcp<2.0"推荐:
mcp 1.x
找到 OpenCode 配置:
常见位置在:
C:\Users\用户名\.config\opencode\opencode.jsonc或者:
项目目录\.opencode\opencode.jsonc
添加(里面应该是添加的自定义模型提供商以及模型信息):
{
"$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
为了使配置生效,需要关闭 OpenCode,重新启动。进入后可以在右上角查看 MCP:

开启MCP服务:

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

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