imagegen-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@imagegen-mcpMake a 16:9 watercolor illustration of a fox in snowy mountains"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
imagegen-mcp
把 chatgpt2api 的生图与改图能力接给 DSH。
DSH 自身没有生图工具,模型只能回「我没有生图能力」。这个 MCP server 把 chatgpt2api 的图片接口暴露成工具,并把图片落盘到本地。
能力
一次调用跑多个任务,进程内自动并发,不必为了并发派多个子 agent。
并发分两层:每次调用自己的 worker 池,整个进程还有一道在途闸门,两种用法效果一致。
任务带参考图就是图生图,不带就是文生图,自动路由,调用方不判断接口。
图片默认落到项目
output/,也可用output一个路径指到本机任意绝对目录,指哪落哪。绝不覆盖已有文件:并发同一秒完成也不会互相覆盖。
返回里带好可直接粘贴的 Markdown 图片引用,路径已转正斜杠,排版模板见
info工具。固定走 SSE:响应头立刻返回,生成耗时超过代理 100 秒也不会被掐。 但上传阶段不在此列,带多张大参考图的请求体仍可能被 Cloudflare 掐成 524。
Related MCP server: ImageForge MCP
安装
./install.ps1 -ApiKey sk-xxxx脚本自动探测 Node、DSH 主目录和 profile,拷贝文件、装依赖,并把 mcp-imagegen 配置块写进
<DSH_HOME>/profiles/<profile>/cordis.patch.yml。重启 DSH 后工具可用。
重复安装原地替换同一个配置块,不会重复追加。改写前自动备份到 cordis.patch.yml.bak(固定单份,
下次安装覆盖)。PowerShell 5.1 与 7 都支持。
常用参数:
参数 | 说明 |
| chatgpt2api 的用户密钥,不填则 YAML 里留占位符 |
| 默认 |
| 有多个 profile 时指定,缺省优先 |
| 默认 |
| 默认 |
| 自动探测失败时手动指定 node.exe |
| 覆盖默认输出根目录 |
| 跳过 npm install |
| 只拷文件,不写 DSH 配置 |
工具
create_images
一次调用跑一批任务。任务里给 images 就是图生图,不给就是文生图。
{
"jobs": [
{ "prompt": "白底三视图,橘黄兔子的左侧面、正面、右侧面", "ratio": "16:9", "output": "E:/图/兔子/三视图.png" },
{ "prompt": "把背景换成雪山日落,主体和构图不变", "images": ["D:/refs/rabbit.jpg"], "output": "E:/图/兔子/雪山.png" }
],
"concurrency": 3
}顶层参数是所有任务的默认值,任务级同名字段覆盖。
参数 | 说明 |
| 任务数组,最多 8 个,并发执行 |
| 只有一个任务时的顶层简写 |
| 写到哪,一个路径说清:带图片扩展名=文件,不带=文件夹,省略=默认目录自动命名 |
|
|
|
|
| 精确像素,用户点名像素时才用 |
| 每个任务出几张,1 到 4 |
|
|
| 图片模型,四个名字在上游是同一个 auto 路由 |
| 单次调用的并发,默认 3,上限 6 |
任务级字段:prompt images output n ratio resolution size quality model。
每个任务的 output 互相独立,同一批里各写各的目录与文件名。
n 大于 1 时自动派生 三视图-2.png、三视图-3.png。
info
查用法与当前配置:用法速查、上游连通性、可用模型、默认输出目录、各项上限。
参数不确定、想确认上游是否在线、想知道图片落在哪,先调这个。
返回格式
3/3 ok 59.3s concurrency=3 model=gpt-image-2.5
out D:/ProjectSomething/imagegen-mcp/output/live
# type status time size file
1 gen ok 57.1s 1254x1254 live/青柑橘.png
2 gen ok 51.5s 1254x1254 live/枫叶.png
3 gen ok 59.2s 1312x1199 live/贝壳.png表格后面依次是图片引用与绝对路径清单。
图片引用每张独立一行,路径已转成正斜杠。
排版不强制:想并排、想做成对比网格,按 info 工具返回的 display 段里的模板套即可。
一个容易忽略的点:方括号里写的是 alt,不是图注,图正常显示时它不会出现。 要配文字说明就另起一段写在图片外面。要可点链接去掉感叹号即可:
 直接出图
[文字](<路径>) 只出可点文字,点了打开图片输出目录
只有一个参数 output,用路径本身的形态区分「写到文件」还是「写到文件夹」:
写法 | 含义 | 结果 |
不写 | 默认目录 |
|
| 文件夹(相对输出根) |
|
| 文件夹(绝对) |
|
| 文件 | 就叫 |
要自己命名,就必须带图片后缀。 漏掉后缀不会报错,那个名字会被当成文件夹:
"兔子/三视图" → 文件夹 output/兔子/三视图/,图片在里面自动命名
"兔子/三视图.png" → 文件 output/兔子/三视图.png后缀只是「这是文件」的开关,不决定真实格式:写 .png 但上游回 JPEG,落盘仍是 .jpg。
判定规则,四条:
不写 → 默认根,自动命名
末尾是
/或\→ 一定是文件夹扩展名是
pngjpgjpegwebpgifbmp→ 是文件其它 → 是文件夹(
三视图、三视图.v2都落在这里)
判错时的代价有界:最坏是多出一个空文件夹,不会把你的文件夹变成一张图。
n 大于 1 时派生 三视图-2.png、三视图-3.png。output 逐任务生效,同一批各写各的。
相对路径按输出根解析(IMAGEGEN_OUTPUT_DIR,默认 <项目根>/output),爬出输出根会直接报错,不会静默写到别处。
output/ 已在 .gitignore 里。重名不会覆盖:同名已存在时自动加 -2 -3。
环境变量
变量 | 默认 | 说明 |
| 无 | 必需 |
|
| 指向公网隧道时要带 |
|
| 输出根目录 |
|
| 默认模型 |
|
| 我们这边放弃等待的时间,写错时回落默认值 |
|
| 网关类错误(502 503 504 524)的重试次数,0 表示不重试 |
|
| 整个进程同时在途的上游请求上限 |
哪些能调,哪些由服务端决定
我们这边能调
项 | 位置 | 说明 |
进程在途上限 |
| 默认 4。实测 12 路仍成功,12 不是边界,只是没继续往上测 |
单次调用并发 |
| 默认 3,上限 6 |
单次调用任务数 |
| 最多 8 |
每组张数 |
| 1 到 4 |
我们这边等多久 |
| 默认 600 秒 |
MCP 客户端等多久 | DSH 的 | 默认配 660 秒 |
网关类错误重试几次 |
| 默认 2,只对 502 503 504 524 生效;503 若带 |
输出路径与分类 |
| 带扩展名=文件,不带=文件夹,逐任务生效 |
服务端说了算
项 | 由什么决定 | 后果 |
真正能等多久 |
| 出厂 170 秒,本机调到 360 秒。超过返回 503,我们调自己的超时没用 |
2K / 4K 是否达标 |
| 关着就只给约 1254 的边长 |
实际分辨率 | 上游自己决定 | 请求 |
每组回几张 | 上游 | 有时多回一张候选,落盘会全部保留 |
是否回传原图 | 上游 | 偶尔把参考图原样当结果,返回里会告警 |
会不会 524 | 反向代理与上游负载 | 重活并发高时容易触发,代码会自动退避重试 |
图生图带多张大参考图时,请求体很大(三张 1.7MB 的图 base64 后约 7MB)。 这种任务并发降到 1 到 2 明显更稳。
关键:我们的超时比服务端大,所以实际生效的是服务端那个。
单张超过服务端 deadline 会先收到 503,调 IMAGEGEN_TIMEOUT_MS 不解决问题。
这种 503 带 task_interrupted,不会重试:同一份请求再发一次只会再撞同一条截止线,
重试两次能把一次调用拖到 30 分钟,而 MCP 客户端早就先超时了。
尺寸与比例
尺寸是通过提示词传给上游的,上游不严格遵守:实测请求 1024x1024 返回 1254x1254。
方形(
ratio为1:1或不传)按resolution下发像素。非方形不下发像素,改为把构图要求写进提示词,由上游出对应比例。
显式
size照传像素,非方形会变形,返回里会警告。
2K/4K 依赖服务端 image_upscale_enabled=true,且是 Lanczos 放大而不是重绘。
安全边界
图片只写到本地输出目录,不经过任何第三方。
上游地址与密钥由你自己在 DSH 配置里给,本仓库不含任何密钥。
参考图只接受图片扩展名,路径穿越会被拒绝。
已知限制
图生图单张 2 到 6 分钟,偶尔上游回传卡住并最终 504,重试即可。
上游偶尔会把参考图原样回传,返回里会标注「与参考图字节相同」,那张要丢弃。
单张参考图上限 30MB(服务端硬上限 50MB)。
模型名四个在上游都落到同一个 auto 路由,属别名。
quality作为请求体字段下发,上游实测无差异,四种档位出图没有可观察区别。
开发
npm ci
npm test # 离线测试,不联网、不需要密钥
npm run verify # lint + format 检查 + emoji 检查 + 测试维护者文档地图见 AGENTS.md。
License
This server cannot be deployed
Maintenance
Related MCP Connectors
LLM chat, text tools, image generation, editing, batch image jobs, and asynchronous video generation
Generate images with your own ChatGPT subscription (Plus, Pro or Team), without spending API credits
Generate images from Claude, ChatGPT, Cursor and Codex with 12 top AI image models and 10 tools: up to 4 images per call, SVG vectorization, editing and more. Remote MCP with OAuth, no API keys. Pay per image, no subscription.
AI image + video generation for agents: --flag prompt DSL, async generate/poll, x402 pay-per-use.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables image generation and editing using OpenAI's GPT Image API (gpt-image-1, 1.5, 2) with support for multi-image generation, history management, and batch processing.12298 npm1MIT
- AlicenseAqualityBmaintenanceEnables image generation and editing through OpenAI's gpt-image-2 model, supporting text-to-image, reference-guided generation, and editing with local files or URLs.2296 npm2MIT
- AlicenseAqualityCmaintenanceEnables generating and editing images through OpenAI image models, with configurable output as saved files or returned URLs.2MIT
- AlicenseNot gradedqualityBmaintenanceEnables local image generation through a ChatGPT web account, downloading original files with paths, sizes, and checksums while keeping responses compact. Supports batched requests and resumable recovery without embedding images in model context.MIT